#ifndef NeutronMultiFunction_H #define NeutronMultiFunction_H #include class NeutronMulti{ public: NeutronMulti(double the_a1, double the_a2,double the_t1, double the_t2){ a1=the_a1; a2=the_a2; t1=the_t1; t2=the_t2; } // Define functions to get memeber values. // (Getter Functions) double Ga1(){return a1;} double Ga2(){return a2;} double Gt1(){return t1;} double Gt2(){return t2;} double operator()(double x ) const{ double b1 =-0.337106; double b2 = -0.494204; double b3 = -0.10668; double c1 = 0.0568203; double c2 = 0.5219742; double c3 = 1.0387373; // double t1 = 1.777; double x1 = a1*std::sqrt(x)/(2.*std::pow((3.14*t1),(3./2.))); double x2 = a2*std::sqrt(x)/(2.*std::pow((3.14*t2),(3./2.))); double x3 = a2*std::sqrt(x)/(2.*std::pow((3.14*t2),(3./2.))); double x4 = exp(-(x - b1*std::sqrt(x) + c1)/t1); double x5 = exp(-(x - b2*std::sqrt(x) + c2)/t2); double x6 = exp(-(x - b3*std::sqrt(x) + c3)/t2); // cout< the_E; */ /* std::vector the_Y; */ /* std::vector the_Yer; */ /* int i=0; */ /* while(inpfile.good()) */ /* { i++; */ /* double en =0; */ /* double yi =0; */ /* double yerr =0; */ /* inpfile >> en >> yi >> yerr ; */ /* the_E.push_back(en); */ /* the_Y.push_back(yi); */ /* the_Yer.push_back(yerr); */ /* // cout<