PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
PARTONS::CollinearDistributionModule Class Referenceabstract

Abstract class that provides a skeleton to implement a Generalized Parton Distributions (CollinearDistribution) module. More...

Inheritance diagram for PARTONS::CollinearDistributionModule:
PARTONS::ModuleObject PARTONS::BaseObject PARTONS::CollinearDistributionLHAPDF

Public Member Functions

virtual ~CollinearDistributionModule ()
 Destructor. More...
 
virtual CollinearDistributionModuleclone () 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 PartonDistribution compute (const CollinearDistributionKinematic &kinematic, CollinearDistributionType::Type colldistType)
 Virtual method, computes collinear distribution with some input parameters. More...
 
virtual CollinearDistributionResult compute (const CollinearDistributionKinematic &kinematic, const List< CollinearDistributionType > &colldistType=List< CollinearDistributionType >())
 Virtual method, computes collinear distribution with some input parameters. More...
 
List< CollinearDistributionTypegetListOfAvailableCollinearDistributionTypeForComputation () const
 Get list of available CollinearDistributionTypes in the model considered. More...
 
virtual PartonDistribution computeUnpolPDF ()
 This method can be implemented in the child class if the collinear distribution H is available to compute. More...
 
virtual PartonDistribution computePolPDF ()
 
virtual PartonDistribution computeTransPDF ()
 
virtual PartonDistribution computeUnpolFF ()
 
virtual PartonDistribution computePolFF ()
 
virtual PartonDistribution computeTransFF ()
 
double getMuF2Ref () const
 Get reference factorization scale used by the collinear distribution model before evolution. More...
 
const CollinearDistributionEvolutionModulegetEvolQcdModule () const
 Set underlying collinear distribution Evolution module. More...
 
void setEvolQcdModule (CollinearDistributionEvolutionModule *pEvolQcdModule)
 Get underlying collinear distribution Evolution 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 std::string COLLINEAR_DISTRIBUTION_MODULE_CLASS_NAME = "CollinearDistributionModule"
 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

 CollinearDistributionModule (const std::string &className)
 Default constructor. More...
 
 CollinearDistributionModule (const CollinearDistributionModule &other)
 Copy constructor. More...
 
virtual void setKinematics (const CollinearDistributionKinematic &kinematic)
 Set internal kinematics. 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 Attributes

std::map< CollinearDistributionType::Type, PartonDistribution(CollinearDistributionModule::*)()> m_listCollinearDistributionComputeTypeAvailable
 List of collinear distribution types that can be computed by the child class. More...
 
double m_x
 Longitudinal momentum fraction of the active parton. More...
 
double m_MuF2
 Factorization scale squared. More...
 
double m_MuR2
 Renormalization scale squared. More...
 
double m_MuF2_ref
 Reference factorization scale used by the collinear model before evolution. More...
 
CollinearDistributionEvolutionModulem_pCollinearDistributionEvolutionModule
 Pointer to the underlying collinear distribution Evolution module. More...
 
- Protected Attributes inherited from PARTONS::ModuleObject
ModuleObjectFactorym_pModuleObjectFactory
 Pointer tp module object factory. More...
 

Detailed Description

Abstract class that provides a skeleton to implement a Generalized Parton Distributions (CollinearDistribution) module.

It is best to use this module with the corresponding service: CollinearDistributionService (see examples therein), as explained in the general tutorial.

Constructor & Destructor Documentation

◆ ~CollinearDistributionModule()

PARTONS::CollinearDistributionModule::~CollinearDistributionModule ( )
virtual

Destructor.

◆ CollinearDistributionModule() [1/2]

PARTONS::CollinearDistributionModule::CollinearDistributionModule ( const std::string &  className)
protected

Default constructor.

◆ CollinearDistributionModule() [2/2]

PARTONS::CollinearDistributionModule::CollinearDistributionModule ( const CollinearDistributionModule other)
protected

Copy constructor.

Parameters
otherObject to be copied.

Member Function Documentation

◆ clone()

virtual CollinearDistributionModule* PARTONS::CollinearDistributionModule::clone ( ) const
pure virtual

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

Returns

Implements PARTONS::ModuleObject.

Implemented in PARTONS::CollinearDistributionLHAPDF.

◆ compute() [1/2]

PartonDistribution PARTONS::CollinearDistributionModule::compute ( const CollinearDistributionKinematic kinematic,
CollinearDistributionType::Type  colldistType 
)
virtual

Virtual method, computes collinear distribution with some input parameters.

Parameters
kinematiccollinear distribution kinematics object.
colldistType.See CollinearDistributionType for more details.
evolutionBoolean to use evolution.
Returns
PartonDistribution object. Contains results for each flavor of partons.

◆ compute() [2/2]

CollinearDistributionResult PARTONS::CollinearDistributionModule::compute ( const CollinearDistributionKinematic kinematic,
const List< CollinearDistributionType > &  colldistType = List<CollinearDistributionType>() 
)
virtual

Virtual method, computes collinear distribution with some input parameters.

Parameters
kinematiccollinear distribution kinematics object.
colldistType.See CollinearDistributionType for more details.
Returns
PartonDistribution object. Contains results for each flavor of partons.

◆ computePolFF()

PartonDistribution PARTONS::CollinearDistributionModule::computePolFF ( )
virtual

◆ computePolPDF()

PartonDistribution PARTONS::CollinearDistributionModule::computePolPDF ( )
virtual

◆ computeTransFF()

PartonDistribution PARTONS::CollinearDistributionModule::computeTransFF ( )
virtual

◆ computeTransPDF()

PartonDistribution PARTONS::CollinearDistributionModule::computeTransPDF ( )
virtual

◆ computeUnpolFF()

PartonDistribution PARTONS::CollinearDistributionModule::computeUnpolFF ( )
virtual

◆ computeUnpolPDF()

PartonDistribution PARTONS::CollinearDistributionModule::computeUnpolPDF ( )
virtual

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

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

Reimplemented in PARTONS::CollinearDistributionLHAPDF.

◆ configure()

void PARTONS::CollinearDistributionModule::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::ModuleObject.

Reimplemented in PARTONS::CollinearDistributionLHAPDF.

◆ getEvolQcdModule()

const CollinearDistributionEvolutionModule * PARTONS::CollinearDistributionModule::getEvolQcdModule ( ) const

Set underlying collinear distribution Evolution module.

◆ getListOfAvailableCollinearDistributionTypeForComputation()

List< CollinearDistributionType > PARTONS::CollinearDistributionModule::getListOfAvailableCollinearDistributionTypeForComputation ( ) const

Get list of available CollinearDistributionTypes in the model considered.

This list is set in the child class.

◆ getMuF2Ref()

double PARTONS::CollinearDistributionModule::getMuF2Ref ( ) const

Get reference factorization scale used by the collinear distribution model before evolution.

◆ initModule()

void PARTONS::CollinearDistributionModule::initModule ( )
protectedvirtual

Pure virtual function that provides skeleton for module initialization.

Children must define and override it.

Implements PARTONS::ModuleObject.

Reimplemented in PARTONS::CollinearDistributionLHAPDF.

◆ isModuleWellConfigured()

void PARTONS::CollinearDistributionModule::isModuleWellConfigured ( )
protectedvirtual

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

Children must define and override it.

Implements PARTONS::ModuleObject.

Reimplemented in PARTONS::CollinearDistributionLHAPDF.

◆ prepareSubModules()

void PARTONS::CollinearDistributionModule::prepareSubModules ( const std::map< std::string, BaseObjectData > &  subModulesData)
virtual

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.

◆ resolveObjectDependencies()

void PARTONS::CollinearDistributionModule::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::ModuleObject.

◆ run()

void PARTONS::CollinearDistributionModule::run ( )
virtual

Reimplemented from PARTONS::ModuleObject.

◆ setEvolQcdModule()

void PARTONS::CollinearDistributionModule::setEvolQcdModule ( CollinearDistributionEvolutionModule pEvolQcdModule)

Get underlying collinear distribution Evolution module.

◆ setKinematics()

void PARTONS::CollinearDistributionModule::setKinematics ( const CollinearDistributionKinematic kinematic)
protectedvirtual

Set internal kinematics.

Parameters
kinematicKinematics to be set.

◆ toString()

std::string PARTONS::CollinearDistributionModule::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::ModuleObject.

Reimplemented in PARTONS::CollinearDistributionLHAPDF.

Member Data Documentation

◆ COLLINEAR_DISTRIBUTION_MODULE_CLASS_NAME

const std::string PARTONS::CollinearDistributionModule::COLLINEAR_DISTRIBUTION_MODULE_CLASS_NAME = "CollinearDistributionModule"
static

Type of the module in XML automation.

◆ m_listCollinearDistributionComputeTypeAvailable

std::map<CollinearDistributionType::Type, PartonDistribution (CollinearDistributionModule::*)()> PARTONS::CollinearDistributionModule::m_listCollinearDistributionComputeTypeAvailable
protected

List of collinear distribution types that can be computed by the child class.

Needs to be set in the constructor of the child class, with the corresponding methods to be used.

◆ m_MuF2

double PARTONS::CollinearDistributionModule::m_MuF2
protected

Factorization scale squared.

◆ m_MuF2_ref

double PARTONS::CollinearDistributionModule::m_MuF2_ref
protected

Reference factorization scale used by the collinear model before evolution.

◆ m_MuR2

double PARTONS::CollinearDistributionModule::m_MuR2
protected

Renormalization scale squared.

◆ m_pCollinearDistributionEvolutionModule

CollinearDistributionEvolutionModule* PARTONS::CollinearDistributionModule::m_pCollinearDistributionEvolutionModule
protected

Pointer to the underlying collinear distribution Evolution module.

◆ m_x

double PARTONS::CollinearDistributionModule::m_x
protected

Longitudinal momentum fraction of the active parton.


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