BIE |
/home/weinberg/src/BIE/include/SimpleStat.h00001 // This is really -*- C++ -*- 00002 00003 00004 #ifndef SimpleStat_h 00005 #define SimpleStat_h 00006 00007 #include "BIEconfig.h" 00008 #include "Distribution.h" 00009 00010 #include "Serializable.h" 00011 00012 00013 namespace BIE { 00014 00015 //+ CLICLASS SimpleStat SUPER SampleDistribution 00020 class SimpleStat : public SampleDistribution { 00021 00022 public: 00023 //+ CLICONSTR int 00025 SimpleStat(int n); 00026 ~SimpleStat(); 00027 00028 bool AccumData(double, vector<double>&); 00029 00031 bool AccumulateData(double v, RecordBuffer* datapoint) { 00032 cerr << "Not implemented for a SimpleStat . . \n"; 00033 return false; 00034 } 00035 00036 double PDF(State&); 00037 double logPDF(State&); 00038 double CDF(State&); 00039 00040 vector<double> lower(); 00041 vector<double> upper(); 00042 00043 vector<double> Mean(); 00044 vector<double> StdDev(); 00045 vector<double> Moments(int n); 00046 00047 vector<double> Sample(); 00048 00049 SimpleStat* New() { 00050 return new SimpleStat(dimen); 00051 } 00052 00053 private: 00054 int dimen; 00055 int num; 00056 vector<double> mom1; 00057 vector<double> mom2; 00058 vector<double> mean; 00059 vector<double> var; 00060 vector<double> ret; 00061 Normal * normal; 00062 bool computed; 00063 00064 void ComputeDistribution(); 00065 00066 // AUTO GENERATED BY ../persistence/autopersist.py 00067 protected: 00068 SimpleStat() {} 00069 private: 00070 friend class boost::serialization::access; 00071 template<class Archive> 00072 void serialize(Archive & ar, const unsigned int version) { 00073 this->pre_serialize(ar, version); 00074 try { 00075 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(SampleDistribution); 00076 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00077 } 00078 try { 00079 ar & BOOST_SERIALIZATION_NVP(dimen); 00080 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00081 } 00082 try { 00083 ar & BOOST_SERIALIZATION_NVP(num); 00084 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00085 } 00086 try { 00087 ar & BOOST_SERIALIZATION_NVP(mom1); 00088 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00089 } 00090 try { 00091 ar & BOOST_SERIALIZATION_NVP(mom2); 00092 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00093 } 00094 try { 00095 ar & BOOST_SERIALIZATION_NVP(mean); 00096 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00097 } 00098 try { 00099 ar & BOOST_SERIALIZATION_NVP(var); 00100 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00101 } 00102 try { 00103 ar & BOOST_SERIALIZATION_NVP(ret); 00104 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00105 } 00106 try { 00107 ar & BOOST_SERIALIZATION_NVP(normal); 00108 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00109 } 00110 try { 00111 ar & BOOST_SERIALIZATION_NVP(computed); 00112 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00113 } 00114 this->post_serialize(ar, version); 00115 } 00116 00117 }; 00118 00119 } // namespace BIE 00120 BIE_CLASS_TYPE_INFO(BIE::SimpleStat) 00121 BIE_CLASS_EXPORT_KEY(BIE::SimpleStat) 00122 #endif Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:10 2010 by
|