PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PARTONS::GPDVinnikov06 Class Reference

Module based on the original code from http://hepdata.cedar.ac.uk/pdfs. More...

Inheritance diagram for PARTONS::GPDVinnikov06:
PARTONS::GPDModule PARTONS::ModuleObject PARTONS::BaseObject

Public Member Functions

 GPDVinnikov06 (const std::string &className)
 Constructor. More...
 
virtual ~GPDVinnikov06 ()
 Default destructor. More...
 
virtual GPDVinnikov06clone () const
 Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More...
 
virtual void resolveObjectDependencies ()
 Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More...
 
virtual void configure (const ElemUtils::Parameters &parameters)
 Provides a generic method to configure all types of modules by passing a Parameters object. More...
 
virtual std::string toString () const
 Return a pre-formatted characters string for output visualization of class member's values. More...
 
- Public Member Functions inherited from PARTONS::GPDModule
virtual ~GPDModule ()
 Destructor. More...
 
virtual void run ()
 
virtual void prepareSubModules (const std::map< std::string, BaseObjectData > &subModulesData)
 Method used in automation to prepare all the modules used by this current module and configure them recursively. More...
 
virtual PartonDistribution compute (const GPDKinematic &kinematic, GPDType::Type gpdType)
 Virtual method, computes GPD with some input parameters. More...
 
virtual GPDResult compute (const GPDKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >())
 Virtual method, computes GPD with some input parameters. More...
 
List< GPDTypegetListOfAvailableGPDTypeForComputation () const
 Get list of available GPDTypes in the model considered. More...
 
virtual PartonDistribution computeE ()
 This method can be implemented in the child class if the GPD E is available to compute. More...
 
virtual PartonDistribution computeEt ()
 This method can be implemented in the child class if the GPD Et is available to compute. More...
 
virtual PartonDistribution computeHTrans ()
 This method can be implemented in the child class if the GPD HTrans is available to compute. More...
 
virtual PartonDistribution computeETrans ()
 This method can be implemented in the child class if the GPD ETrans is available to compute. More...
 
virtual PartonDistribution computeHtTrans ()
 This method can be implemented in the child class if the GPD HtTrans is available to compute. More...
 
virtual PartonDistribution computeEtTrans ()
 This method can be implemented in the child class if the GPD EtTrans is available to compute. More...
 
virtual PartonDistribution computeH3p ()
 This method can be implemented in the child class if the GPD H3p is available to compute. More...
 
virtual PartonDistribution computeE3p ()
 This method can be implemented in the child class if the GPD E3p is available to compute. More...
 
virtual PartonDistribution computeHt3p ()
 This method can be implemented in the child class if the GPD Ht3p is available to compute. More...
 
virtual PartonDistribution computeEt3p ()
 This method can be implemented in the child class if the GPD Et3p is available to compute. More...
 
virtual PartonDistribution computeH3m ()
 This method can be implemented in the child class if the GPD H3m is available to compute. More...
 
virtual PartonDistribution computeE3m ()
 This method can be implemented in the child class if the GPD E3m is available to compute. More...
 
virtual PartonDistribution computeHt3m ()
 This method can be implemented in the child class if the GPD Ht3m is available to compute. More...
 
virtual PartonDistribution computeEt3m ()
 This method can be implemented in the child class if the GPD Et3m is available to compute. More...
 
virtual PartonDistribution computeEbarTrans ()
 This method can be implemented in the child class if the GPD EbarTrans is available to compute. More...
 
double getMuF2Ref () const
 Get reference factorization scale used by the GPD model before evolution. More...
 
const GPDEvolutionModulegetEvolQcdModule () const
 Set underlying GPD Evolution module. More...
 
void setEvolQcdModule (GPDEvolutionModule *pEvolQcdModule)
 Get underlying GPD Evolution module. More...
 
const CollinearDistributionModulegetPDFModule () const
 Set underlying PDF module. More...
 
void setPDFModule (CollinearDistributionModule *pPDFModule)
 Get underlying PDF module. More...
 
- Public Member Functions inherited from PARTONS::ModuleObject
 ModuleObject (const std::string &className, ChannelType::Type channelType)
 Constructor. More...
 
virtual ~ModuleObject ()
 Default destructor. More...
 
unsigned int getReferenceModuleId () const
 Get reference module id. More...
 
void setReferenceModuleId (unsigned int referenceModuleId)
 Set reference module id. More...
 
ChannelType::Type getChannelType () const
 Get channel type. More...
 
- Public Member Functions inherited from PARTONS::BaseObject
 BaseObject (const std::string &className)
 Constructor. More...
 
virtual ~BaseObject ()
 Default destructor. More...
 
void serialize (ElemUtils::Packet &packet) const
 Used to split a complex C++ object into a concatenation of simple types. More...
 
void unserialize (ElemUtils::Packet &packet)
 Used to rebuild a complex C++ object from a concatenation of simple type. More...
 
bool operator< (const BaseObject &other) const
 Overload of < operator to sort BaseObject object by its indexId value. More...
 
const std::string & getClassName () const
 
unsigned int getObjectId () const
 
int getIndexId () const
 
void setIndexId (int indexId)
 

Static Public Attributes

static const unsigned int classId
 ID assigned by BaseObjectRegistry. More...
 
- Static Public Attributes inherited from PARTONS::GPDModule
static const std::string GPD_MODULE_CLASS_NAME = "GPDModule"
 Type of the module in XML automation. More...
 
- Static Public Attributes inherited from PARTONS::ModuleObject
static const std::string CLASS_NAME = "className"
 

Protected Member Functions

 GPDVinnikov06 (const GPDVinnikov06 &other)
 Copy constructor. More...
 
virtual void isModuleWellConfigured ()
 Pure virtual function that provides skeleton to check if the module is well initialized and configured. More...
 
virtual void initModule ()
 Pure virtual function that provides skeleton for module initialization. More...
 
virtual PartonDistribution computeH ()
 This method can be implemented in the child class if the GPD H is available to compute. More...
 
virtual PartonDistribution computeHt ()
 This method can be implemented in the child class if the GPD Ht is available to compute. More...
 
- Protected Member Functions inherited from PARTONS::GPDModule
 GPDModule (const std::string &className)
 Default constructor. More...
 
 GPDModule (const GPDModule &other)
 Copy constructor. More...
 
virtual void setKinematics (const GPDKinematic &kinematic)
 Set internal kinematics. More...
 
void setCurrentGPDType (GPDType::Type gpdType)
 Set current GPD type to be computed. More...
 
- Protected Member Functions inherited from PARTONS::ModuleObject
 ModuleObject (const ModuleObject &other)
 
- Protected Member Functions inherited from PARTONS::BaseObject
 BaseObject (const BaseObject &other)
 Copy constructor. More...
 
void info (const std::string &functionName, const std::string &message) const
 Print info message into logger. More...
 
void debug (const std::string &functionName, const std::string &message) const
 Print debug message into logger. More...
 
void warn (const std::string &functionName, const std::string &message) const
 Print warning message into logger. More...
 
void errorMissingParameter (const std::string &parameterName) const
 Use in automation process to throw exception when a parameter is missing from the XML scenario file. More...
 

Private Member Functions

double gpdh (int const i_part, double x, double const xi, double const t, int const n_par, double *const param)
 Evaluation of GPD H. More...
 
double gpdh_pol (int const i_part, double x, double const xi, double const t, int const n_par, double *const param)
 Evaluation of GPD Ht. More...
 
double dd1 (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD H and x < -xi part More...
 
double dd2 (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD H and -xi < x < xi part. More...
 
double dd3 (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD H and x > xi part. More...
 
double dd1_pol (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD Ht and x < -xi part. More...
 
double dd2_pol (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD Ht and x > xi part. More...
 
double dd3_pol (int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double *const param)
 Double distribution for GPD Ht and x > xi part. More...
 
double uval (double const x, double const t)
 Unpolarized PDF for quarks uVal convoluted with t-dependence. More...
 
double dval (double const x, double const t)
 Unpolarized PDF for quarks dVal convoluted with t-dependence. More...
 
double usea (double const x, double const t)
 Unpolarized PDF for quarks uSea convoluted with t-dependence. More...
 
double dsea (double const x, double const t)
 Unpolarized PDF for quarks dSea convoluted with t-dependence. More...
 
double ssea (double const x, double const t)
 Unpolarized PDF for quarks s convoluted with t-dependence. More...
 
double glu (double const x, double const t)
 Unpolarized PDF for gluons convoluted with t-dependence. More...
 
double uval_pol (double const x, double const t)
 Polarized PDF for quarks uVal convoluted with t-dependence. More...
 
double dval_pol (double const x, double const t)
 Polarized PDF for quarks dVal convoluted with t-dependence. More...
 
double usea_pol (double const x, double const t)
 Polarized PDF for quarks uSea convoluted with t-dependence. More...
 
double dsea_pol (double const x, double const t)
 Polarized PDF for quarks dSea convoluted with t-dependence. More...
 
double ssea_pol (double const x, double const t)
 Polarized PDF for quarks s convoluted with t-dependence. More...
 
double glu_pol (double const x, double const t)
 Polarized PDF for gluons convoluted with t-dependence. More...
 
double dd_int_simp (double const bmin, double const bmax, double(GPDVinnikov06::*dd)(int, double, double, double, double, int, double *), int const i_part, double const x, double const xi, double const t, int const n_par, double *param)
 Integration for double distribution. More...
 
double gammf (double const x)
 Gamma function. More...
 
double prof_funct (double const b, double const beta, double const alpha)
 Double distribution profile function. More...
 
double power (double const x, double const y)
 Exponentiation function. More...
 

Private Attributes

const double EPS_BETR
 Epsilon to avoid the evaluation for x=xi. More...
 
const int SIMP_INT
 Number of steps used in the integration. More...
 
int n_par
 Number of model parameters. More...
 
double param [6]
 Model parameters (double distribution profile function parameter for all partons). More...
 

Additional Inherited Members

- Protected Attributes inherited from PARTONS::GPDModule
std::map< GPDType::Type, PartonDistribution(GPDModule::*)()> m_listGPDComputeTypeAvailable
 List of GPD types that can be computed by the child class. More...
 
std::map< GPDType::Type, PartonDistribution(GPDModule::*)()>::iterator m_it
 Iterator. More...
 
double m_x
 Longitudinal momentum fraction of the active parton. More...
 
double m_xi
 Skewness. More...
 
double m_t
 Mandelstam variable, momentum transfer on the hadron target. More...
 
double m_MuF2
 Factorization scale squared. More...
 
double m_MuR2
 Renormalization scale squared. More...
 
GPDType::Type m_currentGPDComputeType
 Current GPD type. More...
 
double m_MuF2_ref
 Reference factorization scale used by the GPD model before evolution. More...
 
GPDEvolutionModulem_pGPDEvolutionModule
 Pointer to the underlying GPD Evolution module. More...
 
CollinearDistributionModulem_pCollinearDistributionModule
 Pointer to the underlying PDF module. More...
 
- Protected Attributes inherited from PARTONS::ModuleObject
ModuleObjectFactorym_pModuleObjectFactory
 Pointer tp module object factory. More...
 

Detailed Description

Module based on the original code from http://hepdata.cedar.ac.uk/pdfs.

For the reference, see arxiv:hep-ph/0604248 [21].

Available GPD types: H, Ht.

Constructor & Destructor Documentation

◆ GPDVinnikov06() [1/2]

PARTONS::GPDVinnikov06::GPDVinnikov06 ( const std::string &  className)

Constructor.

See BaseObject::BaseObject and ModuleObject::ModuleObject for more details.

Parameters
classNamename of child class.

◆ ~GPDVinnikov06()

PARTONS::GPDVinnikov06::~GPDVinnikov06 ( )
virtual

Default destructor.

◆ GPDVinnikov06() [2/2]

PARTONS::GPDVinnikov06::GPDVinnikov06 ( const GPDVinnikov06 other)
protected

Copy constructor.

Parameters
otherObject to be copied.

Member Function Documentation

◆ clone()

GPDVinnikov06 * PARTONS::GPDVinnikov06::clone ( ) const
virtual

Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.

Returns

Implements PARTONS::GPDModule.

◆ computeH()

PartonDistribution PARTONS::GPDVinnikov06::computeH ( )
protectedvirtual

This method can be implemented in the child class if the GPD H is available to compute.

Returns
PartonDistribution object. Contains results for each flavor of partons.

Reimplemented from PARTONS::GPDModule.

◆ computeHt()

PartonDistribution PARTONS::GPDVinnikov06::computeHt ( )
protectedvirtual

This method can be implemented in the child class if the GPD Ht is available to compute.

Returns
PartonDistribution object. Contains results for each flavor of partons.

Reimplemented from PARTONS::GPDModule.

◆ configure()

void PARTONS::GPDVinnikov06::configure ( const ElemUtils::Parameters &  parameters)
virtual

Provides a generic method to configure all types of modules by passing a Parameters object.

Parameters class represents a list of couples key/value (see Parameters class documentation for more info).

Parameters
parametersElemUtils::Parameters object.

Reimplemented from PARTONS::GPDModule.

◆ dd1()

double PARTONS::GPDVinnikov06::dd1 ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD H and x < -xi part

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s)
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd1_pol()

double PARTONS::GPDVinnikov06::dd1_pol ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD Ht and x < -xi part.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd2()

double PARTONS::GPDVinnikov06::dd2 ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD H and -xi < x < xi part.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd2_pol()

double PARTONS::GPDVinnikov06::dd2_pol ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD Ht and x > xi part.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd3()

double PARTONS::GPDVinnikov06::dd3 ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD H and x > xi part.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s)
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd3_pol()

double PARTONS::GPDVinnikov06::dd3_pol ( int const  i_part,
double const  beta,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Double distribution for GPD Ht and x > xi part.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
betaDouble distribution variable.
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dd_int_simp()

double PARTONS::GPDVinnikov06::dd_int_simp ( double const  bmin,
double const  bmax,
double(GPDVinnikov06::*)(int, double, double, double, double, int, double *)  dd,
int const  i_part,
double const  x,
double const  xi,
double const  t,
int const  n_par,
double *  param 
)
private

Integration for double distribution.

Parameters
bminIntegration limit min.
bmaxIntegration limit max.
ddDouble distribution function to be integrated.
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ dsea()

double PARTONS::GPDVinnikov06::dsea ( double const  x,
double const  t 
)
private

Unpolarized PDF for quarks dSea convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ dsea_pol()

double PARTONS::GPDVinnikov06::dsea_pol ( double const  x,
double const  t 
)
private

Polarized PDF for quarks dSea convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ dval()

double PARTONS::GPDVinnikov06::dval ( double const  x,
double const  t 
)
private

Unpolarized PDF for quarks dVal convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ dval_pol()

double PARTONS::GPDVinnikov06::dval_pol ( double const  x,
double const  t 
)
private

Polarized PDF for quarks dVal convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ gammf()

double PARTONS::GPDVinnikov06::gammf ( double const  x)
private

Gamma function.

Parameters
xArgument.

◆ glu()

double PARTONS::GPDVinnikov06::glu ( double const  x,
double const  t 
)
private

Unpolarized PDF for gluons convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ glu_pol()

double PARTONS::GPDVinnikov06::glu_pol ( double const  x,
double const  t 
)
private

Polarized PDF for gluons convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ gpdh()

double PARTONS::GPDVinnikov06::gpdh ( int const  i_part,
double  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Evaluation of GPD H.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ gpdh_pol()

double PARTONS::GPDVinnikov06::gpdh_pol ( int const  i_part,
double  x,
double const  xi,
double const  t,
int const  n_par,
double *const  param 
)
private

Evaluation of GPD Ht.

Parameters
i_partParton selection (0 for g, -1/+1 for uSea/uVal, -2/+2 for dSea/dVal, 3 for s).
x,xi,tGPD variables.
n_parNumber of input parameters.
paramInput parameters.
See also
n_par, param

◆ initModule()

void PARTONS::GPDVinnikov06::initModule ( )
protectedvirtual

Pure virtual function that provides skeleton for module initialization.

Children must define and override it.

Reimplemented from PARTONS::GPDModule.

◆ isModuleWellConfigured()

void PARTONS::GPDVinnikov06::isModuleWellConfigured ( )
protectedvirtual

Pure virtual function that provides skeleton to check if the module is well initialized and configured.

Children must define and override it.

Reimplemented from PARTONS::GPDModule.

◆ power()

double PARTONS::GPDVinnikov06::power ( double const  x,
double const  y 
)
private

Exponentiation function.

Parameters
x,yExponentiation parameters x^y.

◆ prof_funct()

double PARTONS::GPDVinnikov06::prof_funct ( double const  b,
double const  beta,
double const  alpha 
)
private

Double distribution profile function.

Parameters
bProfile parameter.
beta,alphaDouble distribution variables.

◆ resolveObjectDependencies()

void PARTONS::GPDVinnikov06::resolveObjectDependencies ( )
virtual

Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others.

To avoid the problem of pointer resolution order, this method is called by the BaseObjectRegistery after all objects are well registered in it. See BaseObjectRegistry class documentation for more details.

Reimplemented from PARTONS::GPDModule.

◆ ssea()

double PARTONS::GPDVinnikov06::ssea ( double const  x,
double const  t 
)
private

Unpolarized PDF for quarks s convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ ssea_pol()

double PARTONS::GPDVinnikov06::ssea_pol ( double const  x,
double const  t 
)
private

Polarized PDF for quarks s convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ toString()

std::string PARTONS::GPDVinnikov06::toString ( ) const
virtual

Return a pre-formatted characters string for output visualization of class member's values.

Returns
a pre-formatted characters string.

Reimplemented from PARTONS::GPDModule.

◆ usea()

double PARTONS::GPDVinnikov06::usea ( double const  x,
double const  t 
)
private

Unpolarized PDF for quarks uSea convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ usea_pol()

double PARTONS::GPDVinnikov06::usea_pol ( double const  x,
double const  t 
)
private

Polarized PDF for quarks uSea convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ uval()

double PARTONS::GPDVinnikov06::uval ( double const  x,
double const  t 
)
private

Unpolarized PDF for quarks uVal convoluted with t-dependence.

Parameters
x,tGPD variables.

◆ uval_pol()

double PARTONS::GPDVinnikov06::uval_pol ( double const  x,
double const  t 
)
private

Polarized PDF for quarks uVal convoluted with t-dependence.

Parameters
x,tGPD variables.

Member Data Documentation

◆ classId

const unsigned int PARTONS::GPDVinnikov06::classId
static
Initial value:
=
new GPDVinnikov06("GPDVinnikov06"))
unsigned int registerBaseObject(BaseObject *pBaseObject)
Store a unique instance of a module identified by a unique string character key.
Definition: BaseObjectRegistry.cpp:45
static BaseObjectRegistry * getInstance()
Static function to be able to retrieve a unique instance pointer of this class anywhere in the code.
Definition: BaseObjectRegistry.cpp:15
GPDVinnikov06(const std::string &className)
Constructor.
Definition: GPDVinnikov06.cpp:21

ID assigned by BaseObjectRegistry.

◆ EPS_BETR

const double PARTONS::GPDVinnikov06::EPS_BETR
private

Epsilon to avoid the evaluation for x=xi.

◆ n_par

int PARTONS::GPDVinnikov06::n_par
private

Number of model parameters.

◆ param

double PARTONS::GPDVinnikov06::param[6]
private

Model parameters (double distribution profile function parameter for all partons).

◆ SIMP_INT

const int PARTONS::GPDVinnikov06::SIMP_INT
private

Number of steps used in the integration.


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