8#ifndef PANDORA_MANAGER_H
9#define PANDORA_MANAGER_H 1
159 virtual T *
Modifiable(
const T *
const pT)
const;
Header file defining relevant internal typedefs, sort and string conversion functions.
Header file defining status codes and relevant preprocessor macros.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
unsigned int m_numberOfListsCreated
The number of lists created by the algorithm.
virtual StatusCode ResetCurrentListToAlgorithmInputList(const Algorithm *const pAlgorithm)
Reset the current list to the algorithm input list.
std::string m_currentListName
The name of the current list.
virtual T * Modifiable(const T *const pT) const
Access a modifiable object, when provided with address to const object.
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 n...
MANAGED_CONTAINER< const T * > ObjectList
const Pandora *const m_pPandora
The associated pandora object.
virtual StatusCode EraseAllContent()
Erase all manager content.
virtual StatusCode ResetAlgorithmInfo(const Algorithm *const pAlgorithm, bool isAlgorithmFinished)
Remove temporary lists and reset the current list to that when algorithm was initialized.
StringSet m_savedLists
The set of saved lists.
NameToListMap m_nameToListMap
The name to list map.
virtual ~Manager()
Destructor.
const std::string m_nullListName
The name of the default empty (NULL) list.
std::string m_parentListName
The current list when algorithm was initialized.
virtual StatusCode DropCurrentList(const Algorithm *const pAlgorithm)
Drop the current list, returning the current list to its default empty/null state.
std::map< std::string, ObjectList * > NameToListMap
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 GetAlgorithmInputListName(const Algorithm *const pAlgorithm, std::string &listName) const
Get the algorithm track list name.
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 RegisterAlgorithm(const Algorithm *const pAlgorithm)
Register an algorithm with the manager.
virtual StatusCode CreateTemporaryListAndSetCurrent(const Algorithm *const pAlgorithm, std::string &temporaryListName)
Create a temporary list associated with a particular algorithm.
std::unordered_map< const Algorithm *, AlgorithmInfo > AlgorithmInfoMap
virtual StatusCode ResetForNextEvent()
Reset the manager.
virtual StatusCode GetList(const std::string &listName, const ObjectList *&pObjectList) const
Get a list.
virtual StatusCode GetAlgorithmInputList(const Algorithm *const pAlgorithm, const ObjectList *&pObjectList, std::string &listName) const
Get the algorithm input list.
AlgorithmInfoMap m_algorithmInfoMap
The algorithm info map.
StringSet m_temporaryListNames
The temporary list names.
virtual StatusCode CreateInitialLists()
Create initial lists.
std::set< std::string > StringSet
StatusCode
The StatusCode enum.