APFEL 4.8.0
A PDF evolution library in C++
Loading...
Searching...
No Matches
Classes | Namespaces
structurefunctionbuilder.h File Reference
#include "apfel/grid.h"
#include "apfel/dglap.h"
#include "apfel/observable.h"
#include "apfel/disbasis.h"
#include "apfel/dglapbuilder.h"

Go to the source code of this file.

Classes

struct  apfel::StructureFunctionObjects
 Structure that contains all the precomputed quantities needed to compute the DIS structure functions, i.e. the perturbative coefficients of the coefficient functions for F2, FL, and xF3. More...
 

Namespaces

namespace  apfel
 Namespace for all APFEL++ functions and classes.
 

Functions

Structure function builders

Collection of functions that build a map of Observable objects corresponding to the different component of the structure functions.

std::map< int, Observable<> > apfel::BuildStructureFunctions (std::function< StructureFunctionObjects(double const &, std::vector< double > const &)> const &FObj, std::function< std::map< int, double >(double const &, double const &)> const &InDistFunc, int const &PerturbativeOrder, std::function< double(double const &)> const &Alphas, std::function< std::vector< double >(double const &)> const &Couplings, double const &xiR=1, double const &xiF=1)
 The BuildStructureFunctions function constructs a map of "Observable" objects.
 
std::map< int, Observable<> > apfel::BuildStructureFunctions (std::function< StructureFunctionObjects(double const &, std::vector< double > const &)> const &FObj, std::function< double(int const &, double const &, double const &)> const &InDistFunc, int const &PerturbativeOrder, std::function< double(double const &)> const &Alphas, std::function< std::vector< double >(double const &)> const &Couplings, double const &xiR=1, double const &xiF=1)
 The BuildStructureFunctions function constructs a map of "Observable" objects.
 
Distribution apfel::BuildStructureFunctions (StructureFunctionObjects const &FObjQ, std::map< int, Distribution > const &InDistFuncQ, int const &PerturbativeOrder, double const &AlphasQ, int const &k, double const &xiR=1, double const &xiF=1)
 The BuildStructureFunctions function constructs an "Observable" object.
 
std::map< int, Distributionapfel::BuildStructureFunctions (StructureFunctionObjects const &FObjQ, std::map< int, Distribution > const &InDistFuncQ, int const &PerturbativeOrder, double const &AlphasQ, double const &xiR=1, double const &xiF=1)
 The BuildStructureFunctions function constructs a map of "Observable" objects.
 

Variables

DIS structure function object initializers

Collection of functions that initialise StructureFunctionObjects structure for the different kinds of structure functions available.

std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2NCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF2NCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC F2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLNCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeFLNCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC FL in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF3NCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF3NCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC xF3 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::Initializeg4NCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The Initializeg4NCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC g4 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializegLNCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializegLNCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC gL in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::Initializeg1NCObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The Initializeg1NCObjectsZM precomputes the perturbative coefficients of coefficient functions for NC xg1 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2CCPlusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF2CCPlusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( F2(nu) + F2(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2CCMinusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF2CCMinusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( F2(nu) - F2(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLCCPlusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeFLCCPlusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( FL(nu) + FL(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLCCMinusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeFLCCMinusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( FL(nu) - FL(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF3CCPlusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF3CCPlusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( F3(nu) + F3(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF3CCMinusObjectsZM )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF3CCMinusObjectsZM precomputes the perturbative coefficients of coefficient functions for combination ( F3(nu) - F3(nubar) ) / 2 in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2NCObjectsMassive )(Grid const &g, std::vector< double > const &Masses, double const &IntEps=1e-5, int const &nxi=150, double const &ximin=0.01, double const &ximax=10000, int const &intdeg=3, double const &lambda=0.0005)
 The InitializeF2NCObjectsMassive precomputes the perturbative coefficients of coefficient functions for NC F2 in the massive scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLNCObjectsMassive )(Grid const &g, std::vector< double > const &Masses, double const &IntEps=1e-5, int const &nxi=150, double const &ximin=0.01, double const &ximax=10000, int const &intdeg=3, double const &lambda=0.0005)
 The InitializeFLNCObjectsMassive precomputes the perturbative coefficients of coefficient functions for NC FL in the massive scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2NCObjectsMassiveZero )(Grid const &g, std::vector< double > const &Masses, double const &IntEps=1e-5, int const &nxi=150, double const &ximin=0.01, double const &ximax=10000, int const &intdeg=3, double const &lambda=0.0005)
 The InitializeF2NCObjectsMassiveZero precomputes the perturbative coefficients of coefficient functions for NC F2 in the massless limit of the massive scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLNCObjectsMassiveZero )(Grid const &g, std::vector< double > const &Masses, double const &IntEps=1e-5, int const &nxi=150, double const &ximin=0.01, double const &ximax=10000, int const &intdeg=3, double const &lambda=0.0005)
 The InitializeFLNCObjectsMassiveZero precomputes the perturbative coefficients of coefficient functions for NC FL in the massless limit of the massive scheme and store them in the 'StructureFunctionObjects' structure.
 
SIA structure function object initializers

Collection of functions that initialise StructureFunctionObjects structure for the different kinds of structure functions available.

Note
For now only Zero-Mass structure functions up to O(αs) are implemented.
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF2NCObjectsZMT )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF2NCObjectsZMT precomputes the perturbative coefficients of coefficient functions for NC F2 for SIA in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeFLNCObjectsZMT )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeFLNCObjectsZMT precomputes the perturbative coefficients of coefficient functions for NC FL for SIA in the ZM scheme and store them in the 'StructureFunctionObjects' structure.
 
std::function< StructureFunctionObjects(double const &, std::vector< double > const &) apfel::InitializeF3NCObjectsZMT )(Grid const &g, std::vector< double > const &Thresholds, double const &IntEps=1e-5)
 The InitializeF3NCObjectsZMT precomputes the perturbative coefficients of coefficient functions for NC xF3 for SIA in the ZM scheme and store them in the 'StructureFunctionObjects' structure.