11#include <apfel/apfelxx.h>
29 Parameterisation(std::string
const& name =
"",
int const& nfuncs = 0, std::vector<double> pars = {},
bool const& anders =
false);
52 virtual double Evaluate(
double const& x,
double const& b,
double const& zeta,
int const& ifunc)
const {
return 0; };
58 std::function<double(
double const&,
double const&,
double const&,
int const&)>
Function()
const;
71 virtual double Derive(
double const& x,
double const& b,
double const& zeta,
int const& ifunc,
int const& ipar)
const {
return 0; };
78 std::function<double(
double const&,
double const&,
double const&,
int const&,
int const&)>
Derivative()
const;
111 virtual std::function<std::map<int, double>(
double const&,
double const&)>
LHAPDF_Function()
const {
return nullptr; }
112 virtual std::function<std::map<int, double>(
double const&,
double const&)>
LHAPDF_Derivative(
int)
const {
return nullptr; }
113 virtual std::function<apfel::Set<apfel::Distribution>(
double const&)>
DistributionFunction()
const {
return nullptr; }
114 virtual std::function<apfel::Set<apfel::Distribution>(
double const&)>
DistributionDerivative(
int)
const {
return nullptr; }
Mother class that implements the main feautures of a functional parameterisation of non-perturbative ...
Definition: parameterisation.h:20
virtual std::function< std::map< int, double >(double const &, double const &)> LHAPDF_Derivative(int) const
Definition: parameterisation.h:112
virtual void EvaluateOnGrid()
Definition: parameterisation.h:53
virtual std::vector< double > GetParameters() const
Definition: parameterisation.h:105
virtual void DeriveOnGrid()
Definition: parameterisation.h:72
int GetNumberOfFunctions() const
Definition: parameterisation.h:104
virtual std::function< apfel::Set< apfel::Distribution >(double const &)> DistributionDerivative(int) const
Definition: parameterisation.h:114
virtual void SetParameters(std::vector< double > const &pars)
Function that sets the free parameters of the parameterisation.
Definition: parameterisation.h:41
Parameterisation(std::string const &name="", int const &nfuncs=0, std::vector< double > pars={}, bool const &anders=false)
The "Parameterisation" constructor.
virtual std::vector< std::string > GetParameterNames() const
Virtual function that returns a vector of strings containing the names of the parameters in LaTex for...
Definition: parameterisation.h:90
virtual ~Parameterisation()
The "Parameterisation" destructor.
Definition: parameterisation.h:34
std::string _name
Name of the parameterisation.
Definition: parameterisation.h:117
std::function< double(double const &, double const &, double const &, int const &)> Function() const
Function that returns the parametrisation in the form of a std::function.
std::vector< double > _pars
The vector of free parameters.
Definition: parameterisation.h:119
virtual std::string LatexFormula() const
Virtual function that returns a string with the formula of the non-perturbative function(s) in LaTex ...
Definition: parameterisation.h:84
int _nfuncs
Number of output functions.
Definition: parameterisation.h:118
virtual double Evaluate(double const &x, double const &b, double const &zeta, int const &ifunc) const
Virtual function that returns the value of one of the functions.
Definition: parameterisation.h:52
virtual std::string GetDescription() const
Virtual function that returns a short description of the parametrisation.
Definition: parameterisation.h:96
std::string GetName() const
Definition: parameterisation.h:103
bool HasGradient() const
Definition: parameterisation.h:107
std::function< double(double const &, double const &, double const &, int const &, int const &)> Derivative() const
Function that returns the derivative of the parametrisation in the form of a std::function.
virtual double Derive(double const &x, double const &b, double const &zeta, int const &ifunc, int const &ipar) const
Virtual function that returns the value of the derivative of one of the functions.
Definition: parameterisation.h:71
virtual std::function< std::map< int, double >(double const &, double const &)> LHAPDF_Function() const
Definition: parameterisation.h:111
virtual int GetParameterNumber() const
Definition: parameterisation.h:106
virtual std::function< apfel::Set< apfel::Distribution >(double const &)> DistributionFunction() const
Definition: parameterisation.h:113
bool _anders
Whether the parametersation provides analytic derivatives.
Definition: parameterisation.h:120