PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType > Class Template Referenceabstract

Abstract class that provides a skeleton to implement a Convolution of Coefficient Function module. More...

Inheritance diagram for PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >:
PARTONS::ModuleObject PARTONS::MathIntegratorModule PARTONS::BaseObject

Public Member Functions

virtual ~ConvolCoeffFunctionModule ()
 Destructor. More...
 
virtual ConvolCoeffFunctionModuleclone () const =0
 Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More...
 
virtual std::string toString () const
 Return a pre-formatted characters string for output visualization of class member's values. 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 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 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 ResultType compute (const KinematicType &kinematic, const List< GPDType > &gpdType)=0
 Computes the coefficient functions at given kinematics. More...
 
virtual List< GPDTypegetListOfAvailableGPDTypeForComputation () const =0
 Must be implemented in child class. 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...
 

Protected Member Functions

 ConvolCoeffFunctionModule (const std::string &className, ChannelType::Type channelType)
 Constructor. More...
 
 ConvolCoeffFunctionModule (const ConvolCoeffFunctionModule &other)
 Copy constructor. More...
 
virtual void setKinematics (const KinematicType &kinematic)
 Set internal kinematics. More...
 
void setCurrentGPDType (GPDType::Type gpdType)
 Set current GPD type to be computed. 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...
 
- 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 ()
 

Protected Attributes

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...
 

Additional Inherited Members

- 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...
 

Detailed Description

template<typename KinematicType, typename ResultType>
class PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >

Abstract class that provides a skeleton to implement a Convolution of Coefficient Function module.

Constructor & Destructor Documentation

◆ ~ConvolCoeffFunctionModule()

template<typename KinematicType , typename ResultType >
virtual PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::~ConvolCoeffFunctionModule ( )
inlinevirtual

Destructor.

◆ ConvolCoeffFunctionModule() [1/2]

template<typename KinematicType , typename ResultType >
PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::ConvolCoeffFunctionModule ( const std::string &  className,
ChannelType::Type  channelType 
)
inlineprotected

Constructor.

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

Parameters
classNamename of child class.
channelTypeChannel type.

◆ ConvolCoeffFunctionModule() [2/2]

template<typename KinematicType , typename ResultType >
PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::ConvolCoeffFunctionModule ( const ConvolCoeffFunctionModule< KinematicType, ResultType > &  other)
inlineprotected

Copy constructor.

Parameters
otherObject to be copied.

Member Function Documentation

◆ clone()

template<typename KinematicType , typename ResultType >
virtual ConvolCoeffFunctionModule* PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::clone ( ) const
pure virtual

◆ compute()

template<typename KinematicType , typename ResultType >
virtual ResultType PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::compute ( const KinematicType kinematic,
const List< GPDType > &  gpdType 
)
pure virtual

Computes the coefficient functions at given kinematics.

Parameters
kinematicKinematics.
gpdTypeType of CCF to compute.
Returns
Complex result.

Implemented in PARTONS::TCSConvolCoeffFunctionModule, PARTONS::GAM2ConvolCoeffFunctionModule, PARTONS::DVMPConvolCoeffFunctionModule, PARTONS::DVCSConvolCoeffFunctionModule, and PARTONS::DDVCSConvolCoeffFunctionModule.

◆ configure()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::configure ( const ElemUtils::Parameters &  parameters)
inlinevirtual

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::ModuleObject.

Reimplemented in PARTONS::TCSConvolCoeffFunctionModule, PARTONS::GAM2ConvolCoeffFunctionModule, PARTONS::DVMPConvolCoeffFunctionModule, PARTONS::DVMPCFFGK06, PARTONS::DVCSConvolCoeffFunctionModule, PARTONS::DVCSCFFNN, PARTONS::DVCSCFFDispersionRelation, PARTONS::DVCSCFFConstant, and PARTONS::DDVCSConvolCoeffFunctionModule.

◆ getGPDModule()

template<typename KinematicType , typename ResultType >
GPDModule* PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::getGPDModule ( ) const
inline

Get pointer to the underlying GPD module.

◆ getListOfAvailableGPDTypeForComputation()

template<typename KinematicType , typename ResultType >
virtual List<GPDType> PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::getListOfAvailableGPDTypeForComputation ( ) const
pure virtual

◆ initModule()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::initModule ( )
inlineprotectedvirtual

◆ isGPDModuleDependent()

template<typename KinematicType , typename ResultType >
bool PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::isGPDModuleDependent ( ) const
inline

True if this CCF module depends on a GPD module.

◆ isModuleWellConfigured()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::isModuleWellConfigured ( )
inlineprotectedvirtual

◆ prepareSubModules()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::prepareSubModules ( const std::map< std::string, BaseObjectData > &  subModulesData)
inlinevirtual

Method used in automation to prepare all the modules used by this current module and configure them recursively.

The recursion is linked to the imbrication in XML files.
Can be implemented in the child class if it needs modules not needed by the parent class. But there must be first a call to the parent method.

Parameters
subModulesDataData used to retrieve the needed modules and their configuration.

Reimplemented from PARTONS::ModuleObject.

Reimplemented in PARTONS::DVCSCFFNN, PARTONS::TCSConvolCoeffFunctionModule, PARTONS::TCSCFFStandard, PARTONS::TCSCFFFromDVCS, PARTONS::GAM2ConvolCoeffFunctionModule, PARTONS::GAM2CFFStandard, PARTONS::DVMPConvolCoeffFunctionModule, PARTONS::DVMPCFFGK06, PARTONS::DVCSConvolCoeffFunctionModule, PARTONS::DVCSCFFStandard, PARTONS::DVCSCFFDispersionRelation, and PARTONS::DDVCSConvolCoeffFunctionModule.

◆ resolveObjectDependencies()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::resolveObjectDependencies ( )
inlinevirtual

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::ModuleObject.

Reimplemented in PARTONS::TCSConvolCoeffFunctionModule, PARTONS::TCSCFFStandard, PARTONS::TCSCFFFromDVCS, PARTONS::GAM2ConvolCoeffFunctionModule, PARTONS::GAM2CFFStandard, PARTONS::DVMPConvolCoeffFunctionModule, PARTONS::DVMPCFFGK06, PARTONS::DVCSConvolCoeffFunctionModule, PARTONS::DVCSCFFStandard, PARTONS::DVCSCFFNN, PARTONS::DVCSCFFHeavyQuark, PARTONS::DVCSCFFDispersionRelation, PARTONS::DDVCSConvolCoeffFunctionModule, and PARTONS::DDVCSCFFStandard.

◆ run()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::run ( )
inlinevirtual

◆ setCurrentGPDType()

template<typename KinematicType , typename ResultType >
void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::setCurrentGPDType ( GPDType::Type  gpdType)
inlineprotected

Set current GPD type to be computed.

◆ setGPDModule()

template<typename KinematicType , typename ResultType >
void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::setGPDModule ( GPDModule gpdModule)
inline

Set pointer to the underlying GPD module.

◆ setIsGPDModuleDependent()

template<typename KinematicType , typename ResultType >
void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::setIsGPDModuleDependent ( bool  isGPDModuleDependent)
inline

True if this CCF module depends on a GPD module.

◆ setKinematics()

template<typename KinematicType , typename ResultType >
virtual void PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::setKinematics ( const KinematicType kinematic)
inlineprotectedvirtual

◆ toString()

template<typename KinematicType , typename ResultType >
virtual std::string PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::toString ( ) const
inlinevirtual

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

Returns
a pre-formatted characters string.

Reimplemented from PARTONS::ModuleObject.

Reimplemented in PARTONS::TCSConvolCoeffFunctionModule, PARTONS::GAM2ConvolCoeffFunctionModule, PARTONS::DVMPConvolCoeffFunctionModule, PARTONS::DVCSConvolCoeffFunctionModule, and PARTONS::DDVCSConvolCoeffFunctionModule.

Member Data Documentation

◆ m_currentGPDComputeType

template<typename KinematicType , typename ResultType >
GPDType::Type PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_currentGPDComputeType
protected

GPDType of the current CFF computation.

◆ m_isGPDModuleDependent

template<typename KinematicType , typename ResultType >
bool PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_isGPDModuleDependent
protected

Boolean (true if this CCF module depends on a GPD module).

◆ m_MuF2

template<typename KinematicType , typename ResultType >
double PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_MuF2
protected

Factorization scale (in GeV^2).

◆ m_MuR2

template<typename KinematicType , typename ResultType >
double PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_MuR2
protected

Renormalization scale (in GeV^2)

◆ m_pGPDModule

template<typename KinematicType , typename ResultType >
GPDModule* PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_pGPDModule
protected

Pointer to the underlying GPD module.

◆ m_t

template<typename KinematicType , typename ResultType >
double PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_t
protected

Mandelstam variable, momentum transfer on the hadron target (in GeV^2).

◆ m_xi

template<typename KinematicType , typename ResultType >
double PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType >::m_xi
protected

Skewness.


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