BIE |
/home/weinberg/src/BIE/include/SplatModel3.h00001 // This is really -*- C++ -*- 00002 00003 00004 #ifndef SplatModel3_h 00005 #define SplatModel3_h 00006 00007 #include <Model.h> 00008 00009 #include "Serializable.h" 00010 00011 00012 namespace BIE { 00013 00014 //+ CLICLASS SplatModel3 SUPER Model 00022 class SplatModel3 : public Model 00023 { 00024 public: 00025 00027 //{@ 00029 static double SIGX; 00030 00032 static double SIGY; 00033 00035 static double A1; 00036 static double A2; 00037 static double A3; 00038 static double V1; 00039 static double V2; 00040 static double V3; 00041 00042 //+ CLICONSTR int int 00044 SplatModel3(int ndim, int mdim); 00045 00047 void Initialize(State&); 00048 void Initialize(vector<double>& w, vector< vector<double> >& p); 00049 00051 virtual double NormEval(double xmin, double xmax, 00052 double ymin, double ymax); 00053 00055 double NormEval(double x, double y, SampleDistribution *d); 00056 00058 vector<double> EvaluateBinned(double x, double y, BinnedDistribution *d); 00059 vector<double> EvaluatePoint(double x, double y, PointDistribution *d); 00060 00062 string ParameterDescription(int i); 00063 00065 int DataDimension() { return 3; } 00066 00067 00068 private: 00070 int M, Mcur; 00071 00073 int Ndim; 00074 00075 vector<double> wt, xx, yy, sx, sy; 00076 00077 static const char* XPOS_FIELDNAME; 00078 static const char* YPOS_FIELDNAME; 00079 static const char* BANDONE_FIELDNAME; 00080 static const char* BANDTWO_FIELDNAME; 00081 static const char* PARAM_NAMES[]; 00082 00083 // AUTO GENERATED BY ../persistence/autopersist.py 00084 protected: 00085 SplatModel3() {} 00086 private: 00087 friend class boost::serialization::access; 00088 template<class Archive> 00089 void serialize(Archive & ar, const unsigned int version) { 00090 this->pre_serialize(ar, version); 00091 try { 00092 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Model); 00093 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00094 } 00095 try { 00096 ar & BOOST_SERIALIZATION_NVP(SIGX); 00097 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00098 } 00099 try { 00100 ar & BOOST_SERIALIZATION_NVP(SIGY); 00101 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00102 } 00103 try { 00104 ar & BOOST_SERIALIZATION_NVP(A1); 00105 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00106 } 00107 try { 00108 ar & BOOST_SERIALIZATION_NVP(A2); 00109 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00110 } 00111 try { 00112 ar & BOOST_SERIALIZATION_NVP(A3); 00113 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00114 } 00115 try { 00116 ar & BOOST_SERIALIZATION_NVP(V1); 00117 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00118 } 00119 try { 00120 ar & BOOST_SERIALIZATION_NVP(V2); 00121 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00122 } 00123 try { 00124 ar & BOOST_SERIALIZATION_NVP(V3); 00125 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00126 } 00127 try { 00128 ar & BOOST_SERIALIZATION_NVP(M); 00129 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00130 } 00131 try { 00132 ar & BOOST_SERIALIZATION_NVP(Mcur); 00133 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00134 } 00135 try { 00136 ar & BOOST_SERIALIZATION_NVP(Ndim); 00137 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00138 } 00139 try { 00140 ar & BOOST_SERIALIZATION_NVP(wt); 00141 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00142 } 00143 try { 00144 ar & BOOST_SERIALIZATION_NVP(xx); 00145 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00146 } 00147 try { 00148 ar & BOOST_SERIALIZATION_NVP(yy); 00149 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00150 } 00151 try { 00152 ar & BOOST_SERIALIZATION_NVP(sx); 00153 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00154 } 00155 try { 00156 ar & BOOST_SERIALIZATION_NVP(sy); 00157 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00158 } 00159 this->post_serialize(ar, version); 00160 } 00161 00162 }; 00163 } 00164 00165 BIE_CLASS_TYPE_INFO(BIE::SplatModel3) 00166 BIE_CLASS_EXPORT_KEY(BIE::SplatModel3) 00167 #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
|