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