From edc1fd182e0aca1c8e33788063f36be4e7e142fe Mon Sep 17 00:00:00 2001 From: astrojhgu Date: Sat, 12 Feb 2011 17:23:12 +0000 Subject: git-svn-id: file:///home/svn/opt_utilities@173 ed2142bd-67ad-457f-ba7c-d818d4011675 --- pre_estimater/lin1d_estimater.hpp | 38 ++++++++++++++++++++++++++++++++++++++ pre_estimater/pre_estimater.hpp | 29 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 pre_estimater/lin1d_estimater.hpp create mode 100644 pre_estimater/pre_estimater.hpp diff --git a/pre_estimater/lin1d_estimater.hpp b/pre_estimater/lin1d_estimater.hpp new file mode 100644 index 0000000..1ec62cb --- /dev/null +++ b/pre_estimater/lin1d_estimater.hpp @@ -0,0 +1,38 @@ +#ifndef LIN1D_ESTIMATER +#define LIN1D_ESTIMATER +#include "pre_estimater.hpp" +#include +#include + + +namespace opt_utilities +{ + template + class lin1d_estimater + :public pre_estimater,optvec,optvec,T,std::string> + { + private: + const std::string model_id; + private: + lin1d_estimater() + :model_id(lin1d().get_type_name()) + {} + + lin1d_estimater do_clone()const + { + return new lin1d_estimater(*this); + } + + void do_estimate(fitter,optvec,optvec,T,std::string>& fit)const + { + if(model_id!=fit.get_model().get_type_name()) + { + return; + } + } + }; +} + + + +#endif diff --git a/pre_estimater/pre_estimater.hpp b/pre_estimater/pre_estimater.hpp new file mode 100644 index 0000000..db21e94 --- /dev/null +++ b/pre_estimater/pre_estimater.hpp @@ -0,0 +1,29 @@ +#ifndef PRE_ESTIMATER_HPP +#define PRE_ESTIMATER_HPP + +#include + + +namespace opt_utilities +{ + template + class pre_estimater + { + private: + virtual void do_estimate(fitter& fit)const=0; + virtual pre_estimater* do_clone()const=0; + public: + void estimate(fitter& fit)const + { + do_estimate(fit); + } + + pre_estimater* clone()const + { + return this->do_clone(); + } + }; +} + + +#endif -- cgit v1.2.2