00001
00002
00003 #ifndef LikelihoodComputationSerial_h
00004 #define LikelihoodComputationSerial_h
00005
00006 #include "LikelihoodComputation.h"
00007
00008 #include "Serializable.h"
00009
00010
00011 namespace BIE {
00016
00018 class LikelihoodComputationSerial: public LikelihoodComputation
00019 {
00020 public:
00021
00022
00024 LikelihoodComputationSerial();
00025
00026
00028 virtual ~LikelihoodComputationSerial();
00029
00032 virtual double Likelihood(State &, int);
00033
00034
00037 virtual double LikelihoodPrevious(State &, int);
00038
00039
00041 virtual void normEvaluateList(Model *model, Tile *tile,
00042 const vector<double>& x,
00043 const vector<double>& y,
00044 SampleDistribution* sampleDistribution,
00045 vector<double>& evaluations);
00046
00048 virtual void modelEvaluateList(Model *model, Tile *tile,
00049 const vector<double>& x,
00050 const vector<double>& y,
00051 SampleDistribution* sampleDistribution,
00052 vector< vector<double> >& evaluations);
00053
00055 virtual bool Serial() { return true; }
00056
00058 virtual void TessToolOn(bool t) { tess_tool = t ? true : false; }
00059
00060 private:
00061
00062 bool tess_tool;
00063
00064
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(LikelihoodComputation);
00072 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00073 }
00074 try {
00075 ar & BOOST_SERIALIZATION_NVP(tess_tool);
00076 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00077 }
00078 this->post_serialize(ar, version);
00079 }
00080
00081 };
00082 }
00083
00084 BIE_CLASS_TYPE_INFO(BIE::LikelihoodComputationSerial)
00085 BIE_CLASS_EXPORT_KEY(BIE::LikelihoodComputationSerial)
00086 #endif