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::DVCSCFFHeavyQuark Class Reference

TODO: Add description. More...

Inheritance diagram for PARTONS::DVCSCFFHeavyQuark:
PARTONS::DVCSCFFStandard PARTONS::DVCSConvolCoeffFunctionModule PARTONS::ConvolCoeffFunctionModule< DVCSConvolCoeffFunctionKinematic, DVCSConvolCoeffFunctionResult > PARTONS::ModuleObject PARTONS::MathIntegratorModule PARTONS::BaseObject

Public Member Functions

 DVCSCFFHeavyQuark (const std::string &className)
 Constructor. More...
 
virtual DVCSCFFHeavyQuarkclone () const
 Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More...
 
virtual ~DVCSCFFHeavyQuark ()
 Default destructor. 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...
 
- Public Member Functions inherited from PARTONS::DVCSCFFStandard
 DVCSCFFStandard (const std::string &className)
 Constructor. More...
 
virtual ~DVCSCFFStandard ()
 Default destructor. More...
 
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...
 
RunningAlphaStrongModulegetRunningAlphaStrongModule () const
 Get alphaS module. More...
 
void setRunningAlphaStrongModule (RunningAlphaStrongModule *pRunningAlphaStrongModule)
 Set alphaS module. More...
 
- Public Member Functions inherited from PARTONS::DVCSConvolCoeffFunctionModule
virtual ~DVCSConvolCoeffFunctionModule ()
 Destructor. More...
 
virtual std::string toString () const
 Return a pre-formatted characters string for output visualization of class member's values. More...
 
virtual void run ()
 
virtual void configure (const ElemUtils::Parameters &parameters)
 Provides a generic method to configure all types of modules by passing a Parameters object. More...
 
virtual DVCSConvolCoeffFunctionResult compute (const DVCSConvolCoeffFunctionKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >())
 Computes the coefficient functions at given kinematics. More...
 
virtual List< GPDTypegetListOfAvailableGPDTypeForComputation () const
 Must be implemented in child class. More...
 
PerturbativeQCDOrderType::Type getQCDOrderType () const
 Get order of the perturbative QCD computation. More...
 
void setQCDOrderType (PerturbativeQCDOrderType::Type qcdOrderType)
 Set order of the perturbative QCD computation. More...
 
virtual std::complex< double > computeCFF ()
 Method to compute some CFFs. More...
 
- Public Member Functions inherited from PARTONS::ConvolCoeffFunctionModule< DVCSConvolCoeffFunctionKinematic, DVCSConvolCoeffFunctionResult >
virtual ~ConvolCoeffFunctionModule ()
 Destructor. More...
 
GPDModulegetGPDModule () const
 Get pointer to the underlying GPD module. More...
 
void setGPDModule (GPDModule *gpdModule)
 Set pointer to the underlying GPD module. More...
 
bool isGPDModuleDependent () const
 True if this CCF module depends on a GPD module. More...
 
void setIsGPDModuleDependent (bool isGPDModuleDependent)
 True if this CCF module depends on a GPD 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)
 
- Public Member Functions inherited from PARTONS::MathIntegratorModule
 MathIntegratorModule ()
 Default constructor. More...
 
virtual ~MathIntegratorModule ()
 Default destructor. More...
 

Static Public Attributes

static const unsigned int classId
 Unique ID to automatically register the class in the registry. More...
 
- Static Public Attributes inherited from PARTONS::DVCSCFFStandard
static const unsigned int classId
 Unique ID to automatically register the class in the registry. More...
 
- Static Public Attributes inherited from PARTONS::DVCSConvolCoeffFunctionModule
static const std::string DVCS_CONVOL_COEFF_FUNCTION_MODULE_CLASS_NAME
 Type of the module in XML automation. More...
 
- Static Public Attributes inherited from PARTONS::ModuleObject
static const std::string CLASS_NAME = "className"
 
- Static Public Attributes inherited from PARTONS::MathIntegratorModule
static const std::string PARAM_NAME_INTEGRATOR_TYPE
 Parameter used in configureIntegrator() or XML automation to set the type of integrator. More...
 

Protected Member Functions

 DVCSCFFHeavyQuark (const DVCSCFFHeavyQuark &other)
 Copy constructor. More...
 
virtual std::complex< double > computeUnpolarized ()
 Method to compute some CFFs. More...
 
virtual std::complex< double > computePolarized ()
 Method to compute some CFFs. More...
 
- Protected Member Functions inherited from PARTONS::DVCSCFFStandard
 DVCSCFFStandard (const DVCSCFFStandard &other)
 Copy constructor. More...
 
virtual void initModule ()
 Pure virtual function that provides skeleton for module initialization. More...
 
virtual void isModuleWellConfigured ()
 Pure virtual function that provides skeleton to check if the module is well initialized and configured. More...
 
virtual std::complex< double > KernelGluonNLOA (double x)
 T^{g, NLO, A}, appendix A, eq. (A2) More...
 
virtual std::complex< double > KernelGluonNLOV (double x)
 T^{g, NLO, V}, appendix A, eq. (A2) More...
 
virtual std::complex< double > KernelQuarkNLOV (double x)
 T^{q, NLO, V}, appendix A, eq. (A2) More...
 
virtual std::complex< double > KernelQuarkNLOA (double x)
 T^{q, NLO, A}, appendix A, eq. (A2) More...
 
virtual void computeSubtractionFunctionsV ()
 
virtual void computeSubtractionFunctionsA ()
 
- Protected Member Functions inherited from PARTONS::DVCSConvolCoeffFunctionModule
 DVCSConvolCoeffFunctionModule (const std::string &className)
 Default constructor. More...
 
 DVCSConvolCoeffFunctionModule (const DVCSConvolCoeffFunctionModule &other)
 Copy constructor. More...
 
virtual void setKinematics (const DVCSConvolCoeffFunctionKinematic &kinematic)
 Set internal kinematics. More...
 
- Protected Member Functions inherited from PARTONS::ConvolCoeffFunctionModule< DVCSConvolCoeffFunctionKinematic, DVCSConvolCoeffFunctionResult >
 ConvolCoeffFunctionModule (const std::string &className, ChannelType::Type channelType)
 Constructor. More...
 
 ConvolCoeffFunctionModule (const ConvolCoeffFunctionModule &other)
 Copy constructor. 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...
 
- Protected Member Functions inherited from PARTONS::MathIntegratorModule
 MathIntegratorModule (const MathIntegratorModule &other)
 Copy constructor. More...
 
void setIntegrator (NumA::IntegratorType1D::Type integratorType)
 Sets a given integrator available in NumA++. More...
 
double integrate (NumA::FunctionType1D *pFunction, double a, double b, std::vector< double > &parameters)
 Computes the integral of a function defined via a functor. More...
 
void configureIntegrator (const ElemUtils::Parameters &parameters)
 Provides a generic method to configure all types of integration routines by passing a Parameters object. More...
 
NumA::Integrator1D * getMathIntegrator ()
 

Private Member Functions

std::complex< double > beta (double s, double mq)
 
std::complex< double > r (double s, double mq)
 
std::complex< double > MassiveKernelGluonNLOA (double x)
 
std::complex< double > MassiveKernelGluonNLOV (double x)
 
std::complex< double > computeIntegralsMassiveV ()
 
std::complex< double > computeIntegralsMassiveA ()
 
double ConvolReKernelGluonMassiveV (double x, std::vector< double > params)
 
double ConvolImKernelGluonMassiveV (double x, std::vector< double > params)
 
double ConvolReKernelGluonMassiveA (double x, std::vector< double > params)
 
double ConvolImKernelGluonMassiveA (double x, std::vector< double > params)
 
void initFunctorsForIntegrations ()
 Initialize functors. More...
 

Private Attributes

std::complex< double > m_betas
 
std::complex< double > m_rs
 
std::complex< double > m_betaq
 
std::complex< double > m_rq
 
std::complex< double > m_TF
 
NumA::FunctionType1D * m_pConvolReKernelGluonMassiveV
 
NumA::FunctionType1D * m_pConvolImKernelGluonMassiveV
 
NumA::FunctionType1D * m_pConvolReKernelGluonMassiveA
 
NumA::FunctionType1D * m_pConvolImKernelGluonMassiveA
 

Additional Inherited Members

- Protected Attributes inherited from PARTONS::DVCSCFFStandard
double m_logQ2OverMu2
 
double m_realPartSubtractQuark
 
double m_imaginaryPartSubtractQuark
 
double m_realPartSubtractGluon
 
double m_imaginaryPartSubtractGluon
 
double m_CF
 ( Nc^2 - 1 ) / ( 2 Nc ) (colour) More...
 
double m_Zeta
 
double m_Q
 
double m_alphaSOver2Pi
 
- Protected Attributes inherited from PARTONS::ConvolCoeffFunctionModule< DVCSConvolCoeffFunctionKinematic, DVCSConvolCoeffFunctionResult >
double m_xi
 Skewness. More...
 
double m_t
 Mandelstam variable, momentum transfer on the hadron target (in GeV^2). More...
 
double m_MuF2
 Factorization scale (in GeV^2). More...
 
double m_MuR2
 Renormalization scale (in GeV^2) More...
 
GPDType::Type m_currentGPDComputeType
 GPDType of the current CFF computation. More...
 
GPDModulem_pGPDModule
 Pointer to the underlying GPD module. More...
 
bool m_isGPDModuleDependent
 Boolean (true if this CCF module depends on a GPD module). More...
 
- Protected Attributes inherited from PARTONS::ModuleObject
ModuleObjectFactorym_pModuleObjectFactory
 Pointer tp module object factory. More...
 

Detailed Description

TODO: Add description.

Available CFF types: H, E, Ht, Et.

Constructor & Destructor Documentation

◆ DVCSCFFHeavyQuark() [1/2]

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

Constructor.

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

Parameters
classNameName of last child class.

◆ ~DVCSCFFHeavyQuark()

PARTONS::DVCSCFFHeavyQuark::~DVCSCFFHeavyQuark ( )
virtual

Default destructor.

◆ DVCSCFFHeavyQuark() [2/2]

PARTONS::DVCSCFFHeavyQuark::DVCSCFFHeavyQuark ( const DVCSCFFHeavyQuark other)
protected

Copy constructor.

Parameters
other

Member Function Documentation

◆ beta()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::beta ( double  s,
double  mq 
)
private

◆ clone()

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

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

Returns

Reimplemented from PARTONS::DVCSCFFStandard.

◆ computeIntegralsMassiveA()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::computeIntegralsMassiveA ( )
private

◆ computeIntegralsMassiveV()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::computeIntegralsMassiveV ( )
private

◆ computePolarized()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::computePolarized ( )
protectedvirtual

Method to compute some CFFs.

Can be implemented and used in child class, if needed.

Returns
Complex result.

Reimplemented from PARTONS::DVCSCFFStandard.

◆ computeUnpolarized()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::computeUnpolarized ( )
protectedvirtual

Method to compute some CFFs.

Can be implemented and used in child class, if needed.

Returns
Complex result.

Reimplemented from PARTONS::DVCSCFFStandard.

◆ ConvolImKernelGluonMassiveA()

double PARTONS::DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveA ( double  x,
std::vector< double >  params 
)
private

◆ ConvolImKernelGluonMassiveV()

double PARTONS::DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveV ( double  x,
std::vector< double >  params 
)
private

◆ ConvolReKernelGluonMassiveA()

double PARTONS::DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveA ( double  x,
std::vector< double >  params 
)
private

◆ ConvolReKernelGluonMassiveV()

double PARTONS::DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveV ( double  x,
std::vector< double >  params 
)
private

◆ initFunctorsForIntegrations()

void PARTONS::DVCSCFFHeavyQuark::initFunctorsForIntegrations ( )
private

Initialize functors.

◆ MassiveKernelGluonNLOA()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::MassiveKernelGluonNLOA ( double  x)
private

◆ MassiveKernelGluonNLOV()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::MassiveKernelGluonNLOV ( double  x)
private

◆ r()

std::complex< double > PARTONS::DVCSCFFHeavyQuark::r ( double  s,
double  mq 
)
private

◆ resolveObjectDependencies()

void PARTONS::DVCSCFFHeavyQuark::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::DVCSCFFStandard.

Member Data Documentation

◆ classId

const unsigned int PARTONS::DVCSCFFHeavyQuark::classId
static
Initial value:
=
new DVCSCFFHeavyQuark("DVCSCFFHeavyQuark"))
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
DVCSCFFHeavyQuark(const std::string &className)
Constructor.
Definition: DVCSCFFHeavyQuark.cpp:24

Unique ID to automatically register the class in the registry.

◆ m_betaq

std::complex<double> PARTONS::DVCSCFFHeavyQuark::m_betaq
private

◆ m_betas

std::complex<double> PARTONS::DVCSCFFHeavyQuark::m_betas
private

◆ m_pConvolImKernelGluonMassiveA

NumA::FunctionType1D* PARTONS::DVCSCFFHeavyQuark::m_pConvolImKernelGluonMassiveA
private

◆ m_pConvolImKernelGluonMassiveV

NumA::FunctionType1D* PARTONS::DVCSCFFHeavyQuark::m_pConvolImKernelGluonMassiveV
private

◆ m_pConvolReKernelGluonMassiveA

NumA::FunctionType1D* PARTONS::DVCSCFFHeavyQuark::m_pConvolReKernelGluonMassiveA
private

◆ m_pConvolReKernelGluonMassiveV

NumA::FunctionType1D* PARTONS::DVCSCFFHeavyQuark::m_pConvolReKernelGluonMassiveV
private

◆ m_rq

std::complex<double> PARTONS::DVCSCFFHeavyQuark::m_rq
private

◆ m_rs

std::complex<double> PARTONS::DVCSCFFHeavyQuark::m_rs
private

◆ m_TF

std::complex<double> PARTONS::DVCSCFFHeavyQuark::m_TF
private

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