Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::ObjectFactory< PARAMETERS, OBJECT > Class Template Referenceabstract

ObjectFactory class responsible for extended pandora object creation. More...

#include "ObjectFactory.h"

Inheritance diagram for pandora::ObjectFactory< PARAMETERS, OBJECT >:

Public Types

typedef PARAMETERS Parameters
 
typedef OBJECT Object
 

Public Member Functions

 ObjectFactory ()
 Default constructor.
 
virtual ~ObjectFactory ()
 Destructor.
 
virtual ParametersNewParameters () const =0
 Create new parameters instance on the heap (memory-management to be controlled by user)
 
virtual StatusCode Read (Parameters &parameters, FileReader &fileReader) const =0
 Read any additional (derived class only) object parameters from file using the specified file reader.
 
virtual StatusCode Write (const Object *const pObject, FileWriter &fileWriter) const =0
 Persist any additional (derived class only) object parameters using the specified file writer.
 

Protected Member Functions

virtual StatusCode Create (const Parameters &parameters, const Object *&pObject) const =0
 Create an object with the given parameters.
 

Friends

class CaloHitManager
 
class TrackManager
 
class MCManager
 
class ClusterManager
 
class VertexManager
 
class ParticleFlowObjectManager
 
class GeometryManager
 

Detailed Description

template<typename PARAMETERS, typename OBJECT>
class pandora::ObjectFactory< PARAMETERS, OBJECT >

ObjectFactory class responsible for extended pandora object creation.

Definition at line 25 of file ObjectFactory.h.

Member Typedef Documentation

◆ Object

template<typename PARAMETERS , typename OBJECT >
typedef OBJECT pandora::ObjectFactory< PARAMETERS, OBJECT >::Object

Definition at line 29 of file ObjectFactory.h.

◆ Parameters

template<typename PARAMETERS , typename OBJECT >
typedef PARAMETERS pandora::ObjectFactory< PARAMETERS, OBJECT >::Parameters

Definition at line 28 of file ObjectFactory.h.

Constructor & Destructor Documentation

◆ ObjectFactory()

template<typename PARAMETERS , typename OBJECT >
pandora::ObjectFactory< PARAMETERS, OBJECT >::ObjectFactory ( )
inline

Default constructor.

Definition at line 85 of file ObjectFactory.h.

◆ ~ObjectFactory()

template<typename PARAMETERS , typename OBJECT >
pandora::ObjectFactory< PARAMETERS, OBJECT >::~ObjectFactory ( )
inlinevirtual

Destructor.

Definition at line 92 of file ObjectFactory.h.

Member Function Documentation

◆ Create()

template<typename PARAMETERS , typename OBJECT >
virtual StatusCode pandora::ObjectFactory< PARAMETERS, OBJECT >::Create ( const Parameters parameters,
const Object *&  pObject 
) const
protectedpure virtual

Create an object with the given parameters.

Parameters
parametersthe parameters to pass in constructor
pObjectto receive the address of the object created

Implemented in lar_content::LArTrackPfoFactory, and pandora::PandoraObjectFactory< PARAMETERS, OBJECT >.

Here is the caller graph for this function:

◆ NewParameters()

template<typename PARAMETERS , typename OBJECT >
virtual Parameters * pandora::ObjectFactory< PARAMETERS, OBJECT >::NewParameters ( ) const
pure virtual

Create new parameters instance on the heap (memory-management to be controlled by user)

Returns
the address of the new parameters instance

Implemented in lar_content::LArCaloHitFactory, lar_content::LArMCParticleFactory, lar_content::LArShowerPfoFactory, lar_content::LArTrackPfoFactory, and pandora::PandoraObjectFactory< PARAMETERS, OBJECT >.

Here is the caller graph for this function:

◆ Read()

template<typename PARAMETERS , typename OBJECT >
virtual StatusCode pandora::ObjectFactory< PARAMETERS, OBJECT >::Read ( Parameters parameters,
FileReader fileReader 
) const
pure virtual

Read any additional (derived class only) object parameters from file using the specified file reader.

Parameters
parametersthe parameters to pass in constructor
fileReaderthe file reader, used to extract any additional parameters from file

Implemented in pandora::PandoraObjectFactory< PARAMETERS, OBJECT >.

Here is the caller graph for this function:

◆ Write()

template<typename PARAMETERS , typename OBJECT >
virtual StatusCode pandora::ObjectFactory< PARAMETERS, OBJECT >::Write ( const Object *const  pObject,
FileWriter fileWriter 
) const
pure virtual

Persist any additional (derived class only) object parameters using the specified file writer.

Parameters
pObjectthe address of the object to persist
fileWriterthe file writer

Implemented in pandora::PandoraObjectFactory< PARAMETERS, OBJECT >, and lar_content::LArTrackPfoFactory.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ CaloHitManager

template<typename PARAMETERS , typename OBJECT >
friend class CaloHitManager
friend

Definition at line 73 of file ObjectFactory.h.

◆ ClusterManager

template<typename PARAMETERS , typename OBJECT >
friend class ClusterManager
friend

Definition at line 76 of file ObjectFactory.h.

◆ GeometryManager

template<typename PARAMETERS , typename OBJECT >
friend class GeometryManager
friend

Definition at line 79 of file ObjectFactory.h.

◆ MCManager

template<typename PARAMETERS , typename OBJECT >
friend class MCManager
friend

Definition at line 75 of file ObjectFactory.h.

◆ ParticleFlowObjectManager

template<typename PARAMETERS , typename OBJECT >
friend class ParticleFlowObjectManager
friend

Definition at line 78 of file ObjectFactory.h.

◆ TrackManager

template<typename PARAMETERS , typename OBJECT >
friend class TrackManager
friend

Definition at line 74 of file ObjectFactory.h.

◆ VertexManager

template<typename PARAMETERS , typename OBJECT >
friend class VertexManager
friend

Definition at line 77 of file ObjectFactory.h.


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