diff options
Diffstat (limited to 'vmodel')
-rw-r--r-- | vmodel/bl.hpp | 67 | ||||
-rw-r--r-- | vmodel/bpl.hpp | 67 | ||||
-rw-r--r-- | vmodel/bremss.hpp | 50 | ||||
-rw-r--r-- | vmodel/gauss1d.hpp | 53 | ||||
-rw-r--r-- | vmodel/lin1d.hpp | 58 | ||||
-rw-r--r-- | vmodel/powerlaw.hpp | 50 |
6 files changed, 0 insertions, 345 deletions
diff --git a/vmodel/bl.hpp b/vmodel/bl.hpp deleted file mode 100644 index 84d6ca5..0000000 --- a/vmodel/bl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef BROKEN_LINE_MODEL_H_ -#define BROKEN_LINE_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <cmath> -#include <misc/optvec.hpp> -namespace opt_utilities -{ - template <typename T> - class bl - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - private: - model<optvec<T>,optvec<T>,optvec<T>,std::string >* do_clone()const - { - return new bl<T>(*this); - } - - const char* do_get_type_name()const - { - return "broken linear model"; - } - public: - bl() - { - this->push_param_info(param_info<optvec<T> >("break point y value",1)); - this->push_param_info(param_info<optvec<T> >("break point x value",1)); - this->push_param_info(param_info<optvec<T> >("slop 1",1)); - this->push_param_info(param_info<optvec<T> >("slop 2",1)); - } - - public: - optvec<T> do_eval(const optvec<T>& x,const optvec<T>& param) - { - T x_b=get_element(param,0); - T f_b=get_element(param,1); - T k1=get_element(param,2); - T k2=get_element(param,3); - optvec<double> result(x.size()); - for(int i=0;i<x.size();++i) - { - if(x[i]<x_b) - { - result[i]=k1*(x[i]-x_b)+f_b; - } - else - { - result[i]=k2*(x[i]-x_b)+f_b; - } - } - return result; - } - - private: - std::string do_get_information()const - { - return "broken linear model\n" - "y=k1*(x-x_b)+y_b for x<x_b\n" - "y=k2*(x-x_b)+y_b otherwise\n"; - } - }; -} - - - -#endif -//EOF diff --git a/vmodel/bpl.hpp b/vmodel/bpl.hpp deleted file mode 100644 index e99efe3..0000000 --- a/vmodel/bpl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef BROKEN_POWER_LAW_MODEL_H_ -#define BROKEN_POWER_LAW_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <cmath> -#include <misc/optvec.hpp> - -namespace opt_utilities -{ - template <typename T> - class bpl1d - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - private: - bpl1d* do_clone()const - { - return new bpl1d<T>(*this); - } - - const char* do_get_type_name()const - { - return "broken power law"; - } - public: - bpl1d() - { - this->push_param_info(param_info<optvec<T> >("bpx",1)); - this->push_param_info(param_info<optvec<T> >("bpy",1)); - this->push_param_info(param_info<optvec<T> >("gamma1",1)); - this->push_param_info(param_info<optvec<T> >("gamma2",1)); - } - - optvec<T> do_eval(const optvec<T>& x,const optvec<T>& param) - { - T x_b=get_element(param,0); - T f_b=get_element(param,1); - T gamma1=get_element(param,2); - T gamma2=get_element(param,3); - - optvec<T> result(x.size()); - for(int i=0;i<result.size();++i) - { - if(x[i]<x_b) - { - result[i]=f_b*pow(x[i],gamma1)/pow(x_b,gamma1); - } - else - { - result[i]=f_b*pow(x[i],gamma2)/pow(x_b,gamma2); - } - } - return result; - } - - - private: - std::string do_get_information()const - { - return ""; - } - }; -} - - - -#endif -//EOF diff --git a/vmodel/bremss.hpp b/vmodel/bremss.hpp deleted file mode 100644 index 12e1f71..0000000 --- a/vmodel/bremss.hpp +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef BREMSS_MODEL_H_ -#define BREMSS_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <cmath> -#include <misc/optvec.hpp> - -namespace opt_utilities -{ - template <typename T> - class bremss - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - private: - bremss* do_clone()const - { - return new bremss<T>(*this); - } - - const char* do_get_type_name()const - { - return "Bremsstrahlung emission"; - } - public: - bremss() - { - this->push_param_info(param_info<optvec<T> >("norm",1)); - this->push_param_info(param_info<optvec<T> >("kT",1)); - } - - optvec<T> do_eval(const optvec<T>& x,const optvec<T>& param) - { - T norm=get_element(param,0); - T kT=get_element(param,1); - - return norm*sqrt(kT)*exp(-x/kT); - } - - private: - std::string do_get_information()const - { - return ""; - } - }; -} - - - -#endif -//EOF diff --git a/vmodel/gauss1d.hpp b/vmodel/gauss1d.hpp deleted file mode 100644 index 5576c89..0000000 --- a/vmodel/gauss1d.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef GAUSS_MODEL_H_ -#define GAUSS_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <cmath> -#include <misc/optvec.hpp> - -namespace opt_utilities -{ - template <typename T> - class gauss1d - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - private: - gauss1d* do_clone()const - { - return new gauss1d<T>(*this); - } - - const char* do_get_type_name()const - { - return "1d gaussian"; - } - public: - gauss1d() - { - this->push_param_info(param_info<optvec<T> >("N",1)); - this->push_param_info(param_info<optvec<T> >("x0",0)); - this->push_param_info(param_info<optvec<T> >("sigma",1)); - } - - public: - optvec<T> do_eval(const optvec<T>& x,const optvec<T>& param) - { - T N=get_element(param,0); - T x0=get_element(param,1); - T sigma=get_element(param,2); - optvec<T> y=(x-x0)/2./sigma; - return N*exp(-y*y); - } - - private: - std::string do_get_information()const - { - return ""; - } - }; -} - - - -#endif -//EOF diff --git a/vmodel/lin1d.hpp b/vmodel/lin1d.hpp deleted file mode 100644 index 8ca8074..0000000 --- a/vmodel/lin1d.hpp +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef VLINEAR_MODEL_H_ -#define VLINEAR_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <misc/optvec.hpp> -#include <cmath> - -namespace opt_utilities -{ - template <typename T> - class lin1d - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - typedef optvec<T> Tv; - private: - lin1d<T>* do_clone()const - { - return new lin1d<T>(*this); - } - - const char* do_get_type_name()const - { - return "1d linear model"; - } - public: - lin1d() - { - this->push_param_info(param_info<Tv>("k",1)); - this->push_param_info(param_info<Tv>("b",0)); - } - - public: - Tv do_eval(const Tv& x,const Tv& param) - { - Tv result(x.size()); - - //return x*get_element(param,0)+get_element(param,1); - for(size_t i=0;i!=x.size();++i) - { - result[i]=param[0]*x[i]+param[1]; - } - return result; - } - - private: - std::string do_get_information()const - { - return "<math><mrow> <mtext>f(x;k,b)=k x+b</mtext> \ - </mrow> \ -</math>"; - } - }; -} - - - -#endif -//EOF diff --git a/vmodel/powerlaw.hpp b/vmodel/powerlaw.hpp deleted file mode 100644 index 1f05301..0000000 --- a/vmodel/powerlaw.hpp +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef POWER_LAW_MODEL_H_ -#define POWER_LAW_MODEL_H_ -#define OPT_HEADER -#include <core/fitter.hpp> -#include <cmath> -#include <misc/optvec.hpp> - -namespace opt_utilities -{ - template <typename T> - class powerlaw - :public model<optvec<T>,optvec<T>,optvec<T>,std::string> - { - private: - powerlaw* do_clone()const - { - return new powerlaw<T>(*this); - } - - const char* do_get_type_name()const - { - return "1d power law"; - } - public: - powerlaw() - { - this->push_param_info(param_info<optvec<T> >("Ampl",1)); - this->push_param_info(param_info<optvec<T> >("gamma",1)); - } - - optvec<T> do_eval(const optvec<T>& x,const optvec<T>& param) - { - T A=get_element(param,0); - T gamma=get_element(param,1); - return A*pow(x,gamma); - } - - private: - std::string do_get_information()const - { - return "Simple power law model\n" - "y=A*x^gamma\n"; - } - }; -} - - - -#endif -//EOF |