diff options
-rw-r--r-- | mass_profile/Makefile | 4 | ||||
-rw-r--r-- | mass_profile/constrained_dbeta.hpp | 77 |
2 files changed, 2 insertions, 79 deletions
diff --git a/mass_profile/Makefile b/mass_profile/Makefile index a2067ad..17b7a0e 100644 --- a/mass_profile/Makefile +++ b/mass_profile/Makefile @@ -51,7 +51,7 @@ calc_lx_beta: calc_lx_beta.o beta_cfg.o dump_fit_qdp.o $(CXX) $(CXXFLAGS) $^ -o $@ $(OPT_UTIL_INC) -fit_dbeta_sbp.o: fit_dbeta_sbp.cpp constrained_dbeta.hpp $(HEADERS) +fit_dbeta_sbp.o: fit_dbeta_sbp.cpp $(HEADERS) $(CXX) $(CXXFLAGS) -c $< $(OPT_UTIL_INC) fit_beta_sbp.o: fit_beta_sbp.cpp beta.hpp $(HEADERS) @@ -63,7 +63,7 @@ fit_wang2012_model.o: fit_wang2012_model.cpp wang2012_model.hpp chisq.hpp fit_nfw_mass.o: fit_nfw_mass.cpp nfw.hpp chisq.hpp $(CXX) $(CXXFLAGS) -c $< $(OPT_UTIL_INC) -calc_lx_dbeta.o: calc_lx_dbeta.cpp constrained_dbeta.hpp $(HEADERS) +calc_lx_dbeta.o: calc_lx_dbeta.cpp $(HEADERS) $(CXX) $(CXXFLAGS) -c $< $(OPT_UTIL_INC) calc_lx_beta.o: calc_lx_beta.cpp beta.hpp $(HEADERS) diff --git a/mass_profile/constrained_dbeta.hpp b/mass_profile/constrained_dbeta.hpp deleted file mode 100644 index 31a4cd4..0000000 --- a/mass_profile/constrained_dbeta.hpp +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef CONSTRAINED_DBETA -#define CONSTRAINED_DBETA -#include "projector.hpp" -#include <iostream> - - -namespace opt_utilities -{ - template <typename T> - class constrained_dbeta - :public model<std::vector<T>,std::vector<T>,std::vector<T> > - { - public: - constrained_dbeta() - { - this->push_param_info(param_info<std::vector<T>,std::string>("n01",1)); - this->push_param_info(param_info<std::vector<T>,std::string>("beta1",.66)); - this->push_param_info(param_info<std::vector<T>,std::string>("rc1",100)); - - this->push_param_info(param_info<std::vector<T>,std::string>("n02",1)); - this->push_param_info(param_info<std::vector<T>,std::string>("beta2",.67)); - this->push_param_info(param_info<std::vector<T>,std::string>("rc2",110)); - } - - public: - constrained_dbeta<T>* do_clone()const - { - return new constrained_dbeta<T>(*this); - } - - std::vector<T> do_eval(const std::vector<T> & x, const std::vector<T>& p) - { - T n01=std::abs(p[0]); - T beta1=p[1]; - T rc1=p[2]; - - T n02=std::abs(p[3]); - T beta2=p[4]; - T rc2=p[5]; - - std::vector<T> result(x.size()-1); - for(int i=1;i<x.size();++i) - { - T xi=(x[i]+x[i-1])/2; - T yi=0; - yi=n01*pow(1+xi*xi/rc1/rc1,-3./2.*beta1)+n02*pow(1+xi*xi/rc2/rc2,-3./2.*beta2); - result[i-1]=yi; - } - return result; - } - - bool do_meets_constraint(const std::vector<T>& p)const - { - if(p.size()!=6) - { - std::cerr<<p.size()<<std::endl; - std::cerr<<this->get_num_params()<<std::endl; - assert(0); - } - - T rc1=p.at(2); - T rc2=p.at(5); - if(rc2>rc1) - { - return true; - } - else - { - std::cerr<<rc2<<"\t"<<rc1<<std::endl; - std::cerr<<"***"<<std::endl; - return false; - } - } - }; -} - -#endif |