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