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

Abstract class for modules evaluating QCD running coupling constant. More...

Inheritance diagram for PARTONS::RunningAlphaStrongModule:
PARTONS::ModuleObject PARTONS::BaseObject PARTONS::RunningAlphaStrongApfel PARTONS::RunningAlphaStrongGK PARTONS::RunningAlphaStrongStandard PARTONS::RunningAlphaStrongVinnikov

Public Member Functions

 RunningAlphaStrongModule (const std::string &className)
 Constructor. More...
 
virtual ~RunningAlphaStrongModule ()
 Destructor. More...
 
virtual RunningAlphaStrongModuleclone () 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 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...
 
double compute (double Mu2)
 Evaluate \(\alpha_{s}\) for a given value of renormalization scale squared. More...
 
unsigned int getNf () const
 
void setNf (unsigned int nf)
 
- Public Member Functions inherited from PARTONS::ModuleObject
 ModuleObject (const std::string &className, ChannelType::Type channelType)
 Constructor. More...
 
virtual ~ModuleObject ()
 Default destructor. More...
 
virtual void run ()
 
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 RUNNING_ALPHA_STRONG_MODULE_CLASS_NAME
 Type of module name used by the automatization. More...
 
- Static Public Attributes inherited from PARTONS::ModuleObject
static const std::string CLASS_NAME = "className"
 

Protected Member Functions

 RunningAlphaStrongModule (const RunningAlphaStrongModule &other)
 Copy constructor. More...
 
void preCompute (const double Mu2)
 Do a pre-evaluation steps before the evaluation of \(\alpha_{s}\). 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...
 
bool isPreviousKinematicsDifferent (const double MuF2) const
 Check if previous kinematics is different than the actual one. More...
 
virtual double compute ()=0
 Evaluate \(\alpha_{s}\). 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

double m_Mu2
 Current renormalization scale squared (in \(GeV^2\)) More...
 
double m_Mu
 Current renormalization scale (in \(GeV\)) More...
 
unsigned int m_nf
 Number of active quark flavors. More...
 
double m_alphaS
 Value of \(\alpha_{s}\) for the current renormalization scale. More...
 
- Protected Attributes inherited from PARTONS::ModuleObject
ModuleObjectFactorym_pModuleObjectFactory
 Pointer tp module object factory. More...
 

Detailed Description

Abstract class for modules evaluating QCD running coupling constant.

This class acts as an abstract (mother) class for modules used in the evaluation of the QCD running coupling constant. The usage of its derivatives is illustrated by the following example:

//load one of RunningAlphaStrongModule modules with the BaseModuleFactory
RunningAlphaStrongModule* pRunningAlphaStrongModule = Partons::getInstance()->getModuleObjectFactory()->newRunningAlphaStrongModule(RunningAlphaStrong::classId);
//evaluate for given scale and print
double muR2 = 10.;
double alpha_s = pRunningAlphaStrongModule->compute(muR2);
Partons::getInstance()->getLoggerManager()->info("example", __func__, ElemUtils::Formatter() << "alpha_s at muR2 = " << muR2 << " GeV2 is " << alpha_s);
RunningAlphaStrongModule * newRunningAlphaStrongModule(unsigned int classId)
Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule.
Definition: ModuleObjectFactory.cpp:317
ElemUtils::LoggerManager * getLoggerManager() const
Definition: Partons.cpp:191
static Partons * getInstance()
Share a unique pointer of this class.
Definition: Partons.cpp:27
ModuleObjectFactory * getModuleObjectFactory() const
Definition: Partons.cpp:187
RunningAlphaStrongModule(const std::string &className)
Constructor.
Definition: RunningAlphaStrongModule.cpp:12
double compute(double Mu2)
Evaluate for a given value of renormalization scale squared.
Definition: RunningAlphaStrongModule.cpp:70

which gives via Logger:

06-06-2017 02:25:55 [INFO] (example::main) alpha_s at muR2 = 10GeV2 is 0.250786275698706

Constructor & Destructor Documentation

◆ RunningAlphaStrongModule() [1/2]

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

Constructor.

Parameters
classNameName of class.

◆ ~RunningAlphaStrongModule()

PARTONS::RunningAlphaStrongModule::~RunningAlphaStrongModule ( )
virtual

Destructor.

◆ RunningAlphaStrongModule() [2/2]

PARTONS::RunningAlphaStrongModule::RunningAlphaStrongModule ( const RunningAlphaStrongModule other)
protected

Copy constructor.

Parameters
otherObject to be copied.

Member Function Documentation

◆ clone()

virtual RunningAlphaStrongModule* PARTONS::RunningAlphaStrongModule::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::RunningAlphaStrongVinnikov, PARTONS::RunningAlphaStrongStandard, PARTONS::RunningAlphaStrongGK, and PARTONS::RunningAlphaStrongApfel.

◆ compute() [1/2]

virtual double PARTONS::RunningAlphaStrongModule::compute ( )
protectedpure virtual

Evaluate \(\alpha_{s}\).

The value of renormalization scale should be set at this point by RunningAlphaStrongModule::preCompute() function.

Returns

Implemented in PARTONS::RunningAlphaStrongVinnikov, PARTONS::RunningAlphaStrongStandard, PARTONS::RunningAlphaStrongGK, and PARTONS::RunningAlphaStrongApfel.

◆ compute() [2/2]

double PARTONS::RunningAlphaStrongModule::compute ( double  Mu2)

Evaluate \(\alpha_{s}\) for a given value of renormalization scale squared.

Parameters
Mu2Value of renormalization scale squared.
Returns
Evaluated value of \(\alpha_{s}\).

◆ configure()

void PARTONS::RunningAlphaStrongModule::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::RunningAlphaStrongApfel.

◆ getNf()

unsigned int PARTONS::RunningAlphaStrongModule::getNf ( ) const

◆ initModule()

void PARTONS::RunningAlphaStrongModule::initModule ( )
protectedvirtual

Pure virtual function that provides skeleton for module initialization.

Children must define and override it.

Implements PARTONS::ModuleObject.

Reimplemented in PARTONS::RunningAlphaStrongVinnikov, PARTONS::RunningAlphaStrongStandard, PARTONS::RunningAlphaStrongGK, and PARTONS::RunningAlphaStrongApfel.

◆ isModuleWellConfigured()

void PARTONS::RunningAlphaStrongModule::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::RunningAlphaStrongVinnikov, PARTONS::RunningAlphaStrongStandard, PARTONS::RunningAlphaStrongGK, and PARTONS::RunningAlphaStrongApfel.

◆ isPreviousKinematicsDifferent()

bool PARTONS::RunningAlphaStrongModule::isPreviousKinematicsDifferent ( const double  MuF2) const
protected

Check if previous kinematics is different than the actual one.

This allows to avoid a reevaluation of \(\alpha_{s}\) when the renormalization scale is not changed.

Parameters
MuF2Value of renormalization scale squared.
Returns
True if previous kiematics is different, otherwise false.

◆ preCompute()

void PARTONS::RunningAlphaStrongModule::preCompute ( const double  Mu2)
protected

Do a pre-evaluation steps before the evaluation of \(\alpha_{s}\).

Parameters
Mu2Value of renormalization scale squared.

◆ prepareSubModules()

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

◆ setNf()

void PARTONS::RunningAlphaStrongModule::setNf ( unsigned int  nf)

◆ toString()

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

Member Data Documentation

◆ m_alphaS

double PARTONS::RunningAlphaStrongModule::m_alphaS
protected

Value of \(\alpha_{s}\) for the current renormalization scale.

◆ m_Mu

double PARTONS::RunningAlphaStrongModule::m_Mu
protected

Current renormalization scale (in \(GeV\))

◆ m_Mu2

double PARTONS::RunningAlphaStrongModule::m_Mu2
protected

Current renormalization scale squared (in \(GeV^2\))

◆ m_nf

unsigned int PARTONS::RunningAlphaStrongModule::m_nf
protected

Number of active quark flavors.

◆ RUNNING_ALPHA_STRONG_MODULE_CLASS_NAME

const std::string PARTONS::RunningAlphaStrongModule::RUNNING_ALPHA_STRONG_MODULE_CLASS_NAME
static
Initial value:
=
"RunningAlphaStrongModule"

Type of module name used by the automatization.


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