4 #ifndef __fastNLOInterpolBase__ 5 #define __fastNLOInterpolBase__ 34 const std::vector<std::pair<int,double> >& GetNodeValues(
double val);
35 std::vector<std::pair<int,double> >* GetNodeValuesPtr(
double val);
37 void MakeGrids(fastNLOGrid::GridType type,
int nNodes);
38 void MakeGridsWithNNodesPerMagnitude(fastNLOGrid::GridType type,
int nNodes);
39 void RemoveLastNode();
42 const std::vector<double>& GetGrid()
const {
return fgrid;}
43 const std::vector<double>* GetGridPtr()
const {
return &fgrid;}
44 const std::vector<double>& GetHGrid()
const {
return fHgrid;}
45 double GetDelta(
double);
48 static fastNLOGrid::GridType TranslateGridType(std::string in);
52 void SetGrid(std::vector<double> grid);
53 void SetHGrid(std::vector<double> grid);
54 void MakeGrids(
double min,
double max,
int nNodes);
55 std::vector<double> MakeGridFromHGrid(std::vector<double> g);
56 std::vector<double> MakeLinearGrid(
double min,
double max,
int nNodes);
59 virtual void CalcNodeValues(std::vector<std::pair<int,double> >& nodes,
double val) = 0;
61 int FindLargestPossibleNode(
double);
63 inline double Function_loglog025(
double mu ){
65 return log(log(mu/0.25));}
66 inline double Function_loglog025_inv(
double mu ){
68 return 0.25*exp(exp(mu));}
69 inline double Function_loglog(
double mu ){
72 inline double Function_loglog_inv(
double mu ){
75 inline double Function_x(
double mu ){
78 inline double Function_x_inv(
double mu ){
81 inline double Function_log10(
double x ){
return log10(x);}
82 inline double Function_log10_inv(
double x ){
return pow(10,x);}
83 inline double Function_sqrtlog10(
double x ){
return -sqrt(-log10(x));}
84 inline double Function_sqrtlog10_inv(
double x ){
return pow(10,-pow(x,2));}
85 inline double Function_3rdrtlog10(
double mu ){
return -pow(fabs(log10(mu)),1./3.);}
86 inline double Function_3rdrtlog10_inv(
double mu ){
return pow(10,-pow(fabs(mu),3));}
87 inline double Function_4thrtlog10(
double mu ){
return -pow(fabs(log10(mu)),0.25);}
88 inline double Function_4thrtlog10_inv(
double mu ){
return pow(10,-pow(mu,4));}
90 std::vector<double> HGrid_loglog025_inv(std::vector<double> grid);
91 std::vector<double> HGrid_loglog_inv(std::vector<double> grid);
92 std::vector<double> HGrid_log10_inv(std::vector<double> grid);
93 std::vector<double> HGrid_sqrtlog10_inv(std::vector<double> grid);
94 std::vector<double> HGrid_4thrtlog10_inv(std::vector<double> grid);
95 std::vector<double> HGrid_3rdrtlog10_inv(std::vector<double> grid);
96 int GetNMod()
const {
return fnmod;}
100 std::vector<std::pair<int,double> > fNodes;
106 bool fLastGridPointWasRemoved;
107 fastNLOGrid::GridType fdm;
108 std::vector<double> fgrid;
109 std::vector<double> fHgrid;
Definition: fastNLOInterpolBase.h:14
Definition: fastNLOInterpolBase.h:27