APFEL 4.8.0
A PDF evolution library in C++
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
apfel::InitialiseEvolution Class Reference

The InitialiseEvolution performs all the operations to initialise a DGLAP evolution using an EvolutionSetup object to retrieve the relevant information. This class also provides the necessary functions to access the evolved distributions, coupling(s), and masses. More...

#include <initialiseevolution.h>

Public Member Functions

 InitialiseEvolution (EvolutionSetup const &setup, bool const &WriteGrid=false, std::string const &GridHeader="")
 The InitialiseEvolution constructor.
 
bool CheckSetup () const
 The CheckSetup function checks that the input setup is meaningful and compatible with the current capabilities of the code.
 
void ReportSetup () const
 The ReportSetup function reports the parameters in a human readable format.
 
void InitialiseCouplings ()
 The InitialiseCouplings function intialises and tabulates the running coupling(s).
 
void InitialiseDglapObject ()
 The InitialiseDglapObject function intialises the relevant objects for the DGLAP evolution and constructs a Dglap object to be used for the evolution.
 
void TabulateEvolution (std::function< std::map< int, double >(double const &, double const &)> const &InSet)
 The TabulateEvolution function computes the DGLAP evolution and tabulates the distributions over and (x,Q2) grid. The tabulated distributions can be accessed via the KnotArray() array function.
 
void WriteGridInfo ()
 The WriteGridInfo function creates the folder and writes the info file of the LHAPDF grid.
 
void WriteGrid ()
 The WriteGrid function dumps to file in the LHAPDF format the actual PDF grid.
 
double Alphas (double const &mu) const
 Function that returns the evolved strong coupling.
 
std::map< double, std::map< int, LHKnotArray > > KnotArray () const
 Function that returns the full set of distributions tabulated on the (x,Q2) grid.
 
TabulateObject< Set< Distribution > > TabulatedDistributions () const
 Function that returns the full set of distributions as a TabulateObject object.
 
EvolutionSetup GetEvolutionSetup () const
 Function that returns the EvolutionSetup object.
 

Private Attributes

EvolutionSetup _setup
 Evolution setup object.
 
bool _WriteGrid
 Switch to write LHAPDF grids.
 
std::string _GridHeader
 Part of the LHAPDF grid header that can be set externally (the format is resposibility of the user)
 
std::unique_ptr< const Grid_g
 x-space grid
 
std::function< double(double const &) _as )
 Strong coupling function.
 
std::map< int, DglapObjects_DglapObj
 Dglap evolution objects.
 
std::map< double, std::map< int, LHKnotArray > > _KnotArray
 Object that emulates the KnotArray of LHAPDF to be fed to LHAPDF itself.
 
std::unique_ptr< const TabulateObject< Set< Distribution > > > _TabulatedDists
 Tabulated distributions.
 

Detailed Description

The InitialiseEvolution performs all the operations to initialise a DGLAP evolution using an EvolutionSetup object to retrieve the relevant information. This class also provides the necessary functions to access the evolved distributions, coupling(s), and masses.

Constructor & Destructor Documentation

◆ InitialiseEvolution()

apfel::InitialiseEvolution::InitialiseEvolution ( EvolutionSetup const & setup,
bool const & WriteGrid = false,
std::string const & GridHeader = "" )

The InitialiseEvolution constructor.

Parameters
setupthe EvolutionSetup data structure encapsulate the evolution parameters
WriteGridswitch to enable the writing of grids in the LHAPDF format (default: false)
GridHeaderpart of the LHAPDF grid header that can be set externally (default: empty = use default)

Member Function Documentation

◆ Alphas()

double apfel::InitialiseEvolution::Alphas ( double const & mu) const
inline

Function that returns the evolved strong coupling.

Parameters
muthe value of the renormalisation scale μR
Returns
the evolved strong coupling

◆ CheckSetup()

bool apfel::InitialiseEvolution::CheckSetup ( ) const

The CheckSetup function checks that the input setup is meaningful and compatible with the current capabilities of the code.

Returns
true or false according to whether the check is succesful or not
Note
Of course, not all possible checks are implemented. The user has to be careful when modifying the evolution setup and make sure that the settings are reasonable.

◆ GetEvolutionSetup()

EvolutionSetup apfel::InitialiseEvolution::GetEvolutionSetup ( ) const
inline

Function that returns the EvolutionSetup object.

Returns
the the _setup object

◆ InitialiseCouplings()

void apfel::InitialiseEvolution::InitialiseCouplings ( )

The InitialiseCouplings function intialises and tabulates the running coupling(s).

◆ InitialiseDglapObject()

void apfel::InitialiseEvolution::InitialiseDglapObject ( )

The InitialiseDglapObject function intialises the relevant objects for the DGLAP evolution and constructs a Dglap object to be used for the evolution.

◆ KnotArray()

std::map< double, std::map< int, LHKnotArray > > apfel::InitialiseEvolution::KnotArray ( ) const
inline

Function that returns the full set of distributions tabulated on the (x,Q2) grid.

Returns
the _KnotArray attribute

◆ ReportSetup()

void apfel::InitialiseEvolution::ReportSetup ( ) const

The ReportSetup function reports the parameters in a human readable format.

◆ TabulatedDistributions()

TabulateObject< Set< Distribution > > apfel::InitialiseEvolution::TabulatedDistributions ( ) const
inline

Function that returns the full set of distributions as a TabulateObject object.

Returns
the _KnotArray attribute

◆ TabulateEvolution()

void apfel::InitialiseEvolution::TabulateEvolution ( std::function< std::map< int, double >(double const &, double const &)> const & InSet)

The TabulateEvolution function computes the DGLAP evolution and tabulates the distributions over and (x,Q2) grid. The tabulated distributions can be accessed via the KnotArray() array function.

Parameters
InSetthe input set of distributions

◆ WriteGrid()

void apfel::InitialiseEvolution::WriteGrid ( )

The WriteGrid function dumps to file in the LHAPDF format the actual PDF grid.

Note
If the writing of the grid is enabled, this function is called every time that the TabulateEvolution function is called. Therefore this cab be used to compute more members of a given set without reinitialising the evolution.

◆ WriteGridInfo()

void apfel::InitialiseEvolution::WriteGridInfo ( )

The WriteGridInfo function creates the folder and writes the info file of the LHAPDF grid.

Member Data Documentation

◆ _as

std::function<double(double const&) apfel::InitialiseEvolution::_as)
private

Strong coupling function.

◆ _DglapObj

std::map<int, DglapObjects> apfel::InitialiseEvolution::_DglapObj
private

Dglap evolution objects.

◆ _g

std::unique_ptr<const Grid> apfel::InitialiseEvolution::_g
private

x-space grid

◆ _GridHeader

std::string apfel::InitialiseEvolution::_GridHeader
private

Part of the LHAPDF grid header that can be set externally (the format is resposibility of the user)

◆ _KnotArray

std::map<double, std::map<int, LHKnotArray> > apfel::InitialiseEvolution::_KnotArray
private

Object that emulates the KnotArray of LHAPDF to be fed to LHAPDF itself.

◆ _setup

EvolutionSetup apfel::InitialiseEvolution::_setup
private

Evolution setup object.

◆ _TabulatedDists

std::unique_ptr<const TabulateObject<Set<Distribution> > > apfel::InitialiseEvolution::_TabulatedDists
private

Tabulated distributions.

◆ _WriteGrid

bool apfel::InitialiseEvolution::_WriteGrid
private

Switch to write LHAPDF grids.


The documentation for this class was generated from the following file: