Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::InputObjectManager< T > Class Template Reference

InputObjectManager class. More...

#include "InputObjectManager.h"

Inheritance diagram for pandora::InputObjectManager< T >:
Collaboration diagram for pandora::InputObjectManager< T >:

Public Member Functions

 InputObjectManager (const Pandora *const pPandora)
 Constructor.
 
virtual ~InputObjectManager ()
 Destructor.
 

Protected Types

typedef Manager< T >::ObjectList ObjectList
 
typedef std::map< std::string, ObjectList * > NameToListMap
 
typedef std::unordered_map< const Algorithm *, AlgorithmInfoAlgorithmInfoMap
 

Protected Member Functions

virtual StatusCode CreateInputList ()
 Create the input list (accessible to algorithms), using objects created by client application.
 
virtual StatusCode CreateTemporaryListAndSetCurrent (const Algorithm *const pAlgorithm, const ObjectList &objectList, std::string &temporaryListName)
 Change the current list to a specified temporary list.
 
virtual StatusCode SaveList (const std::string &listName, const ObjectList &objectList)
 Save a list of objects in a list with a specified name; create new list if required.
 
virtual StatusCode AddObjectsToList (const std::string &listName, const ObjectList &objectList)
 Add objects to a saved list with a specified name.
 
virtual StatusCode RemoveObjectsFromList (const std::string &listName, const ObjectList &objectList)
 Remove objects from a saved list.
 
virtual StatusCode RenameList (const std::string &oldListName, const std::string &newListName)
 Rename a saved list, altering its saved name from a specified old list name to a specified new list name.
 
virtual StatusCode EraseAllContent ()
 Erase all manager content.
 
virtual StatusCode CreateInitialLists ()
 Create initial lists.
 
virtual StatusCode GetList (const std::string &listName, const ObjectList *&pObjectList) const
 Get a list.
 
virtual StatusCode GetCurrentList (const ObjectList *&pObjectList, std::string &listName) const
 Get the current list.
 
virtual StatusCode GetCurrentListName (std::string &listName) const
 Get the current list name.
 
virtual StatusCode GetAlgorithmInputList (const Algorithm *const pAlgorithm, const ObjectList *&pObjectList, std::string &listName) const
 Get the algorithm input list.
 
virtual StatusCode GetAlgorithmInputListName (const Algorithm *const pAlgorithm, std::string &listName) const
 Get the algorithm track list name.
 
virtual StatusCode ResetCurrentListToAlgorithmInputList (const Algorithm *const pAlgorithm)
 Reset the current list to the algorithm input list.
 
virtual StatusCode ReplaceCurrentAndAlgorithmInputLists (const Algorithm *const pAlgorithm, const std::string &listName)
 Replace the current and algorithm input lists with a pre-existing list.
 
virtual StatusCode DropCurrentList (const Algorithm *const pAlgorithm)
 Drop the current list, returning the current list to its default empty/null state.
 
virtual StatusCode CreateTemporaryListAndSetCurrent (const Algorithm *const pAlgorithm, std::string &temporaryListName)
 Create a temporary list associated with a particular algorithm.
 
virtual StatusCode RegisterAlgorithm (const Algorithm *const pAlgorithm)
 Register an algorithm with the manager.
 
virtual StatusCode ResetAlgorithmInfo (const Algorithm *const pAlgorithm, bool isAlgorithmFinished)
 Remove temporary lists and reset the current list to that when algorithm was initialized.
 
virtual StatusCode ResetForNextEvent ()
 Reset the manager.
 
virtual T * Modifiable (const T *const pT) const
 Access a modifiable object, when provided with address to const object.
 

Protected Attributes

const std::string m_inputListName
 The name of the input list.
 
const std::string m_nullListName
 The name of the default empty (NULL) list.
 
const Pandora *const m_pPandora
 The associated pandora object.
 
NameToListMap m_nameToListMap
 The name to list map.
 
AlgorithmInfoMap m_algorithmInfoMap
 The algorithm info map.
 
std::string m_currentListName
 The name of the current list.
 
StringSet m_savedLists
 The set of saved lists.
 

Detailed Description

template<typename T>
class pandora::InputObjectManager< T >

InputObjectManager class.

Definition at line 20 of file InputObjectManager.h.

Member Typedef Documentation

◆ AlgorithmInfoMap

template<typename T >
typedef std::unordered_map<const Algorithm *, AlgorithmInfo> pandora::Manager< T >::AlgorithmInfoMap
protectedinherited

Definition at line 176 of file Manager.h.

◆ NameToListMap

template<typename T >
typedef std::map<std::string, ObjectList *> pandora::Manager< T >::NameToListMap
protectedinherited

Definition at line 175 of file Manager.h.

◆ ObjectList

template<typename T >
typedef Manager<T>::ObjectList pandora::InputObjectManager< T >::ObjectList
protected

Definition at line 36 of file InputObjectManager.h.

Constructor & Destructor Documentation

◆ InputObjectManager()

template<typename T >
pandora::InputObjectManager< T >::InputObjectManager ( const Pandora *const  pPandora)

Constructor.

Parameters
pPandoraaddress of the associated pandora object

Definition at line 24 of file InputObjectManager.cc.

◆ ~InputObjectManager()

template<typename T >
pandora::InputObjectManager< T >::~InputObjectManager ( )
virtual

Destructor.

Definition at line 33 of file InputObjectManager.cc.

Member Function Documentation

◆ AddObjectsToList()

template<typename T >
StatusCode pandora::InputObjectManager< T >::AddObjectsToList ( const std::string &  listName,
const ObjectList objectList 
)
protectedvirtual

Add objects to a saved list with a specified name.

Parameters
listNamethe list to add the objects to
objectListthe list of objects to be added

Definition at line 91 of file InputObjectManager.cc.

◆ CreateInitialLists()

template<typename T >
StatusCode pandora::InputObjectManager< T >::CreateInitialLists ( )
protectedvirtual

Create initial lists.

Reimplemented from pandora::Manager< T >.

Definition at line 181 of file InputObjectManager.cc.

◆ CreateInputList()

template<typename T >
StatusCode pandora::InputObjectManager< T >::CreateInputList ( )
protectedvirtual

Create the input list (accessible to algorithms), using objects created by client application.

Definition at line 40 of file InputObjectManager.cc.

Here is the caller graph for this function:

◆ CreateTemporaryListAndSetCurrent() [1/2]

template<typename T >
StatusCode pandora::InputObjectManager< T >::CreateTemporaryListAndSetCurrent ( const Algorithm *const  pAlgorithm,
const ObjectList objectList,
std::string &  temporaryListName 
)
protectedvirtual

Change the current list to a specified temporary list.

Parameters
pAlgorithmaddress of the algorithm changing the current list
objectListthe specified temporary list
temporaryListNameto receive the name of the temporary list

Definition at line 57 of file InputObjectManager.cc.

Here is the caller graph for this function:

◆ CreateTemporaryListAndSetCurrent() [2/2]

template<typename T >
StatusCode pandora::Manager< T >::CreateTemporaryListAndSetCurrent ( const Algorithm *const  pAlgorithm,
std::string &  temporaryListName 
)
protectedvirtualinherited

Create a temporary list associated with a particular algorithm.

Parameters
pAlgorithmaddress of the algorithm
temporaryListNameto receive the name of the temporary list

Reimplemented in pandora::AlgorithmObjectManager< T >, pandora::AlgorithmObjectManager< Cluster >, pandora::AlgorithmObjectManager< ParticleFlowObject >, and pandora::AlgorithmObjectManager< Vertex >.

Definition at line 177 of file Manager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DropCurrentList()

template<typename T >
StatusCode pandora::Manager< T >::DropCurrentList ( const Algorithm *const  pAlgorithm)
protectedvirtualinherited

Drop the current list, returning the current list to its default empty/null state.

Parameters
pAlgorithmaddress of the algorithm altering the lists

Reimplemented in pandora::AlgorithmObjectManager< T >, pandora::AlgorithmObjectManager< Cluster >, pandora::AlgorithmObjectManager< ParticleFlowObject >, and pandora::AlgorithmObjectManager< Vertex >.

Definition at line 134 of file Manager.cc.

Here is the caller graph for this function:

◆ EraseAllContent()

template<typename T >
StatusCode pandora::InputObjectManager< T >::EraseAllContent ( )
protectedvirtual

Erase all manager content.

Reimplemented from pandora::Manager< T >.

Reimplemented in pandora::CaloHitManager, pandora::MCManager, and pandora::TrackManager.

Definition at line 161 of file InputObjectManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAlgorithmInputList()

template<typename T >
StatusCode pandora::Manager< T >::GetAlgorithmInputList ( const Algorithm *const  pAlgorithm,
const ObjectList *&  pObjectList,
std::string &  listName 
) const
protectedvirtualinherited

Get the algorithm input list.

Parameters
pAlgorithmaddress of the algorithm
pObjectListto receive the algorithm input list
listNameto receive the name of the algorithm input list

Definition at line 69 of file Manager.cc.

◆ GetAlgorithmInputListName()

template<typename T >
StatusCode pandora::Manager< T >::GetAlgorithmInputListName ( const Algorithm *const  pAlgorithm,
std::string &  listName 
) const
inlineprotectedvirtualinherited

Get the algorithm track list name.

Parameters
pAlgorithmaddress of the algorithm
listNameto receive the algorithm input list name

Definition at line 88 of file Manager.cc.

◆ GetCurrentList()

template<typename T >
StatusCode pandora::Manager< T >::GetCurrentList ( const ObjectList *&  pObjectList,
std::string &  listName 
) const
protectedvirtualinherited

Get the current list.

Parameters
pObjectListto receive the current list
listNameto receive the name of the current list

Definition at line 48 of file Manager.cc.

Here is the caller graph for this function:

◆ GetCurrentListName()

template<typename T >
StatusCode pandora::Manager< T >::GetCurrentListName ( std::string &  listName) const
inlineprotectedvirtualinherited

Get the current list name.

Parameters
listNameto receive the current list name

Definition at line 57 of file Manager.cc.

◆ GetList()

template<typename T >
StatusCode pandora::Manager< T >::GetList ( const std::string &  listName,
const ObjectList *&  pObjectList 
) const
protectedvirtualinherited

Get a list.

Parameters
listNamethe name of the list
pObjectListto receive the list

Definition at line 34 of file Manager.cc.

Here is the caller graph for this function:

◆ Modifiable()

template<typename T >
T * pandora::Manager< T >::Modifiable ( const T *const  pT) const
protectedvirtualinherited

Access a modifiable object, when provided with address to const object.

Parameters
pTthe address of the const object
Returns
address of the modifiable object

Definition at line 288 of file Manager.cc.

Here is the caller graph for this function:

◆ RegisterAlgorithm()

template<typename T >
StatusCode pandora::Manager< T >::RegisterAlgorithm ( const Algorithm *const  pAlgorithm)
protectedvirtualinherited

Register an algorithm with the manager.

Parameters
pAlgorithmaddress of the algorithm

Definition at line 198 of file Manager.cc.

◆ RemoveObjectsFromList()

template<typename T >
StatusCode pandora::InputObjectManager< T >::RemoveObjectsFromList ( const std::string &  listName,
const ObjectList objectList 
)
protectedvirtual

Remove objects from a saved list.

Parameters
listNamethe list to remove the objects from
objectListthe list of objects to be removed

Definition at line 124 of file InputObjectManager.cc.

◆ RenameList()

template<typename T >
StatusCode pandora::InputObjectManager< T >::RenameList ( const std::string &  oldListName,
const std::string &  newListName 
)
protectedvirtual

Rename a saved list, altering its saved name from a specified old list name to a specified new list name.

Parameters
oldListNamethe old list name
newListNamethe new list name

Reimplemented from pandora::Manager< T >.

Definition at line 150 of file InputObjectManager.cc.

Here is the call graph for this function:

◆ ReplaceCurrentAndAlgorithmInputLists()

template<typename T >
StatusCode pandora::Manager< T >::ReplaceCurrentAndAlgorithmInputLists ( const Algorithm *const  pAlgorithm,
const std::string &  listName 
)
protectedvirtualinherited

Replace the current and algorithm input lists with a pre-existing list.

Parameters
pAlgorithmaddress of the algorithm changing the current list
listNamethe name of the new current (and algorithm input) list

Reimplemented in pandora::AlgorithmObjectManager< T >, pandora::AlgorithmObjectManager< Cluster >, pandora::AlgorithmObjectManager< ParticleFlowObject >, and pandora::AlgorithmObjectManager< Vertex >.

Definition at line 110 of file Manager.cc.

Here is the caller graph for this function:

◆ ResetAlgorithmInfo()

template<typename T >
StatusCode pandora::Manager< T >::ResetAlgorithmInfo ( const Algorithm *const  pAlgorithm,
bool  isAlgorithmFinished 
)
protectedvirtualinherited

Remove temporary lists and reset the current list to that when algorithm was initialized.

Parameters
pAlgorithmaddress of the algorithm altering the lists
isAlgorithmFinishedwhether the algorithm has completely finished and the algorithm info should be entirely removed

Reimplemented in pandora::AlgorithmObjectManager< T >, pandora::AlgorithmObjectManager< Cluster >, pandora::AlgorithmObjectManager< ParticleFlowObject >, and pandora::AlgorithmObjectManager< Vertex >.

Definition at line 216 of file Manager.cc.

Here is the caller graph for this function:

◆ ResetCurrentListToAlgorithmInputList()

template<typename T >
StatusCode pandora::Manager< T >::ResetCurrentListToAlgorithmInputList ( const Algorithm *const  pAlgorithm)
protectedvirtualinherited

Reset the current list to the algorithm input list.

Parameters
pAlgorithmaddress of the algorithm changing the current track list

Reimplemented in pandora::AlgorithmObjectManager< T >, pandora::AlgorithmObjectManager< Cluster >, pandora::AlgorithmObjectManager< ParticleFlowObject >, and pandora::AlgorithmObjectManager< Vertex >.

Definition at line 102 of file Manager.cc.

Here is the caller graph for this function:

◆ ResetForNextEvent()

template<typename T >
StatusCode pandora::Manager< T >::ResetForNextEvent ( )
protectedvirtualinherited

Reset the manager.

Definition at line 247 of file Manager.cc.

Here is the caller graph for this function:

◆ SaveList()

template<typename T >
StatusCode pandora::InputObjectManager< T >::SaveList ( const std::string &  listName,
const ObjectList objectList 
)
protectedvirtual

Save a list of objects in a list with a specified name; create new list if required.

Parameters
listNamethe list name
objectListthe object list

Definition at line 69 of file InputObjectManager.cc.

Member Data Documentation

◆ m_algorithmInfoMap

template<typename T >
AlgorithmInfoMap pandora::Manager< T >::m_algorithmInfoMap
protectedinherited

The algorithm info map.

Definition at line 179 of file Manager.h.

◆ m_currentListName

template<typename T >
std::string pandora::Manager< T >::m_currentListName
protectedinherited

The name of the current list.

Definition at line 181 of file Manager.h.

◆ m_inputListName

template<typename T >
const std::string pandora::InputObjectManager< T >::m_inputListName
protected

The name of the input list.

Definition at line 97 of file InputObjectManager.h.

◆ m_nameToListMap

template<typename T >
NameToListMap pandora::Manager< T >::m_nameToListMap
protectedinherited

The name to list map.

Definition at line 178 of file Manager.h.

◆ m_nullListName

template<typename T >
const std::string pandora::Manager< T >::m_nullListName
protectedinherited

The name of the default empty (NULL) list.

Definition at line 172 of file Manager.h.

◆ m_pPandora

template<typename T >
const Pandora* const pandora::Manager< T >::m_pPandora
protectedinherited

The associated pandora object.

Definition at line 173 of file Manager.h.

◆ m_savedLists

template<typename T >
StringSet pandora::Manager< T >::m_savedLists
protectedinherited

The set of saved lists.

Definition at line 182 of file Manager.h.


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