LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
MultiPandoraApiImpl class. More...
#include "MultiPandoraApiImpl.h"
Private Types | |
typedef std::unordered_map< const pandora::Pandora *, const pandora::Pandora * > | PandoraRelationMap |
typedef std::unordered_map< const pandora::Pandora *, unsigned int > | PandoraToVolumeIdMap |
Private Member Functions | |
MultiPandoraApiImpl () | |
Default constructor;. More... | |
~MultiPandoraApiImpl () | |
Destructor;. More... | |
const PandoraInstanceMap & | GetPandoraInstanceMap () const |
Get the pandora instance map. More... | |
const pandora::Pandora * | GetPandoraInstance (const pandora::Pandora *const pPrimaryPandora, const unsigned int volumeId) const |
Get the address of the pandora instance associated with a given primary pandora instance and volume id number. More... | |
const PandoraInstanceList & | GetDaughterPandoraInstanceList (const pandora::Pandora *const pPrimaryPandora) const |
Get the list of daughter pandora instances associated with a given primary pandora instance. More... | |
const pandora::Pandora * | GetPrimaryPandoraInstance (const pandora::Pandora *const pDaughterPandora) const |
Get the address of the primary pandora instance associated with a given daughter pandora instance. More... | |
unsigned int | GetVolumeId (const pandora::Pandora *const pPandora) const |
Get the volume id associated with a given pandora instance. More... | |
void | AddPrimaryPandoraInstance (const pandora::Pandora *const pPrimaryPandora) |
Declare a new primary pandora instance. More... | |
void | AddDaughterPandoraInstance (const pandora::Pandora *const pPrimaryPandora, const pandora::Pandora *const pDaughterPandora) |
Add a pandora daughter instance, associated to a primary pandora instance. More... | |
void | DeletePandoraInstances (const pandora::Pandora *const pPrimaryPandora) |
Delete all pandora instances associated with (and including) a specified primary pandora instance. More... | |
void | SetVolumeId (const pandora::Pandora *const pPandora, const unsigned int volumeId) |
Set the volume id associated with a given pandora instance. More... | |
Private Attributes | |
PandoraInstanceMap | m_primaryToDaughtersMap |
The map from primary pandora instance to list of daughter pandora instances. More... | |
PandoraRelationMap | m_daughterToPrimaryMap |
The map from daughter pandora instance to primary pandora instance. More... | |
PandoraToVolumeIdMap | m_pandoraToVolumeIdMap |
The map from pandora instance to volume id. More... | |
Friends | |
class | MultiPandoraApi |
MultiPandoraApiImpl class.
Definition at line 21 of file MultiPandoraApiImpl.h.
|
private |
Definition at line 108 of file MultiPandoraApiImpl.h.
|
private |
Definition at line 109 of file MultiPandoraApiImpl.h.
|
private |
|
private |
Destructor;.
Definition at line 96 of file MultiPandoraApiImpl.cc.
References DeletePandoraInstances(), and m_primaryToDaughtersMap.
|
private |
Add a pandora daughter instance, associated to a primary pandora instance.
pPrimaryPandora | the address of the primary pandora instance |
pDaughterPandora | the address of the daughter pandora instance |
Definition at line 115 of file MultiPandoraApiImpl.cc.
References m_daughterToPrimaryMap, and m_primaryToDaughtersMap.
Referenced by MultiPandoraApi::AddDaughterPandoraInstance().
|
private |
Declare a new primary pandora instance.
pPrimaryPandora | the address of the primary pandora instance |
Definition at line 107 of file MultiPandoraApiImpl.cc.
References m_primaryToDaughtersMap.
Referenced by MultiPandoraApi::AddPrimaryPandoraInstance().
|
private |
Delete all pandora instances associated with (and including) a specified primary pandora instance.
pPrimaryPandora | the address of the primary pandora instance |
Definition at line 130 of file MultiPandoraApiImpl.cc.
References GetDaughterPandoraInstanceList(), m_daughterToPrimaryMap, m_pandoraToVolumeIdMap, and m_primaryToDaughtersMap.
Referenced by MultiPandoraApi::DeletePandoraInstances(), and ~MultiPandoraApiImpl().
|
private |
Get the list of daughter pandora instances associated with a given primary pandora instance.
pPrimaryPandora | the address of the primary pandora instance |
Definition at line 43 of file MultiPandoraApiImpl.cc.
References m_primaryToDaughtersMap.
Referenced by DeletePandoraInstances(), MultiPandoraApi::GetDaughterPandoraInstanceList(), and GetPandoraInstance().
|
private |
Get the address of the pandora instance associated with a given primary pandora instance and volume id number.
pPrimaryPandora | the address of the primary pandora instance |
volumeId | the volume identifier number |
Definition at line 21 of file MultiPandoraApiImpl.cc.
References GetDaughterPandoraInstanceList(), and GetVolumeId().
Referenced by MultiPandoraApi::GetPandoraInstance().
|
private |
Get the pandora instance map.
Definition at line 14 of file MultiPandoraApiImpl.cc.
References m_primaryToDaughtersMap.
Referenced by MultiPandoraApi::GetPandoraInstanceMap().
|
private |
Get the address of the primary pandora instance associated with a given daughter pandora instance.
pDaughterPandora | the address of the daughter pandora instance |
Definition at line 55 of file MultiPandoraApiImpl.cc.
References m_daughterToPrimaryMap.
Referenced by MultiPandoraApi::GetPrimaryPandoraInstance().
|
private |
Get the volume id associated with a given pandora instance.
pPandora | the address of the pandora instance |
Definition at line 67 of file MultiPandoraApiImpl.cc.
References m_pandoraToVolumeIdMap.
Referenced by GetPandoraInstance(), and MultiPandoraApi::GetVolumeId().
|
private |
Set the volume id associated with a given pandora instance.
pPandora | the address of the pandora instance |
volumeId | the volume id |
Definition at line 79 of file MultiPandoraApiImpl.cc.
References m_pandoraToVolumeIdMap.
Referenced by MultiPandoraApi::SetVolumeId().
|
friend |
Definition at line 115 of file MultiPandoraApiImpl.h.
|
private |
The map from daughter pandora instance to primary pandora instance.
Definition at line 112 of file MultiPandoraApiImpl.h.
Referenced by AddDaughterPandoraInstance(), DeletePandoraInstances(), and GetPrimaryPandoraInstance().
|
private |
The map from pandora instance to volume id.
Definition at line 113 of file MultiPandoraApiImpl.h.
Referenced by DeletePandoraInstances(), GetVolumeId(), and SetVolumeId().
|
private |
The map from primary pandora instance to list of daughter pandora instances.
Definition at line 111 of file MultiPandoraApiImpl.h.
Referenced by AddDaughterPandoraInstance(), AddPrimaryPandoraInstance(), DeletePandoraInstances(), GetDaughterPandoraInstanceList(), GetPandoraInstanceMap(), and ~MultiPandoraApiImpl().