BIE |
/home/weinberg/src/BIE/include/GaussTestLikelihoodFunctionMulti.h00001 // This is -*- C++ -*- 00002 00003 #ifndef GaussTestLikelihoodFunctionMulti_h 00004 #define GaussTestLikelihoodFunctionMulti_h 00005 00006 #include "Serializable.h" 00007 00008 00009 #include "LikelihoodFunction.h" 00010 00011 namespace BIE { 00012 00013 //+ CLICLASS GaussTestLikelihoodFunctionMulti SUPER LikelihoodFunction 00029 class GaussTestLikelihoodFunctionMulti : public LikelihoodFunction 00030 { 00031 00032 private: 00033 00034 deque < vector<double> > fdata; 00035 deque <int> nbins; 00036 deque <double> dx; 00037 vector <double> pdata; 00038 vector <int> cdata; 00039 00040 double xmin, xmax; 00041 unsigned nmix; 00042 int dim; 00043 int ptwo; 00044 int N; 00045 int levels; 00046 bool point; 00047 00048 vector <double> centers, variance, weights; 00049 00050 public: 00051 00052 //+ CLICONSTR 00054 GaussTestLikelihoodFunctionMulti(); 00055 00056 //+ CLICONSTR int int int 00061 GaussTestLikelihoodFunctionMulti(int Ptwo, int N0, int Levels); 00062 00063 //+ CLICONSTR int int int clivectord* clivectord* clivectord* 00071 GaussTestLikelihoodFunctionMulti(int Ptwo, int N0, int Levels, 00072 vector<double>* cen0, 00073 vector<double>* var0, 00074 vector<double>* wgt0); 00075 00076 //+ CLICONSTR int int 00081 GaussTestLikelihoodFunctionMulti(int N0, int Levels); 00082 00083 //+ CLICONSTR int int clivectord* clivectord* clivectord* 00091 GaussTestLikelihoodFunctionMulti(int N0, int Levels, 00092 vector<double>* cen0, 00093 vector<double>* var0, 00094 vector<double>* wgt0); 00095 00096 //+ CLIMETHOD void SetLevels int 00098 void SetLevels(int n); 00099 00100 //+ CLIMETHOD void SetDim int 00102 void SetDim(int n); 00103 00104 //+ CLIMETHOD void PrintData 00106 void PrintData(); 00107 00109 double LikeProb(std::vector<double> &z, SampleDistribution* sd, 00110 double norm, Tile *t, State *s, int indx) 00111 { return LocalLikelihood(s); } 00112 00114 string ParameterDescription(int i); 00115 00116 protected: 00117 00119 void makeSyntheticData(); 00120 00122 void makeSyntheticPointData(); 00123 00125 void makeArrays(); 00126 00128 double LocalLikelihood(State* s); 00129 00130 // AUTO GENERATED BY ../persistence/autopersist.py 00131 private: 00132 friend class boost::serialization::access; 00133 template<class Archive> 00134 void serialize(Archive & ar, const unsigned int version) { 00135 this->pre_serialize(ar, version); 00136 try { 00137 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(LikelihoodFunction); 00138 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00139 } 00140 try { 00141 ar & BOOST_SERIALIZATION_NVP(fdata); 00142 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00143 } 00144 try { 00145 ar & BOOST_SERIALIZATION_NVP(nbins); 00146 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00147 } 00148 try { 00149 ar & BOOST_SERIALIZATION_NVP(dx); 00150 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00151 } 00152 try { 00153 ar & BOOST_SERIALIZATION_NVP(pdata); 00154 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00155 } 00156 try { 00157 ar & BOOST_SERIALIZATION_NVP(cdata); 00158 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00159 } 00160 try { 00161 ar & BOOST_SERIALIZATION_NVP(xmin); 00162 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00163 } 00164 try { 00165 ar & BOOST_SERIALIZATION_NVP(xmax); 00166 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00167 } 00168 try { 00169 ar & BOOST_SERIALIZATION_NVP(nmix); 00170 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00171 } 00172 try { 00173 ar & BOOST_SERIALIZATION_NVP(dim); 00174 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00175 } 00176 try { 00177 ar & BOOST_SERIALIZATION_NVP(ptwo); 00178 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00179 } 00180 try { 00181 ar & BOOST_SERIALIZATION_NVP(N); 00182 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00183 } 00184 try { 00185 ar & BOOST_SERIALIZATION_NVP(levels); 00186 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00187 } 00188 try { 00189 ar & BOOST_SERIALIZATION_NVP(point); 00190 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00191 } 00192 try { 00193 ar & BOOST_SERIALIZATION_NVP(centers); 00194 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00195 } 00196 try { 00197 ar & BOOST_SERIALIZATION_NVP(variance); 00198 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00199 } 00200 try { 00201 ar & BOOST_SERIALIZATION_NVP(weights); 00202 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00203 } 00204 this->post_serialize(ar, version); 00205 } 00206 00207 }; 00208 00209 } // namespace BIE 00210 00211 BIE_CLASS_TYPE_INFO(BIE::GaussTestLikelihoodFunctionMulti) 00212 BIE_CLASS_EXPORT_KEY(BIE::GaussTestLikelihoodFunctionMulti) 00213 #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
|