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>
|
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.
|
|
|
|
| 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.
|
|
|
Collection of operators for comparing QGrid objects
|
bool | operator== (QGrid const &sg) const |
|
bool | operator!= (QGrid const &sg) const |
|
|
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.
|
|
|
template<class U > |
std::ostream & | operator<< (std::ostream &os, QGrid< U > const &dt) |
|
|
std::function< double(double const &)> const | TabFunc )() const |
| return the tabulation function
|
|
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::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.
|
|
template<class T>
class apfel::QGrid< T >
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.
- Examples
- qgrid_test.cc.
◆ QGrid() [1/4]
◆ QGrid() [2/4]
template<class T >
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.
- Parameters
-
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) |
◆ QGrid() [3/4]
template<class T >
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.
- Parameters
-
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 |
◆ QGrid() [4/4]
template<class T >
apfel::QGrid< T >::QGrid |
( |
std::vector< double > const & | Qg, |
|
|
int const & | InterDegree ) |
The QGrid constructor.
- Parameters
-
Qg | the user-defined interpolation grid |
InterDegree | the interpolation degree |
- Note
- This constructor assumes that the function used to compute the interpolating functions is linear. In addition, the input vector 'Qg' is assumed to be ordered and 'well-behaved'. To be used with care.
◆ DerInterpolant()
template<class T >
double apfel::QGrid< T >::DerInterpolant |
( |
int const & | tQ, |
|
|
int const & | tau, |
|
|
double const & | Q ) const |
Derivative of the interpolation functions on QGrid.
- Parameters
-
tQ | interpolation control parameter |
tau | the grid index |
Q | the value of Q of the required interpolation |
- Returns
- the derivarive of the interpolation weights
◆ Derive()
Function that derives on the grid in Q.
- Parameters
-
Q | the value of the required interpolation |
- Returns
- the interpolated derivative
◆ Evaluate()
◆ GetFQGrid()
template<class T >
std::vector< double > const & apfel::QGrid< T >::GetFQGrid |
( |
| ) |
const |
|
inline |
◆ GetQGrid()
template<class T >
std::vector< double > const & apfel::QGrid< T >::GetQGrid |
( |
| ) |
const |
|
inline |
◆ GetQGridValues()
template<class T >
std::vector< T > const & apfel::QGrid< T >::GetQGridValues |
( |
| ) |
const |
|
inline |
return the tabulated objects on the grid.
◆ GetThesholdIndices()
template<class T >
std::vector< int > const & apfel::QGrid< T >::GetThesholdIndices |
( |
| ) |
const |
|
inline |
return the indices of the thresholds on the grid
◆ GetThresholds()
template<class T >
std::vector< double > const & apfel::QGrid< T >::GetThresholds |
( |
| ) |
const |
|
inline |
return the heavy quark thresholds
◆ Integrate()
template<class T >
T apfel::QGrid< T >::Integrate |
( |
double const & | Qa, |
|
|
double const & | Qb ) const |
Function that integrates on the grid in Q.
- Parameters
-
Qa | the lower integration bound |
Qb | the upper integration bound |
- Returns
- the interpolated integral
◆ InterDegree()
return the interpolation degree
◆ Interpolant()
template<class T >
double apfel::QGrid< T >::Interpolant |
( |
int const & | tQ, |
|
|
int const & | tau, |
|
|
double const & | fq ) const |
Interpolation functions on QGrid.
- Parameters
-
tQ | interpolation control parameter |
tau | the grid index |
fq | the value of _TabFunc(Q) of the required interpolation |
- Returns
- the interpolation weights
◆ IntInterpolant()
template<class T >
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.
- Parameters
-
tQ | interpolation control parameter |
tau | the grid index |
Qa | the value of the lower integration bound |
Qb | the value of the upper integration bound |
- Returns
- the integral of interpolation weights
◆ nQ()
return the number of Q interval
◆ operator!=()
◆ operator==()
◆ Print()
◆ QMax()
return the maximum node value
◆ QMin()
return the minimum node value
◆ SumBounds()
template<class T >
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.
- Parameters
-
Q | the value of the required interpolation |
- Returns
- the lower and upper bounds of tau
◆ operator<<
template<class T >
template<class U >
std::ostream & operator<< |
( |
std::ostream & | os, |
|
|
QGrid< U > const & | dt ) |
|
friend |
◆ _fQg
◆ _GridValues
Vector of values to be interpolated on the grid.
◆ _InterDegree
◆ _nQ
◆ _nQg
Indices of the nodes on which there is either a bound or a threshold.
◆ _Qg
◆ _QMax
◆ _QMin
◆ _TabFunc
template<class T >
std::function<double(double const&) apfel::QGrid< T >::_TabFunc) |
|
protected |
Function whose constant step is used for the tabulation.
◆ _Thresholds
◆ TabFunc
template<class T >
std::function< double(double const &)> const apfel::QGrid< T >::TabFunc) () const |
|
inline |
return the tabulation function
The documentation for this class was generated from the following file:
- /Users/vb262523/Codes/apfelxx/inc/apfel/qgrid.h