ePDF  1.1.0
A QED evolution library
Classes | Functions | Variables
ePDF Namespace Reference

Classes

class  AlphaQED
 The "Alpha QED" class. More...
 
class  AnalyticSolutions
 The "AnalyticSolutions" class that return the analytic solutions. More...
 
struct  evol_params
 The "evol_params" structure contains the evolution parameters. More...
 
struct  int_params
 
class  Matrix
 
class  NDistributions
 The "NDistribution" class. More...
 
class  NumericIntegrals
 The "NumericIntegrals" class. More...
 
class  xDistributions
 The "xDistribution" class. More...
 

Functions

std::pair< std::complex< double >, Matrix< std::complex< double > > > andim_lo (std::complex< double > const &N, int const &nf)
 function for the computation of the leading order splitting functions More...
 
std::pair< std::complex< double >, Matrix< std::complex< double > > > andim_nlo (std::complex< double > const &N, int const &nf)
 function for the computation of the next-to-leading order splitting functions More...
 
std::complex< double > psi (std::complex< double > const &z)
 function for the computation of the complex digamma function More...
 
double psi (double const &z)
 function for the computation of the real digamma function More...
 
std::complex< double > dpsi (std::complex< double > const &z, int const &m)
 function for the computation of the complex polygamma function More...
 
double dpsi (double const &z, int const &m)
 function for the computation of the real digamma function More...
 
double wgplg (int const &n, int const &p, double const &x)
 function for the computation of the Nielsen's generalized dilogs. More...
 
double polylog (int const &n, double const &x)
 function for the computation of the polylogarithms More...
 
double dilog (double const &x)
 function for the computation of the dilogarithm More...
 
double trilog (double const &x)
 function for the computation of the trilogarithm More...
 
Class to manage matrix objects
std::ostream & operator<< (std::ostream &os, Matrix< std::complex< double >> const &m)
 
template<class T >
Matrix< T > operator+ (Matrix< T > lhs, Matrix< T > const &rhs)
 
template<class T >
Matrix< T > operator- (Matrix< T > lhs, Matrix< T > const &rhs)
 
template<class T >
Matrix< T > operator* (Matrix< T > lhs, Matrix< T > const &rhs)
 
template<class T >
Matrix< T > operator* (Matrix< T > lhs, T const &rhs)
 
template<class T >
Matrix< T > operator* (T const &lhs, Matrix< T > rhs)
 
template<class T >
Matrix< T > operator/ (Matrix< T > lhs, T const &rhs)
 
template<class T >
Matrix< T > operator/ (T const &lhs, Matrix< T > rhs)
 
template<class T >
Matrix< T > operator* (Matrix< T > lhs, double const &rhs)
 
template<class T >
Matrix< T > operator* (double const &lhs, Matrix< T > rhs)
 
template<class T >
Matrix< T > operator/ (Matrix< T > lhs, double const &rhs)
 
template<class T >
Matrix< T > operator/ (double const &lhs, Matrix< T > rhs)
 

Variables

const std::vector< bool > orderRLL {true, true, true, false, false, false}
 Utility definitions. More...
 
const std::vector< bool > orderRNLL {true, true, true, true, true, true}
 
Definitions for recurrent constants.
const double Pi2 = M_PI * M_PI
 
const double FourPi = 4 * M_PI
 
const double emc = 0.5772156649015329
 
const double zeta2 = 1.6449340668482264
 
const double zeta3 = 1.2020569031595943
 
const double zeta4 = 1.0823232337111382
 
const double zeta5 = 1.0369277551433699
 
QCD colour factors
const double TR = 1.
 
const double CF = 1.
 
const double CA = 0.
 
const double NC = 3.
 
Electron mass

@]

const double me = 0.510998928e-3
 
Perturbative order map
const std::map< std::string, int > ptmap = {{"LL", 0}, {"NLL", 1}}
 

Function Documentation

◆ andim_lo()

std::pair<std::complex<double>, Matrix<std::complex<double> > > ePDF::andim_lo ( std::complex< double > const &  N,
int const &  nf 
)

function for the computation of the leading order splitting functions

Parameters
Ncomplex argument
nfthe number of active flavours
Returns
The leading order splitting functions function in N

◆ andim_nlo()

std::pair<std::complex<double>, Matrix<std::complex<double> > > ePDF::andim_nlo ( std::complex< double > const &  N,
int const &  nf 
)

function for the computation of the next-to-leading order splitting functions

Parameters
Ncomplex argument
nfthe number of active flavours
Returns
The next-to-leading order splitting functions function in N

◆ dilog()

double ePDF::dilog ( double const &  x)
inline

function for the computation of the dilogarithm

Parameters
xreal argument
Returns
$\mathrm{Li}_{2}(x)$

◆ dpsi() [1/2]

double ePDF::dpsi ( double const &  z,
int const &  m 
)
inline

function for the computation of the real digamma function

Parameters
zreal argument
Returns
The digamma function in z

◆ dpsi() [2/2]

std::complex<double> ePDF::dpsi ( std::complex< double > const &  z,
int const &  m 
)

function for the computation of the complex polygamma function

Parameters
zcomplex argument
mpositive integer degree of the polygamma
Returns
The polygamma of degree "m" function in "z"

◆ operator*() [1/5]

template<class T >
Matrix<T> ePDF::operator* ( double const &  lhs,
Matrix< T >  rhs 
)

◆ operator*() [2/5]

template<class T >
Matrix<T> ePDF::operator* ( Matrix< T >  lhs,
double const &  rhs 
)

◆ operator*() [3/5]

template<class T >
Matrix<T> ePDF::operator* ( Matrix< T >  lhs,
Matrix< T > const &  rhs 
)

◆ operator*() [4/5]

template<class T >
Matrix<T> ePDF::operator* ( Matrix< T >  lhs,
T const &  rhs 
)

◆ operator*() [5/5]

template<class T >
Matrix<T> ePDF::operator* ( T const &  lhs,
Matrix< T >  rhs 
)

◆ operator+()

template<class T >
Matrix<T> ePDF::operator+ ( Matrix< T >  lhs,
Matrix< T > const &  rhs 
)

◆ operator-()

template<class T >
Matrix<T> ePDF::operator- ( Matrix< T >  lhs,
Matrix< T > const &  rhs 
)

◆ operator/() [1/4]

template<class T >
Matrix<T> ePDF::operator/ ( double const &  lhs,
Matrix< T >  rhs 
)

◆ operator/() [2/4]

template<class T >
Matrix<T> ePDF::operator/ ( Matrix< T >  lhs,
double const &  rhs 
)

◆ operator/() [3/4]

template<class T >
Matrix<T> ePDF::operator/ ( Matrix< T >  lhs,
T const &  rhs 
)

◆ operator/() [4/4]

template<class T >
Matrix<T> ePDF::operator/ ( T const &  lhs,
Matrix< T >  rhs 
)

◆ operator<<()

std::ostream& ePDF::operator<< ( std::ostream &  os,
Matrix< std::complex< double >> const &  m 
)

◆ polylog()

double ePDF::polylog ( int const &  n,
double const &  x 
)
inline

function for the computation of the polylogarithms

Parameters
ninteger argument
xreal argument
Returns
$\mathrm{Li}_{n}(x)$
Note
Proxy for $\mathrm{S}_{n-1,1}(x)$

◆ psi() [1/2]

double ePDF::psi ( double const &  z)
inline

function for the computation of the real digamma function

Parameters
zreal argument
Returns
The digamma function in z

◆ psi() [2/2]

std::complex<double> ePDF::psi ( std::complex< double > const &  z)

function for the computation of the complex digamma function

Parameters
zcomplex argument
Returns
The digamma function in N

◆ trilog()

double ePDF::trilog ( double const &  x)
inline

function for the computation of the trilogarithm

Parameters
xreal argument
Returns
$\mathrm{Li}_{3}(x)$

◆ wgplg()

double ePDF::wgplg ( int const &  n,
int const &  p,
double const &  x 
)

function for the computation of the Nielsen's generalized dilogs.

Parameters
ninteger argument
pinteger argument
xreal argument
Returns
$\mathrm{S}_{n,p}(x)$
Note
Implementation translated from CERNLIB WGPLG.

Variable Documentation

◆ CA

const double ePDF::CA = 0.

◆ CF

const double ePDF::CF = 1.

◆ emc

const double ePDF::emc = 0.5772156649015329

◆ FourPi

const double ePDF::FourPi = 4 * M_PI

◆ me

const double ePDF::me = 0.510998928e-3

◆ NC

const double ePDF::NC = 3.

◆ orderRLL

const std::vector<bool> ePDF::orderRLL {true, true, true, false, false, false}

Utility definitions.

◆ orderRNLL

const std::vector<bool> ePDF::orderRNLL {true, true, true, true, true, true}

◆ Pi2

const double ePDF::Pi2 = M_PI * M_PI

◆ ptmap

const std::map<std::string, int> ePDF::ptmap = {{"LL", 0}, {"NLL", 1}}

◆ TR

const double ePDF::TR = 1.

◆ zeta2

const double ePDF::zeta2 = 1.6449340668482264

◆ zeta3

const double ePDF::zeta3 = 1.2020569031595943

◆ zeta4

const double ePDF::zeta4 = 1.0823232337111382

◆ zeta5

const double ePDF::zeta5 = 1.0369277551433699