![]() |
APFEL 4.8.0
A PDF evolution library in C++
|
The Distribution class defines one of the basic objects of APFEL++. This is essentially the discretisation of a function that can be conveniently used for convolutions. More...
#include <distribution.h>
Public Member Functions | |
Distribution ()=delete | |
void | SetJointGrid (int const &ix, double const &x) |
Function to set the values of the joint grid. | |
void | SetSubGrid (int const &ig, int const &ix, double const &x) |
Function to push back the values of the subgrid. | |
void | SetJointGrid (std::vector< double > const &jg) |
Function to set the joint grid. | |
void | SetSubGrid (int const &ig, std::vector< double > const &sg) |
Function to set the single sub-grid. | |
void | SetSubGrids (std::vector< std::vector< double > > const &sgs) |
Function to set all the sub-grids. | |
Distribution | Derivative () const |
Function that returns the derivative of the Distribution in the form of a Distribution object. | |
Constructors | |
List of constructors. | |
Distribution (Grid const &g) | |
The Distribution constructor. | |
Distribution (Distribution const &obj) | |
The Distribution constructor. | |
Distribution (Distribution const &obj, std::vector< std::vector< double > > const &distsubgrid, std::vector< double > const &distjointgrid) | |
The Distribution constructor. | |
Distribution (Grid const &g, std::vector< std::vector< double > > const &distsubgrid, std::vector< double > const &distjointgrid) | |
The Distribution constructor. | |
Distribution (Grid const &g, std::function< double(double const &)> const &InDistFunc) | |
The Distribution constructor. | |
Distribution (Grid const &g, std::function< double(double const &, double const &)> const &InDistFunc, double const &Q) | |
The Distribution constructor. | |
Distribution (Grid const &g, std::function< double(int const &, double const &)> const &InDistFunc, int const &ipdf) | |
The Distribution constructor. | |
Distribution (Grid const &g, std::function< double(int const &, double const &, double const &)> const &InDistFunc, int const &ipdf, double const &Q) | |
The Distribution constructor. | |
Binary operators | |
Distribution & | operator= (Distribution const &d) |
this = Distribution | |
Distribution & | operator*= (double const &s) |
this *= Scalar | |
Distribution & | operator*= (std::function< double(double const &)> const &f) |
this *= Function of the integration variable | |
Distribution & | operator/= (double const &s) |
this /= Scalar | |
Distribution & | operator*= (Distribution const &d) |
this *= Distribution | |
Distribution & | operator+= (Distribution const &d) |
this += Distribution | |
Distribution & | operator-= (Distribution const &d) |
this -= Distribution | |
![]() | |
LagrangeInterpolator (Grid const &gr) | |
The LagrangeInterpolator constructor. | |
LagrangeInterpolator (Grid const &gr, std::vector< std::vector< double > > const &distsubgrid, std::vector< double > const &distjointgrid) | |
The LagrangeInterpolator constructor. | |
double | InterpolantLog (int const &beta, double const &lnx, SubGrid const &sg) const |
This function defines the interpolating function used by the mother class Interpolator to perform the actual interpolation using polynomials in log(x). | |
double | Interpolant (int const &beta, double const &x, SubGrid const &sg) const |
This function defines the interpolating function used by the mother class Interpolator to perform the interpolation. | |
double | DerInterpolant (int const &beta, double const &x, SubGrid const &sg) const |
This function defines the derivative of the interpolating function used by the mother class Interpolator to perform the actual interpolation. | |
double | IntInterpolant (int const &beta, double const &a, double const &b, SubGrid const &sg) const |
This function defines the integral of the interpolating function used by the mother class Interpolator to perform the actual interpolation. | |
std::array< int, 2 > | SumBounds (double const &x, SubGrid const &sg) const |
This function computes the lower and upper bounds on which the the sum over interpolants is limited. | |
![]() | |
virtual | ~Interpolator ()=default |
Interpolator (Grid const &gr) | |
The Interpolator constructor. | |
Interpolator (Grid const &gr, std::vector< std::vector< double > > const &distsubgrid, std::vector< double > const &distjointgrid) | |
The Interpolator constructor. | |
double | Evaluate (double const &x) const |
Function that evaluates the interpolated function on the joint grid. | |
double | Evaluate (double const &x, int const &ig) const |
Function that evaluates the interpolated function on a given subgrid. | |
double | Derive (double const &x) const |
Function that evaluates the derivative of the interpolated function on the joint grid. | |
double | Integrate (double const &a, double const &b) const |
Function that evaluates the integral of the interpolated function in the interval [a,b] on the joint grid. | |
Grid const & | GetGrid () const |
The grid. | |
std::vector< std::vector< double > > const & | GetDistributionSubGrid () const |
The distribution on the subgrids. | |
std::vector< double > const & | GetDistributionJointGrid () const |
The distribution on the joint grid. | |
void | Print () const |
Print the Interpolator object. | |
Additional Inherited Members | |
![]() | |
Grid const & | _grid |
The stored grid reference. | |
std::vector< std::vector< double > > | _distributionSubGrid |
The array with the distribution values on the subgrid. | |
std::vector< double > | _distributionJointGrid |
The array with the distribution values on the joint grid. | |
The Distribution class defines one of the basic objects of APFEL++. This is essentially the discretisation of a function that can be conveniently used for convolutions.
|
delete |
apfel::Distribution::Distribution | ( | Grid const & | g | ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
apfel::Distribution::Distribution | ( | Distribution const & | obj | ) |
The Distribution constructor.
obj | a reference distribution from wich the grid and the actual distributions are extracted |
apfel::Distribution::Distribution | ( | Distribution const & | obj, |
std::vector< std::vector< double > > const & | distsubgrid, | ||
std::vector< double > const & | distjointgrid ) |
The Distribution constructor.
obj | a reference distribution from wich the grid is extracted |
distsubgrid | the vector of the distribution on the subgrids |
distjointgrid | the vector of the distribution on the joint grid |
apfel::Distribution::Distribution | ( | Grid const & | g, |
std::vector< std::vector< double > > const & | distsubgrid, | ||
std::vector< double > const & | distjointgrid ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
distsubgrid | the vector of the distribution on the subgrids |
distjointgrid | the vector of the distribution on the joint grid |
apfel::Distribution::Distribution | ( | Grid const & | g, |
std::function< double(double const &)> const & | InDistFunc ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
InDistFunc | a function of x to be tabulated on the grid in x |
apfel::Distribution::Distribution | ( | Grid const & | g, |
std::function< double(double const &, double const &)> const & | InDistFunc, | ||
double const & | Q ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
InDistFunc | a function of x and Q to be tabulated on the grid in x |
Q | the value of Q in which InDistFunc has to be tabulated |
apfel::Distribution::Distribution | ( | Grid const & | g, |
std::function< double(int const &, double const &)> const & | InDistFunc, | ||
int const & | ipdf ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
InDistFunc | a function of ipdf and x to be tabulated on the grid in x |
ipdf | the value of ipdf in which InDistFunc has to be tabulated |
apfel::Distribution::Distribution | ( | Grid const & | g, |
std::function< double(int const &, double const &, double const &)> const & | InDistFunc, | ||
int const & | ipdf, | ||
double const & | Q ) |
The Distribution constructor.
g | the Grid object that defines the x-space interpolation grid |
InDistFunc | a function of ipdf, x, and Q to be tabulated on the grid in x |
ipdf | the value of ipdf in which InDistFunc has to be tabulated |
Q | the value of Q in which InDistFunc has to be tabulated |
Distribution apfel::Distribution::Derivative | ( | ) | const |
Function that returns the derivative of the Distribution in the form of a Distribution object.
Distribution & apfel::Distribution::operator*= | ( | Distribution const & | d | ) |
this *= Distribution
Distribution & apfel::Distribution::operator*= | ( | double const & | s | ) |
this *= Scalar
Distribution & apfel::Distribution::operator*= | ( | std::function< double(double const &)> const & | f | ) |
this *= Function of the integration variable
Distribution & apfel::Distribution::operator+= | ( | Distribution const & | d | ) |
this += Distribution
Distribution & apfel::Distribution::operator-= | ( | Distribution const & | d | ) |
this -= Distribution
Distribution & apfel::Distribution::operator/= | ( | double const & | s | ) |
this /= Scalar
Distribution & apfel::Distribution::operator= | ( | Distribution const & | d | ) |
this = Distribution
void apfel::Distribution::SetJointGrid | ( | int const & | ix, |
double const & | x ) |
Function to set the values of the joint grid.
ix | the vector index |
x | value of of the distribution to set in the distribution vector on the joint grid |
void apfel::Distribution::SetJointGrid | ( | std::vector< double > const & | jg | ) |
Function to set the joint grid.
jg | the vector of the joint grid |
void apfel::Distribution::SetSubGrid | ( | int const & | ig, |
int const & | ix, | ||
double const & | x ) |
Function to push back the values of the subgrid.
ig | the subgrid index |
ix | the vector index |
x | value of of the distribution to set in the distribution vector on the joint grid |
void apfel::Distribution::SetSubGrid | ( | int const & | ig, |
std::vector< double > const & | sg ) |
Function to set the single sub-grid.
ig | the subgrid index |
sg | the vector of the sub-grid |
void apfel::Distribution::SetSubGrids | ( | std::vector< std::vector< double > > const & | sgs | ) |
Function to set all the sub-grids.
sgs | the vector of vectoris of the sub-grids |