Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::ClusterManager Class Reference

ClusterManager class. More...

#include "ClusterManager.h"

Inheritance diagram for pandora::ClusterManager:
Collaboration diagram for pandora::ClusterManager:

Public Member Functions

 ClusterManager (const Pandora *const pPandora)
 Constructor.
 
 ~ClusterManager ()
 Destructor.
 
template<>
bool IsAvailable (const Cluster *const pCluster) const
 
template<>
bool IsAvailable (const ClusterList *const pClusterList) const
 
template<>
void SetAvailability (const Cluster *const pCluster, bool isAvailable) const
 
template<>
void SetAvailability (const ClusterList *const pClusterList, bool isAvailable) const
 

Protected Types

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

Protected Member Functions

virtual StatusCode CreateTemporaryListAndSetCurrent (const Algorithm *const pAlgorithm, std::string &temporaryListName)
 Make a temporary list and set it to be the current list.
 
virtual StatusCode MoveObjectsToTemporaryListAndSetCurrent (const Algorithm *const pAlgorithm, const std::string &originalListName, std::string &temporaryListName, const ObjectList &objectsToMove)
 Move objects to a new temporary object list and set it to be the current object list.
 
virtual StatusCode SaveObjects (const std::string &targetListName, const std::string &sourceListName)
 Save a list of objects.
 
virtual StatusCode SaveObjects (const std::string &targetListName, const std::string &sourceListName, const ObjectList &objectsToSave)
 Save a list of objects.
 
virtual StatusCode MoveObjectsBetweenLists (const std::string &targetListName, const std::string &sourceListName, const ObjectList *pObjectSubset=nullptr)
 Move (a subset of) objects between two lists.
 
virtual StatusCode TemporarilyReplaceCurrentList (const std::string &listName)
 Temporarily replace the current list with another list, which may only be a temporary list. This switch will persist only for the duration of the algorithm and its daughters; unless otherwise specified, the list will revert to the algorithm input list upon algorithm completion.
 
virtual StatusCode DeleteObject (const Cluster *const pT, const std::string &listName)
 Delete an object from a specified list.
 
virtual StatusCode DeleteObjects (const ObjectList &objectList, const std::string &listName)
 Delete a list of objects from a specified list.
 
virtual StatusCode DeleteTemporaryObjects (const Algorithm *const pAlgorithm, const std::string &temporaryListName)
 Delete the contents of a temporary list.
 
virtual StatusCode GetResetDeletionObjects (const Algorithm *const pAlgorithm, ObjectList &objectList) const
 Get the list of objects that will be deleted when the algorithm info is reset.
 
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 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 ResetAlgorithmInfo (const Algorithm *const pAlgorithm, bool isAlgorithmFinished)
 Remove temporary lists and reset the current cluster list to that when algorithm was initialized.
 
virtual StatusCode EraseAllContent ()
 Erase all manager content.
 
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 RegisterAlgorithm (const Algorithm *const pAlgorithm)
 Register an algorithm with the manager.
 
virtual StatusCode ResetForNextEvent ()
 Reset the manager.
 
virtual StatusCode CreateInitialLists ()
 Create initial lists.
 
virtual T * Modifiable (const T *const pT) const
 Access a modifiable object, when provided with address to const object.
 

Protected Attributes

bool m_canMakeNewObjects
 Whether the manager is allowed to make new objects when requested by algorithms.
 
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.
 

Private Member Functions

StatusCode Create (const object_creation::Cluster::Parameters &parameters, const Cluster *&pCluster, const ObjectFactory< object_creation::Cluster::Parameters, object_creation::Cluster::Object > &factory)
 Create cluster.
 
StatusCode AlterMetadata (const Cluster *const pCluster, const object_creation::Cluster::Metadata &metadata) const
 Alter the metadata information stored in a cluster.
 
template<typename T >
bool IsAvailable (const T *const pT) const
 Is a cluster, or a list of clusters, available to add to a particle flow object.
 
template<typename T >
void SetAvailability (const T *const pT, bool isAvailable) const
 Set availability of a cluster, or a list of clusters, to be added to a particle flow object.
 
StatusCode AddToCluster (const Cluster *const pCluster, const CaloHit *const pCaloHit)
 Add a calo hit to a cluster.
 
StatusCode RemoveFromCluster (const Cluster *const pCluster, const CaloHit *const pCaloHit)
 Remove a calo hit from a cluster.
 
StatusCode AddIsolatedToCluster (const Cluster *const pCluster, const CaloHit *const pCaloHit)
 Add an isolated calo hit to a cluster. This is not counted as a regular calo hit: it contributes only towards the cluster energy and does not affect any other cluster properties.
 
StatusCode RemoveIsolatedFromCluster (const Cluster *const pCluster, const CaloHit *const pCaloHit)
 Remove an isolated calo hit from a cluster.
 
StatusCode MergeAndDeleteClusters (const Cluster *const pClusterToEnlarge, const Cluster *const pClusterToDelete, const std::string &enlargeListName, const std::string &deleteListName)
 Merge two clusters from two specified lists, enlarging one cluster and deleting the second.
 
StatusCode AddTrackAssociation (const Cluster *const pCluster, const Track *const pTrack) const
 Add an association between a cluster and a track.
 
StatusCode RemoveTrackAssociation (const Cluster *const pCluster, const Track *const pTrack) const
 Remove an association between a cluster and a track.
 
StatusCode RemoveAllTrackAssociations () const
 Remove all cluster to track associations.
 
StatusCode RemoveCurrentTrackAssociations (TrackList &danglingTracks) const
 Remove cluster to track associations from all clusters in the current list.
 
StatusCode RemoveTrackAssociations (const TrackToClusterMap &trackToClusterList) const
 Remove a specified list of cluster to track associations.
 

Friends

class PandoraContentApiImpl
 
class PandoraImpl
 

Detailed Description

ClusterManager class.

Definition at line 22 of file ClusterManager.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

typedef Manager<Cluster >::ObjectList pandora::AlgorithmObjectManager< Cluster >::ObjectList
protectedinherited

Definition at line 36 of file AlgorithmObjectManager.h.

Constructor & Destructor Documentation

◆ ClusterManager()

pandora::ClusterManager::ClusterManager ( const Pandora *const  pPandora)

Constructor.

Parameters
pPandoraaddress of the associated pandora object

Definition at line 20 of file ClusterManager.cc.

Here is the call graph for this function:

◆ ~ClusterManager()

pandora::ClusterManager::~ClusterManager ( )

Destructor.

Definition at line 28 of file ClusterManager.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddIsolatedToCluster()

StatusCode pandora::ClusterManager::AddIsolatedToCluster ( const Cluster *const  pCluster,
const CaloHit *const  pCaloHit 
)
private

Add an isolated calo hit to a cluster. This is not counted as a regular calo hit: it contributes only towards the cluster energy and does not affect any other cluster properties.

Parameters
pClusteraddress of the cluster to modify
pCaloHitaddress of the hit to add

Definition at line 124 of file ClusterManager.cc.

Here is the call graph for this function:

◆ AddToCluster()

StatusCode pandora::ClusterManager::AddToCluster ( const Cluster *const  pCluster,
const CaloHit *const  pCaloHit 
)
private

Add a calo hit to a cluster.

Parameters
pClusteraddress of the cluster to modify
pCaloHitaddress of the hit to add

Definition at line 110 of file ClusterManager.cc.

Here is the call graph for this function:

◆ AddTrackAssociation()

StatusCode pandora::ClusterManager::AddTrackAssociation ( const Cluster *const  pCluster,
const Track *const  pTrack 
) const
private

Add an association between a cluster and a track.

Parameters
pClusterthe address of the relevant cluster
pTrackthe address of the track with which the cluster is associated

Definition at line 166 of file ClusterManager.cc.

Here is the call graph for this function:

◆ AlterMetadata()

StatusCode pandora::ClusterManager::AlterMetadata ( const Cluster *const  pCluster,
const object_creation::Cluster::Metadata metadata 
) const
private

Alter the metadata information stored in a cluster.

Parameters
pClusteraddress of the cluster to modify
metaDatathe metadata (only populated metadata fields will be propagated to the object)

Definition at line 69 of file ClusterManager.cc.

Here is the call graph for this function:

◆ Create()

StatusCode pandora::ClusterManager::Create ( const object_creation::Cluster::Parameters parameters,
const Cluster *&  pCluster,
const ObjectFactory< object_creation::Cluster::Parameters, object_creation::Cluster::Object > &  factory 
)
private

Create cluster.

Parameters
parametersthe cluster parameters
pClusterto receive the address of the cluster created
factorythe factory that performs the object allocation

Definition at line 35 of file ClusterManager.cc.

Here is the call graph for this function:

◆ CreateInitialLists()

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

Create initial lists.

Reimplemented in pandora::InputObjectManager< T >, pandora::InputObjectManager< CaloHit >, pandora::InputObjectManager< MCParticle >, and pandora::InputObjectManager< Track >.

Definition at line 274 of file Manager.cc.

Here is the caller graph for this function:

◆ CreateTemporaryListAndSetCurrent()

StatusCode pandora::AlgorithmObjectManager< Cluster >::CreateTemporaryListAndSetCurrent ( const Algorithm *const  pAlgorithm,
std::string &  temporaryListName 
)
protectedvirtualinherited

Make a temporary list and set it to be the current list.

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

Reimplemented from pandora::Manager< T >.

Definition at line 44 of file AlgorithmObjectManager.cc.

◆ DeleteObject()

StatusCode pandora::AlgorithmObjectManager< Cluster >::DeleteObject ( const Cluster *const  pT,
const std::string &  listName 
)
protectedvirtualinherited

Delete an object from a specified list.

Parameters
pClusteraddress of the object to delete
listNamethe name of the list containing the object

Definition at line 103 of file AlgorithmObjectManager.cc.

◆ DeleteObjects()

StatusCode pandora::AlgorithmObjectManager< Cluster >::DeleteObjects ( const ObjectList objectList,
const std::string &  listName 
)
protectedvirtualinherited

Delete a list of objects from a specified list.

Parameters
objectListthe list of objects to delete
listNamethe name of the list containing the objects

Definition at line 111 of file AlgorithmObjectManager.cc.

◆ DeleteTemporaryObjects()

StatusCode pandora::AlgorithmObjectManager< Cluster >::DeleteTemporaryObjects ( const Algorithm *const  pAlgorithm,
const std::string &  temporaryListName 
)
protectedvirtualinherited

Delete the contents of a temporary list.

Parameters
pAlgorithmaddress of the algorithm calling this function
temporaryListNamethe name of the temporary list

Definition at line 119 of file AlgorithmObjectManager.cc.

◆ DropCurrentList()

StatusCode pandora::AlgorithmObjectManager< Cluster >::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 from pandora::Manager< T >.

Definition at line 149 of file AlgorithmObjectManager.cc.

◆ EraseAllContent()

StatusCode pandora::AlgorithmObjectManager< Cluster >::EraseAllContent ( )
protectedvirtualinherited

Erase all manager content.

Reimplemented from pandora::Manager< T >.

Definition at line 170 of file AlgorithmObjectManager.cc.

◆ 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:

◆ GetResetDeletionObjects()

StatusCode pandora::AlgorithmObjectManager< Cluster >::GetResetDeletionObjects ( const Algorithm *const  pAlgorithm,
ObjectList objectList 
) const
protectedvirtualinherited

Get the list of objects that will be deleted when the algorithm info is reset.

Parameters
pAlgorithmaddress of the algorithm
objectListto receive the list of objects that will be deleted when the algorithm info is reset

Definition at line 127 of file AlgorithmObjectManager.cc.

◆ IsAvailable() [1/3]

template<>
bool pandora::ClusterManager::IsAvailable ( const Cluster *const  pCluster) const

Definition at line 77 of file ClusterManager.cc.

Here is the call graph for this function:

◆ IsAvailable() [2/3]

template<>
bool pandora::ClusterManager::IsAvailable ( const ClusterList *const  pClusterList) const

Definition at line 83 of file ClusterManager.cc.

Here is the call graph for this function:

◆ IsAvailable() [3/3]

template<typename T >
bool pandora::ClusterManager::IsAvailable ( const T *const  pT) const
private

Is a cluster, or a list of clusters, available to add to a particle flow object.

Parameters
pTaddress of the object or object list
Returns
boolean
Here is the caller graph for this function:

◆ MergeAndDeleteClusters()

StatusCode pandora::ClusterManager::MergeAndDeleteClusters ( const Cluster *const  pClusterToEnlarge,
const Cluster *const  pClusterToDelete,
const std::string &  enlargeListName,
const std::string &  deleteListName 
)
private

Merge two clusters from two specified lists, enlarging one cluster and deleting the second.

Parameters
pClusterToEnlargeaddress of the cluster to enlarge
pClusterToDeleteaddress of the cluster to delete
enlargeListNamename of the list containing the cluster to enlarge
deleteListNamename of the list containing the cluster to delete

Definition at line 138 of file ClusterManager.cc.

Here is the call 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:

◆ MoveObjectsBetweenLists()

StatusCode pandora::AlgorithmObjectManager< Cluster >::MoveObjectsBetweenLists ( const std::string &  targetListName,
const std::string &  sourceListName,
const ObjectList pObjectSubset = nullptr 
)
protectedvirtualinherited

Move (a subset of) objects between two lists.

Parameters
targetListNamethe name of the target object list, which will be created if it doesn't currently exist
sourceListNamethe name of the object list containing objects to save
pObjectSubsetif specified, only objects in both this and the source list will be moved

Definition at line 85 of file AlgorithmObjectManager.cc.

◆ MoveObjectsToTemporaryListAndSetCurrent()

StatusCode pandora::AlgorithmObjectManager< Cluster >::MoveObjectsToTemporaryListAndSetCurrent ( const Algorithm *const  pAlgorithm,
const std::string &  originalListName,
std::string &  temporaryListName,
const ObjectList objectsToMove 
)
protectedvirtualinherited

Move objects to a new temporary object list and set it to be the current object list.

Parameters
pAlgorithmaddress of the algorithm requesting a temporary list
originalListNamethe list in which the object currently exist
temporaryListNameto receive the name of the temporary list
objectsToMoveonly objects in both this and the current list will be moved
  • other object in the current list will remain in original list
  • an empty object list will be rejected

Definition at line 56 of file AlgorithmObjectManager.cc.

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

◆ RemoveAllTrackAssociations()

StatusCode pandora::ClusterManager::RemoveAllTrackAssociations ( ) const
private

Remove all cluster to track associations.

Definition at line 180 of file ClusterManager.cc.

Here is the call graph for this function:

◆ RemoveCurrentTrackAssociations()

StatusCode pandora::ClusterManager::RemoveCurrentTrackAssociations ( TrackList danglingTracks) const
private

Remove cluster to track associations from all clusters in the current list.

Parameters
danglingTracksto receive the list of "dangling" associations

Definition at line 198 of file ClusterManager.cc.

Here is the call graph for this function:

◆ RemoveFromCluster()

StatusCode pandora::ClusterManager::RemoveFromCluster ( const Cluster *const  pCluster,
const CaloHit *const  pCaloHit 
)
private

Remove a calo hit from a cluster.

Parameters
pClusteraddress of the cluster to modify
pCaloHitaddress of the hit to remove

Definition at line 117 of file ClusterManager.cc.

Here is the call graph for this function:

◆ RemoveIsolatedFromCluster()

StatusCode pandora::ClusterManager::RemoveIsolatedFromCluster ( const Cluster *const  pCluster,
const CaloHit *const  pCaloHit 
)
private

Remove an isolated calo hit from a cluster.

Parameters
pClusteraddress of the cluster to modify
pCaloHitaddress of the hit to remove

Definition at line 131 of file ClusterManager.cc.

Here is the call graph for this function:

◆ RemoveTrackAssociation()

StatusCode pandora::ClusterManager::RemoveTrackAssociation ( const Cluster *const  pCluster,
const Track *const  pTrack 
) const
private

Remove an association between a cluster and a track.

Parameters
pClusterthe address of the relevant cluster
pTrackthe address of the track with which the cluster is no longer associated

Definition at line 173 of file ClusterManager.cc.

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

◆ RemoveTrackAssociations()

StatusCode pandora::ClusterManager::RemoveTrackAssociations ( const TrackToClusterMap trackToClusterList) const
private

Remove a specified list of cluster to track associations.

Parameters
trackToClusterListthe specified track to cluster list

Definition at line 220 of file ClusterManager.cc.

Here is the call graph for this function:

◆ RenameList()

StatusCode pandora::AlgorithmObjectManager< Cluster >::RenameList ( const std::string &  oldListName,
const std::string &  newListName 
)
protectedvirtualinherited

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 157 of file AlgorithmObjectManager.cc.

◆ ReplaceCurrentAndAlgorithmInputLists()

StatusCode pandora::AlgorithmObjectManager< Cluster >::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 from pandora::Manager< T >.

Definition at line 142 of file AlgorithmObjectManager.cc.

◆ ResetAlgorithmInfo()

StatusCode pandora::AlgorithmObjectManager< Cluster >::ResetAlgorithmInfo ( const Algorithm *const  pAlgorithm,
bool  isAlgorithmFinished 
)
protectedvirtualinherited

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

Parameters
pAlgorithmthe algorithm associated with the temporary objects
isAlgorithmFinishedwhether the algorithm has completely finished and the algorithm info should be entirely removed

Reimplemented from pandora::Manager< T >.

Definition at line 165 of file AlgorithmObjectManager.cc.

◆ ResetCurrentListToAlgorithmInputList()

StatusCode pandora::AlgorithmObjectManager< Cluster >::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 from pandora::Manager< T >.

Definition at line 134 of file AlgorithmObjectManager.cc.

◆ 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:

◆ SaveObjects() [1/2]

StatusCode pandora::AlgorithmObjectManager< Cluster >::SaveObjects ( const std::string &  targetListName,
const std::string &  sourceListName 
)
protectedvirtualinherited

Save a list of objects.

Parameters
targetListNamethe name of the target object list, which will be created if it doesn't currently exist
sourceListNamethe name of the (typically temporary) object list to save

Definition at line 65 of file AlgorithmObjectManager.cc.

◆ SaveObjects() [2/2]

StatusCode pandora::AlgorithmObjectManager< Cluster >::SaveObjects ( const std::string &  targetListName,
const std::string &  sourceListName,
const ObjectList objectsToSave 
)
protectedvirtualinherited

Save a list of objects.

Parameters
targetListNamethe name of the target object list, which will be created if it doesn't currently exist
sourceListNamethe name of the (typically temporary) object list containing objects to save
objectToSaveonly objects in both this and the temporary list will be stored
  • other object will remain in the temporary list and will be deleted when the parent algorithm exits
  • an empty object list will be rejected

Definition at line 76 of file AlgorithmObjectManager.cc.

◆ SetAvailability() [1/3]

template<>
void pandora::ClusterManager::SetAvailability ( const Cluster *const  pCluster,
bool  isAvailable 
) const

Definition at line 96 of file ClusterManager.cc.

Here is the call graph for this function:

◆ SetAvailability() [2/3]

template<>
void pandora::ClusterManager::SetAvailability ( const ClusterList *const  pClusterList,
bool  isAvailable 
) const

Definition at line 102 of file ClusterManager.cc.

Here is the call graph for this function:

◆ SetAvailability() [3/3]

template<typename T >
void pandora::ClusterManager::SetAvailability ( const T *const  pT,
bool  isAvailable 
) const
private

Set availability of a cluster, or a list of clusters, to be added to a particle flow object.

Parameters
pTthe address of the object or object list
isAvailablethe availability
Here is the caller graph for this function:

◆ TemporarilyReplaceCurrentList()

StatusCode pandora::AlgorithmObjectManager< Cluster >::TemporarilyReplaceCurrentList ( const std::string &  listName)
protectedvirtualinherited

Temporarily replace the current list with another list, which may only be a temporary list. This switch will persist only for the duration of the algorithm and its daughters; unless otherwise specified, the list will revert to the algorithm input list upon algorithm completion.

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

Definition at line 95 of file AlgorithmObjectManager.cc.

Friends And Related Symbol Documentation

◆ PandoraContentApiImpl

friend class PandoraContentApiImpl
friend

Definition at line 154 of file ClusterManager.h.

◆ PandoraImpl

friend class PandoraImpl
friend

Definition at line 155 of file ClusterManager.h.

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_canMakeNewObjects

bool pandora::AlgorithmObjectManager< Cluster >::m_canMakeNewObjects
protectedinherited

Whether the manager is allowed to make new objects when requested by algorithms.

Definition at line 172 of file AlgorithmObjectManager.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_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: