BIE |
/home/weinberg/src/BIE/include/GaussTest2D.h00001 // This is -*- C++ -*- 00002 00003 #ifndef GaussTest2D_h 00004 #define GaussTest2D_h 00005 00006 #include "Serializable.h" 00007 00008 00009 #include "LikelihoodFunction.h" 00010 00011 namespace BIE { 00012 00013 //+ CLICLASS GaussTest2D SUPER LikelihoodFunction 00043 class GaussTest2D : public LikelihoodFunction 00044 { 00045 00046 private: 00047 00048 vector < vector<unsigned> > fdata; 00049 vector < vector<unsigned> > ldata; 00050 00051 unsigned ncomp, dim, mdim, N; 00052 unsigned nbins, nbins1; 00053 unsigned levels, total; 00054 int llevel; 00055 00056 vector<double> weights, var2, angles; 00057 vector< vector<double> > centers, variance; 00058 bool fixed2; 00059 00060 unsigned lastl; 00061 00062 void compute_level(); 00063 00064 public: 00065 00066 //+ CLICONSTR 00068 GaussTest2D(); 00069 00070 //+ CLICONSTR int int int 00075 GaussTest2D(int N0, int Nbins, int Levels); 00076 00077 //+ CLICONSTR int int int clivectord* clivectord* 00085 GaussTest2D(int N0, int Nbins, int Levels, 00086 vector<double>* cen0, vector<double>* var0); 00087 00088 //+ CLICONSTR int int int clivectord* clivectord* clivectord* 00098 GaussTest2D(int N0, int Nbins, int Levels, vector<double>* wght, 00099 vector<double>* cen0, vector<double>* var0); 00100 00101 //+ CLICONSTR int int int clivectord* clivectord* clivectord* clivectord* 00112 GaussTest2D(int N0, int Nbins, int Levels, vector<double>* wght, 00113 vector<double>* cen0, vector<double>* var0, 00114 vector<double>* phi0); 00115 00116 //+ CLIMETHOD void SetDim int 00118 void SetDim(int n); 00119 00120 //+ CLIMETHOD void SetFix2 clivectord* 00125 void SetFix2(vector<double>* var2); 00126 00127 //+ CLIMETHOD void PrintData 00129 void PrintData(); 00130 00132 double LikeProb(std::vector<double> &z, SampleDistribution* sd, 00133 double norm, Tile *t, State *s, int indx) 00134 { return LocalLikelihood(s); } 00135 00137 string ParameterDescription(int i); 00138 00139 protected: 00140 00142 void makeSyntheticData(); 00143 00145 double LocalLikelihood(State* s); 00146 00147 // AUTO GENERATED BY ../persistence/autopersist.py 00148 private: 00149 friend class boost::serialization::access; 00150 template<class Archive> 00151 void serialize(Archive & ar, const unsigned int version) { 00152 this->pre_serialize(ar, version); 00153 try { 00154 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(LikelihoodFunction); 00155 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00156 } 00157 try { 00158 ar & BOOST_SERIALIZATION_NVP(fdata); 00159 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00160 } 00161 try { 00162 ar & BOOST_SERIALIZATION_NVP(ldata); 00163 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00164 } 00165 try { 00166 ar & BOOST_SERIALIZATION_NVP(ncomp); 00167 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00168 } 00169 try { 00170 ar & BOOST_SERIALIZATION_NVP(dim); 00171 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00172 } 00173 try { 00174 ar & BOOST_SERIALIZATION_NVP(mdim); 00175 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00176 } 00177 try { 00178 ar & BOOST_SERIALIZATION_NVP(N); 00179 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00180 } 00181 try { 00182 ar & BOOST_SERIALIZATION_NVP(nbins); 00183 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00184 } 00185 try { 00186 ar & BOOST_SERIALIZATION_NVP(nbins1); 00187 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00188 } 00189 try { 00190 ar & BOOST_SERIALIZATION_NVP(levels); 00191 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00192 } 00193 try { 00194 ar & BOOST_SERIALIZATION_NVP(total); 00195 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00196 } 00197 try { 00198 ar & BOOST_SERIALIZATION_NVP(llevel); 00199 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00200 } 00201 try { 00202 ar & BOOST_SERIALIZATION_NVP(weights); 00203 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00204 } 00205 try { 00206 ar & BOOST_SERIALIZATION_NVP(var2); 00207 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00208 } 00209 try { 00210 ar & BOOST_SERIALIZATION_NVP(angles); 00211 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00212 } 00213 try { 00214 ar & BOOST_SERIALIZATION_NVP(centers); 00215 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00216 } 00217 try { 00218 ar & BOOST_SERIALIZATION_NVP(variance); 00219 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00220 } 00221 try { 00222 ar & BOOST_SERIALIZATION_NVP(fixed2); 00223 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00224 } 00225 try { 00226 ar & BOOST_SERIALIZATION_NVP(lastl); 00227 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00228 } 00229 this->post_serialize(ar, version); 00230 } 00231 00232 }; 00233 00234 } // namespace BIE 00235 00236 BIE_CLASS_TYPE_INFO(BIE::GaussTest2D) 00237 BIE_CLASS_EXPORT_KEY(BIE::GaussTest2D) 00238 #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
|