BIE |
/home/weinberg/src/BIE/include/AdaptiveIntegration.h00001 // This is really -*- C++ -*- 00002 00003 00004 #ifndef AdaptiveIntegration_h 00005 #define AdaptiveIntegration_h 00006 00007 #include <gaussQ.h> 00008 #include <Distribution.h> 00009 #include <Integration.h> 00010 #include <QuadTreeIntegrator.h> 00011 00012 #include "Serializable.h" 00013 00014 00015 namespace BIE { 00016 00017 //+ CLICLASS AdaptiveIntegration SUPER Integration 00024 class AdaptiveIntegration : public Integration 00025 { 00026 public: 00028 static int maxlevels; 00029 00030 //+ CLICONSTR double double double double double 00032 AdaptiveIntegration(double Eps, double dx0, double dy0, double dx, double dy); 00033 00035 ~AdaptiveIntegration(); 00036 00038 void ParameterChange(double Eps, double dx0, double dy0, double dx, double dy); 00039 00041 double NormValue(Model* m, Tile* t, SampleDistribution* d); 00042 00043 vector<double> Value(Model* m, Tile* t, SampleDistribution* d); 00044 00046 double NormValue(Model* m, Tile* t, SampleDistribution* d, 00047 int irank, int nrank); 00048 00050 vector<double> Value(Model* m, Tile* t, SampleDistribution* d, 00051 int irank, int nrank, MPI_Comm& comm); 00052 00054 double NormIntegrand(double x, double y); 00055 00057 vector<double> ValueIntegrand(double x, double y); 00058 00059 private: 00060 00061 double eps; 00062 double dx, dy, dx0, dy0 00063 ; 00064 int neval; 00065 00066 Model * imodel; 00067 Tile * itile; 00068 SampleDistribution * idist; 00069 00070 // AUTO GENERATED BY ../persistence/autopersist.py 00071 protected: 00072 AdaptiveIntegration() {} 00073 private: 00074 friend class boost::serialization::access; 00075 template<class Archive> 00076 void serialize(Archive & ar, const unsigned int version) { 00077 this->pre_serialize(ar, version); 00078 try { 00079 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Integration); 00080 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00081 } 00082 try { 00083 ar & BOOST_SERIALIZATION_NVP(maxlevels); 00084 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00085 } 00086 try { 00087 ar & BOOST_SERIALIZATION_NVP(eps); 00088 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00089 } 00090 try { 00091 ar & BOOST_SERIALIZATION_NVP(dx); 00092 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00093 } 00094 try { 00095 ar & BOOST_SERIALIZATION_NVP(dy); 00096 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00097 } 00098 try { 00099 ar & BOOST_SERIALIZATION_NVP(dx0); 00100 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00101 } 00102 try { 00103 ar & BOOST_SERIALIZATION_NVP(dy); 00104 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00105 } 00106 try { 00107 ar & BOOST_SERIALIZATION_NVP(neval); 00108 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00109 } 00110 try { 00111 ar & BOOST_SERIALIZATION_NVP(imodel); 00112 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00113 } 00114 try { 00115 ar & BOOST_SERIALIZATION_NVP(itile); 00116 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00117 } 00118 try { 00119 ar & BOOST_SERIALIZATION_NVP(idist); 00120 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00121 } 00122 this->post_serialize(ar, version); 00123 } 00124 00125 }; 00126 00127 } 00128 BIE_CLASS_TYPE_INFO(BIE::AdaptiveIntegration) 00129 BIE_CLASS_EXPORT_KEY(BIE::AdaptiveIntegration) 00130 #endif 00131 Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:09 2010 by
|