![]() |
APFEL 4.8.0
A PDF evolution library in C++
|
The template class QGrids is a mother class for the interpolation in Q. This class also implements methods for the subgrid interpolation relevant for example in a VFNS evolution. More...
#include <qgrid.h>
Public Member Functions | |
T | Evaluate (double const &Q) const |
Function that interpolates on the grid in Q. | |
T | Derive (double const &Q) const |
Function that derives on the grid in Q. | |
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. | |
double | DerInterpolant (int const &tQ, int const &tau, double const &Q) const |
Derivative of the interpolation functions on QGrid. | |
double | IntInterpolant (int const &tQ, int const &tau, double const &Qa, double const &Qb) const |
Derivative of the interpolation functions on QGrid. | |
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 limited. | |
void | Print () const |
Print the QGrid object. | |
Constructors | |
List of constructors. | |
QGrid ()=delete | |
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. | |
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. | |
QGrid (std::vector< double > const &Qg, int const &InterDegree) | |
The QGrid constructor. | |
Comparison operators | |
Collection of operators for comparing QGrid objects | |
bool | operator== (QGrid const &sg) const |
bool | operator!= (QGrid const &sg) const |
Getters | |
int | nQ () const |
return the number of Q interval | |
int | InterDegree () const |
return the interpolation degree | |
double | QMin () const |
return the minimum node value | |
double | QMax () const |
return the maximum node value | |
std::function< double(double const &)> const & | TabFunc () const |
return the tabulation function | |
std::vector< double > const & | GetThresholds () const |
return the heavy quark thresholds | |
std::vector< double > const & | GetQGrid () const |
return the grid in Q | |
std::vector< double > const & | GetFQGrid () const |
return the grid in _TabFunc(Q) | |
std::vector< int > const & | GetThesholdIndices () const |
return the indices of the thresholds on the grid | |
std::vector< T > const & | GetQGridValues () const |
return the tabulated objects on the grid. | |
Protected Attributes | |
int | _nQ |
Number intervals. | |
double | _QMin |
Minumim value of Q. | |
double | _QMax |
Maximum value of Q. | |
int | _InterDegree |
Interpolation degree. | |
std::vector< double > | _Thresholds |
Thresholds. | |
std::function< double(double const &)> | _TabFunc |
Function whose constant step is used for the tabulation. | |
std::vector< double > | _Qg |
Grid in Q. | |
std::vector< double > | _fQg |
Grid in _TabFunc(Q) | |
std::vector< int > | _nQg |
Indices of the nodes on which there is either a bound or a threshold. | |
std::vector< T > | _GridValues |
Vector of values to be interpolated on the grid. | |
Friends | |
template<class U > | |
std::ostream & | operator<< (std::ostream &os, QGrid< U > const &dt) |
The template class QGrids is a mother class for the interpolation in Q. This class also implements methods for the subgrid interpolation relevant for example in a VFNS evolution.
|
delete |
apfel::QGrid< T >::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.
nQ | the number of grid intervals in Q |
QMin | the lower edge of the grid in Q |
QMax | the upper edge of the grid in Q |
InterDegree | the interpolation degree |
Thresholds | the fixed point of the grid over which interpolation is forbidden |
TabFunc | the function used to tabulate the grid in Q |
InvTabFunc | the inverse function of TabFunc (an analytic expression is necessary) |
apfel::QGrid< T >::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.
nQ | the number of grid intervals in Q |
QMin | the lower edge of the grid in Q |
QMax | the upper edge of the grid in Q |
InterDegree | the interpolation degree |
Thresholds | the fixed point of the grid over which interpolation is forbidden |
Lambda | the parameter of the function log(log(Q/Lambda)) used for the tabulation on the grid in Q |
apfel::QGrid< T >::QGrid | ( | std::vector< double > const & | Qg, |
int const & | InterDegree ) |
The QGrid constructor.
Qg | the user-defined interpolation grid |
InterDegree | the interpolation degree |
double apfel::QGrid< T >::DerInterpolant | ( | int const & | tQ, |
int const & | tau, | ||
double const & | Q ) const |
Derivative of the interpolation functions on QGrid.
tQ | interpolation control parameter |
tau | the grid index |
Q | the value of Q of the required interpolation |
T apfel::QGrid< T >::Derive | ( | double const & | Q | ) | const |
Function that derives on the grid in Q.
Q | the value of the required interpolation |
T apfel::QGrid< T >::Evaluate | ( | double const & | Q | ) | const |
Function that interpolates on the grid in Q.
Q | the value of the required interpolation |
|
inline |
return the grid in _TabFunc(Q)
|
inline |
return the grid in Q
|
inline |
return the tabulated objects on the grid.
|
inline |
return the indices of the thresholds on the grid
|
inline |
return the heavy quark thresholds
T apfel::QGrid< T >::Integrate | ( | double const & | Qa, |
double const & | Qb ) const |
Function that integrates on the grid in Q.
Qa | the lower integration bound |
Qb | the upper integration bound |
|
inline |
return the interpolation degree
double apfel::QGrid< T >::Interpolant | ( | int const & | tQ, |
int const & | tau, | ||
double const & | fq ) const |
Interpolation functions on QGrid.
tQ | interpolation control parameter |
tau | the grid index |
fq | the value of _TabFunc(Q) of the required interpolation |
double apfel::QGrid< T >::IntInterpolant | ( | int const & | tQ, |
int const & | tau, | ||
double const & | Qa, | ||
double const & | Qb ) const |
Derivative of the interpolation functions on QGrid.
tQ | interpolation control parameter |
tau | the grid index |
Qa | the value of the lower integration bound |
Qb | the value of the upper integration bound |
|
inline |
return the number of Q interval
bool apfel::QGrid< T >::operator!= | ( | QGrid< T > const & | sg | ) | const |
bool apfel::QGrid< T >::operator== | ( | QGrid< T > const & | sg | ) | const |
|
inline |
Print the QGrid object.
|
inline |
return the maximum node value
|
inline |
return the minimum node value
std::tuple< int, int, int > apfel::QGrid< T >::SumBounds | ( | double const & | Q | ) | const |
Computes the control parameter of the interpolant, the lower and upper bounds over which the sum is limited.
Q | the value of the required interpolation |
|
inline |
return the tabulation function
|
friend |
|
protected |
Grid in _TabFunc(Q)
|
protected |
Vector of values to be interpolated on the grid.
|
protected |
Interpolation degree.
|
protected |
Number intervals.
|
protected |
Indices of the nodes on which there is either a bound or a threshold.
|
protected |
Grid in Q.
|
protected |
Maximum value of Q.
|
protected |
Minumim value of Q.
|
protected |
Function whose constant step is used for the tabulation.
|
protected |
Thresholds.