PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PARTONS::ModuleObjectFactory Class Reference

It's a specialization of the BaseObjectFactory to get intermediate abstract module class specialization to be able to use directly more sophisticated methods (like compute(...)). More...

Inheritance diagram for PARTONS::ModuleObjectFactory:
PARTONS::BaseObject

Public Member Functions

virtual ~ModuleObjectFactory ()
 Default destructor. More...
 
ModuleObjectnewModuleObject (const std::string &className)
 Specialization of BaseObjectFactory::newBaseObject into a ModuleObject. More...
 
ModuleObjectnewModuleObject (unsigned int classId)
 Specialization of BaseObjectFactory::newBaseObject into a ModuleObject. More...
 
template<class T >
T * cloneModuleObject (T *pModuleObjectOrig)
 Clone module object. More...
 
GPDEvolutionModulenewGPDEvolutionModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDEvolutionModule. More...
 
GPDEvolutionModulenewGPDEvolutionModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDEvolutionModule. More...
 
GPDModulenewGPDModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDModule. More...
 
GPDModulenewGPDModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDModule. More...
 
GPDSubtractionConstantModulenewGPDSubtractionConstantModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDSubtractionConstantModule. More...
 
GPDSubtractionConstantModulenewGPDSubtractionConstantModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a GPDSubtractionConstantModule. More...
 
DVCSConvolCoeffFunctionModulenewDVCSConvolCoeffFunctionModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSConvolCoeffFunctionModule. More...
 
DVCSConvolCoeffFunctionModulenewDVCSConvolCoeffFunctionModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSConvolCoeffFunctionModule. More...
 
TCSConvolCoeffFunctionModulenewTCSConvolCoeffFunctionModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSConvolCoeffFunctionModule. More...
 
TCSConvolCoeffFunctionModulenewTCSConvolCoeffFunctionModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSConvolCoeffFunctionModule. More...
 
DVCSProcessModulenewDVCSProcessModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSProcessModule. More...
 
DVCSProcessModulenewDVCSProcessModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSProcessModule. More...
 
TCSProcessModulenewTCSProcessModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSProcessModule. More...
 
TCSProcessModulenewTCSProcessModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSProcessModule. More...
 
RunningAlphaStrongModulenewRunningAlphaStrongModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule. More...
 
RunningAlphaStrongModulenewRunningAlphaStrongModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule. More...
 
ActiveFlavorsThresholdsModulenewActiveFlavorsThresholdsModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a ActiveFlavorsThresholdsModule. More...
 
ActiveFlavorsThresholdsModulenewActiveFlavorsThresholdsModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a ActiveFlavorsModule. More...
 
DVCSScalesModulenewDVCSScalesModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSScalesModule. More...
 
DVCSScalesModulenewDVCSScalesModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSScalesModule. More...
 
TCSScalesModulenewTCSScalesModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSScalesModule. More...
 
TCSScalesModulenewTCSScalesModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSScalesModule. More...
 
DVCSXiConverterModulenewDVCSXiConverterModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSXiConverterModule. More...
 
DVCSXiConverterModulenewDVCSXiConverterModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a DVCSXiConverterModule. More...
 
TCSXiConverterModulenewTCSXiConverterModule (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule. More...
 
TCSXiConverterModulenewTCSXiConverterModule (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule. More...
 
DVCSObservablenewDVCSObservable (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a Observable. More...
 
DVCSObservablenewDVCSObservable (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a Observable. More...
 
TCSObservablenewTCSObservable (unsigned int classId)
 Specialization of ModuleObjectFactory::newModuleObject into a Observable. More...
 
TCSObservablenewTCSObservable (const std::string &className)
 Specialization of ModuleObjectFactory::newModuleObject into a Observable. More...
 
void updateModulePointerReference (ModuleObject *pModuleObjectTarget, ModuleObject *pModuleObjectSource)
 Method to update a pointer. 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::BaseObject
 BaseObject (const std::string &className)
 Constructor. More...
 
virtual ~BaseObject ()
 Default destructor. More...
 
virtual BaseObjectclone () 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...
 
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)
 

Private Member Functions

 ModuleObjectFactory (BaseObjectFactory *pBaseObjectFactory)
 Private default constructor to ensure the creation of a single instance of the class, managed by Parton's class. More...
 
void store (ModuleObject *pModuleObject)
 Store a new ModuleObjectReference from the provided ModuleObject pointer. More...
 

Private Attributes

BaseObjectFactorym_pBaseObjectFactory
 Pointer to BaseObjectFactory to get cloned object's pointer. More...
 
std::map< unsigned int, ModuleObjectReference * > m_instantiatedModuleObject
 Store ModuleObject pointer created by the ModuleObjectFactory; used to handle references and life cycle of module pointer during execution of the program. More...
 

Friends

class Partons
 

Additional Inherited Members

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

Detailed Description

It's a specialization of the BaseObjectFactory to get intermediate abstract module class specialization to be able to use directly more sophisticated methods (like compute(...)).

It only casts BaseObject pointer to desired abstract module class type.

Constructor & Destructor Documentation

◆ ~ModuleObjectFactory()

PARTONS::ModuleObjectFactory::~ModuleObjectFactory ( )
virtual

Default destructor.

◆ ModuleObjectFactory()

PARTONS::ModuleObjectFactory::ModuleObjectFactory ( BaseObjectFactory pBaseObjectFactory)
private

Private default constructor to ensure the creation of a single instance of the class, managed by Parton's class.

Parameters
pBaseObjectFactory

Member Function Documentation

◆ cloneModuleObject()

template<class T >
T* PARTONS::ModuleObjectFactory::cloneModuleObject ( T *  pModuleObjectOrig)
inline

Clone module object.

Parameters
pModuleObjectOrigModule object to be cloned.
Returns
Pointer to cloned object.

◆ newActiveFlavorsThresholdsModule() [1/2]

ActiveFlavorsThresholdsModule * PARTONS::ModuleObjectFactory::newActiveFlavorsThresholdsModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a ActiveFlavorsThresholdsModule.

Parameters
classIdUnique identifier of last child class.
Returns
ActiveFlavorsThresholdsModule pointer.

◆ newActiveFlavorsThresholdsModule() [2/2]

ActiveFlavorsThresholdsModule * PARTONS::ModuleObjectFactory::newActiveFlavorsThresholdsModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a ActiveFlavorsModule.

Parameters
classNameName of last child class.
Returns
ActiveFlavorsModule pointer.

◆ newDVCSConvolCoeffFunctionModule() [1/2]

DVCSConvolCoeffFunctionModule * PARTONS::ModuleObjectFactory::newDVCSConvolCoeffFunctionModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSConvolCoeffFunctionModule.

Parameters
classIdUnique identifier of last child class.
Returns
DVCSConvolCoeffFunctionModule pointer.

◆ newDVCSConvolCoeffFunctionModule() [2/2]

DVCSConvolCoeffFunctionModule * PARTONS::ModuleObjectFactory::newDVCSConvolCoeffFunctionModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSConvolCoeffFunctionModule.

Parameters
classNameName of last child class.
Returns
DVCSConvolCoeffFunctionModule pointer.

◆ newDVCSObservable() [1/2]

DVCSObservable * PARTONS::ModuleObjectFactory::newDVCSObservable ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a Observable.

Parameters
classIdUnique identifier of last child class.
Returns
Observable pointer.

◆ newDVCSObservable() [2/2]

DVCSObservable * PARTONS::ModuleObjectFactory::newDVCSObservable ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a Observable.

Parameters
classNameName of last child class.
Returns
Observable pointer.

◆ newDVCSProcessModule() [1/2]

DVCSProcessModule * PARTONS::ModuleObjectFactory::newDVCSProcessModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSProcessModule.

Parameters
classIdUnique identifier of last child class.
Returns
DVCSProcessModule pointer.

◆ newDVCSProcessModule() [2/2]

DVCSProcessModule * PARTONS::ModuleObjectFactory::newDVCSProcessModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSProcessModule.

Parameters
classNameName of last child class.
Returns
DVCSProcessModule pointer.

◆ newDVCSScalesModule() [1/2]

DVCSScalesModule * PARTONS::ModuleObjectFactory::newDVCSScalesModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSScalesModule.

Parameters
classIdUnique identifier of last child class.
Returns
DVCSScalesModule pointer.

◆ newDVCSScalesModule() [2/2]

DVCSScalesModule * PARTONS::ModuleObjectFactory::newDVCSScalesModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSScalesModule.

Parameters
classNameName of last child class.
Returns
DVCSScalesModule pointer.

◆ newDVCSXiConverterModule() [1/2]

DVCSXiConverterModule * PARTONS::ModuleObjectFactory::newDVCSXiConverterModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSXiConverterModule.

Parameters
classIdUnique identifier of last child class.
Returns
DVCSXiConverterModule pointer.

◆ newDVCSXiConverterModule() [2/2]

DVCSXiConverterModule * PARTONS::ModuleObjectFactory::newDVCSXiConverterModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a DVCSXiConverterModule.

Parameters
classNameName of last child class.
Returns
DVCSXiConverterModule pointer.

◆ newGPDEvolutionModule() [1/2]

GPDEvolutionModule * PARTONS::ModuleObjectFactory::newGPDEvolutionModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a GPDEvolutionModule.

Parameters
classIdUnique identifier of last child class.
Returns
GPDEvolutionModule pointer.

◆ newGPDEvolutionModule() [2/2]

GPDEvolutionModule * PARTONS::ModuleObjectFactory::newGPDEvolutionModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a GPDEvolutionModule.

Parameters
classNameName of last child class.
Returns
GPDEvolutionModule pointer.

◆ newGPDModule() [1/2]

GPDModule * PARTONS::ModuleObjectFactory::newGPDModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a GPDModule.

Parameters
classIdUnique identifier of last child class.
Returns
GPDModule pointer.

◆ newGPDModule() [2/2]

GPDModule * PARTONS::ModuleObjectFactory::newGPDModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a GPDModule.

Parameters
classNameName of last child class.
Returns
GPDModule pointer.

◆ newGPDSubtractionConstantModule() [1/2]

GPDSubtractionConstantModule * PARTONS::ModuleObjectFactory::newGPDSubtractionConstantModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a GPDSubtractionConstantModule.

Parameters
classIdUnique identifier of last child class.
Returns
GPDSubtractionConstantModule pointer.

◆ newGPDSubtractionConstantModule() [2/2]

GPDSubtractionConstantModule * PARTONS::ModuleObjectFactory::newGPDSubtractionConstantModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a GPDSubtractionConstantModule.

Parameters
classNameName of last child class.
Returns
GPDSubtractionConstantModule pointer.

◆ newModuleObject() [1/2]

ModuleObject * PARTONS::ModuleObjectFactory::newModuleObject ( const std::string &  className)

Specialization of BaseObjectFactory::newBaseObject into a ModuleObject.

Parameters
classNameName of last child class.
Returns
ModuleObject pointer.

◆ newModuleObject() [2/2]

ModuleObject * PARTONS::ModuleObjectFactory::newModuleObject ( unsigned int  classId)

Specialization of BaseObjectFactory::newBaseObject into a ModuleObject.

Parameters
classIdUnique identifier of last child class.
Returns
ModuleObject pointer.

◆ newRunningAlphaStrongModule() [1/2]

RunningAlphaStrongModule * PARTONS::ModuleObjectFactory::newRunningAlphaStrongModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule.

Parameters
classIdUnique identifier of last child class.
Returns
RunningAlphaStrongModule pointer.

◆ newRunningAlphaStrongModule() [2/2]

RunningAlphaStrongModule * PARTONS::ModuleObjectFactory::newRunningAlphaStrongModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule.

Parameters
classNameName of last child class.
Returns
RunningAlphaStrongModule pointer.

◆ newTCSConvolCoeffFunctionModule() [1/2]

TCSConvolCoeffFunctionModule * PARTONS::ModuleObjectFactory::newTCSConvolCoeffFunctionModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a TCSConvolCoeffFunctionModule.

Parameters
classIdUnique identifier of last child class.
Returns
TCSConvolCoeffFunctionModule pointer.

◆ newTCSConvolCoeffFunctionModule() [2/2]

TCSConvolCoeffFunctionModule * PARTONS::ModuleObjectFactory::newTCSConvolCoeffFunctionModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a TCSConvolCoeffFunctionModule.

Parameters
classNameName of last child class.
Returns
TCSConvolCoeffFunctionModule pointer.

◆ newTCSObservable() [1/2]

TCSObservable * PARTONS::ModuleObjectFactory::newTCSObservable ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a Observable.

Parameters
classIdUnique identifier of last child class.
Returns
Observable pointer.

◆ newTCSObservable() [2/2]

TCSObservable * PARTONS::ModuleObjectFactory::newTCSObservable ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a Observable.

Parameters
classNameName of last child class.
Returns
Observable pointer.

◆ newTCSProcessModule() [1/2]

TCSProcessModule * PARTONS::ModuleObjectFactory::newTCSProcessModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a TCSProcessModule.

Parameters
classIdUnique identifier of last child class.
Returns
TCSProcessModule pointer.

◆ newTCSProcessModule() [2/2]

TCSProcessModule * PARTONS::ModuleObjectFactory::newTCSProcessModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a TCSProcessModule.

Parameters
classNameName of last child class.
Returns
TCSProcessModule pointer.

◆ newTCSScalesModule() [1/2]

TCSScalesModule * PARTONS::ModuleObjectFactory::newTCSScalesModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a TCSScalesModule.

Parameters
classIdUnique identifier of last child class.
Returns
TCSScalesModule pointer.

◆ newTCSScalesModule() [2/2]

TCSScalesModule * PARTONS::ModuleObjectFactory::newTCSScalesModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a TCSScalesModule.

Parameters
classNameName of last child class.
Returns
TCSScalesModule pointer.

◆ newTCSXiConverterModule() [1/2]

TCSXiConverterModule * PARTONS::ModuleObjectFactory::newTCSXiConverterModule ( unsigned int  classId)

Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.

Parameters
classIdUnique identifier of last child class.
Returns
TCSXiConverterModule pointer.

◆ newTCSXiConverterModule() [2/2]

TCSXiConverterModule * PARTONS::ModuleObjectFactory::newTCSXiConverterModule ( const std::string &  className)

Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.

Parameters
classNameName of last child class.
Returns
TCSXiConverterModule pointer.

◆ store()

void PARTONS::ModuleObjectFactory::store ( ModuleObject pModuleObject)
private

Store a new ModuleObjectReference from the provided ModuleObject pointer.

Parameters
pModuleObject

◆ toString()

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

◆ updateModulePointerReference()

void PARTONS::ModuleObjectFactory::updateModulePointerReference ( ModuleObject pModuleObjectTarget,
ModuleObject pModuleObjectSource 
)

Method to update a pointer.

Used to keep track of the modules and remove them when they become orphans (i.e. no pointer points to them).

Parameters
pModuleObjectTargetThe pointer to be modified.
pModuleObjectSourceThe pointer to be copied into the other. Or 0 if the target pointer is to be cleared.

Friends And Related Function Documentation

◆ Partons

friend class Partons
friend

Member Data Documentation

◆ m_instantiatedModuleObject

std::map<unsigned int, ModuleObjectReference*> PARTONS::ModuleObjectFactory::m_instantiatedModuleObject
private

Store ModuleObject pointer created by the ModuleObjectFactory; used to handle references and life cycle of module pointer during execution of the program.

◆ m_pBaseObjectFactory

BaseObjectFactory* PARTONS::ModuleObjectFactory::m_pBaseObjectFactory
private

Pointer to BaseObjectFactory to get cloned object's pointer.


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