00001
00002
00003
00004 #ifndef PointIntegration_h
00005 #define PointIntegration_h
00006
00007 #include <Integration.h>
00008
00009 #include "Serializable.h"
00010
00011
00012 namespace BIE {
00013
00014
00018 class PointIntegration : public Integration {
00019 public:
00020
00022 PointIntegration() {};
00023
00025 double NormValue(Model* m, Tile* t, SampleDistribution* d) {
00026 m->NormEval(t->X(0.5, 0.5), t->Y(0.5, 0.5), d);
00027 return 1.0; }
00028 vector<double> Value(Model* m, Tile* t, SampleDistribution* d);
00029
00030 double NormValue(Model* m, Tile* t, SampleDistribution* d,
00031 int irank, int nrank) { return 1.0; }
00032 vector<double> Value(Model* m, Tile* t, SampleDistribution* d,
00033 int irank, int nrank, MPI_Comm &comm);
00034
00035 private:
00036
00037
00038 private:
00039 friend class boost::serialization::access;
00040 template<class Archive>
00041 void serialize(Archive & ar, const unsigned int version) {
00042 this->pre_serialize(ar, version);
00043 try {
00044 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Integration);
00045 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00046 }
00047 this->post_serialize(ar, version);
00048 }
00049
00050 };
00051
00052 }
00053 BIE_CLASS_TYPE_INFO(BIE::PointIntegration)
00054 BIE_CLASS_EXPORT_KEY(BIE::PointIntegration)
00055 #endif
00056
00057