BIE |
/home/weinberg/src/BIE/include/GalaxyModelTwoDCached.h00001 // This is really -*- C++ -*- 00002 00003 00004 00005 #ifndef GalaxyModelTwoDCached_h 00006 #define GalaxyModelTwoDCached_h 00007 00008 #include <gaussQ.h> 00009 #include <Model.h> 00010 #include <Histogram1D.h> 00011 00012 #include <GalaxyModelTwoD.h> 00013 00014 #include "Serializable.h" 00015 00016 00017 namespace BIE { 00018 00019 //+ CLICLASS GalaxyModelTwoDCached SUPER GalaxyModelTwoD 00023 class GalaxyModelTwoDCached : public GalaxyModelTwoD 00024 { 00025 public: 00026 00027 //+ CLICONSTR int int SampleDistribution* 00029 GalaxyModelTwoDCached(int ndim, int mdim, SampleDistribution *_dist) : 00030 GalaxyModelTwoD(ndim, mdim, _dist), current2(0) {} 00031 00032 00034 ~GalaxyModelTwoDCached(); 00035 00037 double NormEval(double x, double y, SampleDistribution *d); 00038 00040 vector<double> Evaluate(double x, double y, SampleDistribution *d); 00041 00044 00046 static int numA; 00047 00049 static int numH; 00050 00052 00053 private: 00054 double dA, dH; 00055 00056 mmapGalCMG cache2; 00057 mmapGalCMG::iterator mit2; 00058 CacheGalaxyModelGrid *current2; 00059 00060 void generate(double L, double B, SampleDistribution *d); 00061 void compute_bins(); 00062 00063 // AUTO GENERATED BY ../persistence/autopersist.py 00064 protected: 00065 GalaxyModelTwoDCached() {} 00066 private: 00067 friend class boost::serialization::access; 00068 template<class Archive> 00069 void serialize(Archive & ar, const unsigned int version) { 00070 this->pre_serialize(ar, version); 00071 try { 00072 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(GalaxyModelTwoD); 00073 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00074 } 00075 try { 00076 ar & BOOST_SERIALIZATION_NVP(numA); 00077 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00078 } 00079 try { 00080 ar & BOOST_SERIALIZATION_NVP(numH); 00081 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00082 } 00083 try { 00084 ar & BOOST_SERIALIZATION_NVP(dA); 00085 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00086 } 00087 try { 00088 ar & BOOST_SERIALIZATION_NVP(dH); 00089 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00090 } 00091 try { 00092 ar & BOOST_SERIALIZATION_NVP(cache2); 00093 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00094 } 00095 try { 00096 ar & BOOST_SERIALIZATION_NVP(current2); 00097 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00098 } 00099 this->post_serialize(ar, version); 00100 } 00101 00102 00103 }; 00104 00105 } 00106 00107 BIE_CLASS_TYPE_INFO(BIE::GalaxyModelTwoDCached) 00108 BIE_CLASS_EXPORT_KEY(BIE::GalaxyModelTwoDCached) 00109 #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
|