![]() |
APFEL 4.8.0
A PDF evolution library in C++
|
The template TabulateObject class is a derived of the QGrid class that tabulates on object of type T (it can be a double, a Distribution, an Operator, Set<Distribution>, a Set<Operator>) over a grid in Q, taking into account the possible presence of thresholds, and provides the method to evaluate the tabulated object at any generic value of Q. More...
#include <tabulateobject.h>
Public Member Functions | |
Constructors | |
List of constructors. | |
| TabulateObject (MatchedEvolution< T > &Object, int const &nQ, double const &QMin, double const &QMax, int const &InterDegree, double const &Lambda=0.25) | |
| The TabulateObject constructor for an "evolving" object (MatchedEvolution). | |
| TabulateObject (std::function< T(double const &)> const &Object, int const &nQ, double const &QMin, double const &QMax, int const &InterDegree, std::vector< double > const &Thresholds, double const &Lambda=0.25) | |
| The TabulateObject constructor for a Q dependent object. | |
| TabulateObject (std::function< T(double const &)> const &Object, 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 TabulateObject constructor for a Q dependent object tabulated on a user-defined distribution in Q. | |
| TabulateObject (std::function< T(double const &)> const &Object, std::vector< double > const &Qg, int const &InterDegree) | |
| The TabulateObject constructor for a Q dependent object tabulated on a user-defined grid. | |
| TabulateObject (std::vector< T > const &Object, std::vector< double > const &Qg, int const &InterDegree) | |
| The TabulateObject constructor for a pretabulated object tabulated on a user-defined grid. | |
Evaluate functions | |
List of functions to interpolate the tabulated object. | |
| double | EvaluatexQ (double const &x, double const &Q) const |
| This function interpolates in x and Q. It is used for T = Distribution. | |
| double | EvaluatexQ (int const &i, double const &x, double const &Q) const |
| This function interpolates in x and Q for a given element i. It is used for T = Set<Distribution>. | |
| double | EvaluatexzQ (double const &x, double const &z, double const &Q) const |
| This function interpolates in x, z, and Q. It is used for T = DoubleOject<Distribution>. | |
| std::map< int, double > | EvaluateMapxQ (double const &x, double const &Q) const |
| This function interpolates in x and Q and returns a map. It is used for T = Set<Distribution>. | |
Public Member Functions inherited from apfel::QGrid< T > | |
| 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. | |
| bool | operator== (QGrid const &sg) const |
| bool | operator!= (QGrid const &sg) const |
| 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. | |
Additional Inherited Members | |
Protected Attributes inherited from apfel::QGrid< T > | |
| 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. | |
The template TabulateObject class is a derived of the QGrid class that tabulates on object of type T (it can be a double, a Distribution, an Operator, Set<Distribution>, a Set<Operator>) over a grid in Q, taking into account the possible presence of thresholds, and provides the method to evaluate the tabulated object at any generic value of Q.
| apfel::TabulateObject< T >::TabulateObject | ( | MatchedEvolution< T > & | Object, |
| int const & | nQ, | ||
| double const & | QMin, | ||
| double const & | QMax, | ||
| int const & | InterDegree, | ||
| double const & | Lambda = 0.25 ) |
The TabulateObject constructor for an "evolving" object (MatchedEvolution).
| Object | the MatchedEvolution type object to be tabulated in Q |
| nQ | the number of on nodes of the grid in Q |
| QMin | the lower bound of the grid in Q |
| QMax | the upper bound of the grid in Q |
| InterDegree | the interpolation degree on the grid in Q |
| Lambda | the value of the parameter in the function ln(ln(Q2/Λ2)) used for the tabulation (default: 0.25) |
| apfel::TabulateObject< T >::TabulateObject | ( | std::function< T(double const &)> const & | Object, |
| int const & | nQ, | ||
| double const & | QMin, | ||
| double const & | QMax, | ||
| int const & | InterDegree, | ||
| std::vector< double > const & | Thresholds, | ||
| double const & | Lambda = 0.25 ) |
The TabulateObject constructor for a Q dependent object.
| Object | the T-valued function to be tabulated in Q |
| nQ | the number of on nodes of the grid in Q |
| QMin | the lower bound of the grid in Q |
| QMax | the upper bound of the grid in Q |
| InterDegree | the interpolation degree on the grid in Q |
| Thresholds | vector of quark thresholds |
| Lambda | the value of the parameter in the function ln(ln(Q2/Λ2)) used for the tabulation (default: 0.25) |
| apfel::TabulateObject< T >::TabulateObject | ( | std::function< T(double const &)> const & | Object, |
| 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 TabulateObject constructor for a Q dependent object tabulated on a user-defined distribution in Q.
| Object | the T-valued function to be tabulated in Q |
| nQ | the number of on nodes of the grid in Q |
| QMin | the lower bound of the grid in Q |
| QMax | the upper bound of the grid in Q |
| InterDegree | the interpolation degree on the grid in Q |
| Thresholds | vector of quark thresholds |
| TabFunc | the function to be used for the tabulation in Q |
| InvTabFunc | the inverse function of TabFunc (it has to be provided analytically) |
| apfel::TabulateObject< T >::TabulateObject | ( | std::function< T(double const &)> const & | Object, |
| std::vector< double > const & | Qg, | ||
| int const & | InterDegree ) |
The TabulateObject constructor for a Q dependent object tabulated on a user-defined grid.
| Object | the T-valued function to be tabulated in Q |
| Qg | the user-defined interpolation grid |
| InterDegree | the interpolation degree on the grid in Q |
| apfel::TabulateObject< T >::TabulateObject | ( | std::vector< T > const & | Object, |
| std::vector< double > const & | Qg, | ||
| int const & | InterDegree ) |
The TabulateObject constructor for a pretabulated object tabulated on a user-defined grid.
| Object | the T-valued vector of the pre-tabulated object |
| Qg | the user-defined interpolation grid |
| InterDegree | the interpolation degree on the grid in Q |
| std::map< int, double > apfel::TabulateObject< T >::EvaluateMapxQ | ( | double const & | x, |
| double const & | Q ) const |
This function interpolates in x and Q and returns a map. It is used for T = Set<Distribution>.
| double apfel::TabulateObject< T >::EvaluatexQ | ( | double const & | x, |
| double const & | Q ) const |
This function interpolates in x and Q. It is used for T = Distribution.
| double apfel::TabulateObject< T >::EvaluatexQ | ( | int const & | i, |
| double const & | x, | ||
| double const & | Q ) const |
This function interpolates in x and Q for a given element i. It is used for T = Set<Distribution>.
| double apfel::TabulateObject< T >::EvaluatexzQ | ( | double const & | x, |
| double const & | z, | ||
| double const & | Q ) const |
This function interpolates in x, z, and Q. It is used for T = DoubleOject<Distribution>.