46 std::vector<double>
const& Thresholds,
47 std::function<
double(
double const&)>
const&
TabFunc,
48 std::function<
double(
double const&)>
const& InvTabFunc);
63 std::vector<double>
const& Thresholds,
64 double const& Lambda = 0.25);
75 QGrid(std::vector<double>
const& Qg,
99 T
Integrate(
double const& Qa,
double const& Qb)
const;
133 double Interpolant(
int const& tQ,
int const& tau,
double const& fq)
const;
152 double IntInterpolant(
int const& tQ,
int const& tau,
double const& Qa,
double const& Qb)
const;
160 std::tuple<int, int, int>
SumBounds(
double const& Q)
const;
165 void Print()
const { std::cout << *
this << std::endl; }
189 os <<
"QGrid: " << &Qg <<
"\n";
190 os <<
"nQ = " << Qg.
_nQ <<
"\n";
191 os <<
"QMin = " << Qg.
_QMin <<
"\n";
192 os <<
"QMax = " << Qg.
_QMax <<
"\n";
194 os <<
"Thresholds = ";
195 for (
const auto &v: Qg.
_Thresholds) os << v <<
" ";
197 os <<
"Threshold indices = ";
198 for (
const auto &v: Qg.
_nQg) os << v <<
" ";
201 for (
const auto &v: Qg.
_Qg) os << v <<
" ";
The template class QGrids is a mother class for the interpolation in Q. This class also implements me...
Definition qgrid.h:23
double QMin() const
return the minimum node value
Definition qgrid.h:116
std::vector< double > const & GetFQGrid() const
return the grid in _TabFunc(Q)
Definition qgrid.h:121
QGrid(int const &nQ, double const &QMin, double const &QMax, int const &InterDegree, std::vector< double > const &Thresholds, std::function< double(double const &)> const &TabFunc, std::function< double(double const &)> const &InvTabFunc)
The QGrid constructor.
std::vector< double > const & GetThresholds() const
return the heavy quark thresholds
Definition qgrid.h:119
std::function< double(double const &)> const & TabFunc() const
return the tabulation function
Definition qgrid.h:118
bool operator==(QGrid const &sg) const
std::tuple< int, int, int > SumBounds(double const &Q) const
Computes the control parameter of the interpolant, the lower and upper bounds over which the sum is l...
double _QMin
Minumim value of Q.
Definition qgrid.h:169
int nQ() const
return the number of Q interval
Definition qgrid.h:114
int InterDegree() const
return the interpolation degree
Definition qgrid.h:115
std::vector< int > _nQg
Indices of the nodes on which there is either a bound or a threshold.
Definition qgrid.h:176
std::vector< T > const & GetQGridValues() const
return the tabulated objects on the grid.
Definition qgrid.h:123
T Integrate(double const &Qa, double const &Qb) const
Function that integrates on the grid in Q.
double Interpolant(int const &tQ, int const &tau, double const &fq) const
Interpolation functions on QGrid.
void Print() const
Print the QGrid object.
Definition qgrid.h:165
bool operator!=(QGrid const &sg) const
friend std::ostream & operator<<(std::ostream &os, QGrid< U > const &dt)
std::function< double(double const &)> _TabFunc
Function whose constant step is used for the tabulation.
Definition qgrid.h:173
std::vector< int > const & GetThesholdIndices() const
return the indices of the thresholds on the grid
Definition qgrid.h:122
double IntInterpolant(int const &tQ, int const &tau, double const &Qa, double const &Qb) const
Derivative of the interpolation functions on QGrid.
QGrid(std::vector< double > const &Qg, int const &InterDegree)
The QGrid constructor.
int _nQ
Number intervals.
Definition qgrid.h:168
T Derive(double const &Q) const
Function that derives on the grid in Q.
T Evaluate(double const &Q) const
Function that interpolates on the grid in Q.
std::vector< double > _Qg
Grid in Q.
Definition qgrid.h:174
std::vector< double > const & GetQGrid() const
return the grid in Q
Definition qgrid.h:120
double _QMax
Maximum value of Q.
Definition qgrid.h:170
double QMax() const
return the maximum node value
Definition qgrid.h:117
int _InterDegree
Interpolation degree.
Definition qgrid.h:171
QGrid(int const &nQ, double const &QMin, double const &QMax, int const &InterDegree, std::vector< double > const &Thresholds, double const &Lambda=0.25)
The QGrid constructor.
double DerInterpolant(int const &tQ, int const &tau, double const &Q) const
Derivative of the interpolation functions on QGrid.
std::vector< T > _GridValues
Vector of values to be interpolated on the grid.
Definition qgrid.h:177
std::vector< double > _fQg
Grid in _TabFunc(Q)
Definition qgrid.h:175
std::vector< double > _Thresholds
Thresholds.
Definition qgrid.h:172
Namespace for all APFEL++ functions and classes.
Definition alphaqcd.h:14
std::ostream & operator<<(std::ostream &os, ConvolutionMap const &cm)
Method which prints ConvolutionMap with cout <<.