DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Helper class to populate the volume manager. More...
Public Member Functions | |
VolumeManager_Populator (const Detector &description, VolumeManager vm) | |
Default constructor. More... | |
size_t | numNodes () const |
Access node count. More... | |
void | populate (DetElement e) |
Populate the Volume manager. More... | |
size_t | scanPhysicalVolume (DetElement &parent, DetElement e, PlacedVolume pv, Encoding parent_encoding, SensitiveDetector &sd, Chain &chain) |
Scan a single physical volume and look for sensitive elements below. More... | |
void | add_entry (SensitiveDetector sd, DetElement parent, DetElement e, const TGeoNode *n, const Encoding &code, Chain &nodes) |
void | print_node (SensitiveDetector sd, DetElement parent, DetElement e, const TGeoNode *n, const Encoding &code, const Chain &nodes) const |
Static Public Member Functions | |
static Encoding | update_encoding (const IDDescriptor iddesc, const VolIDs &ids, const Encoding &initial) |
Compute the encoding for a set of VolIDs within a readout descriptor. More... | |
static Encoding | encoding (const IDDescriptor iddesc, const VolIDs &ids) |
Compute the encoding for a set of VolIDs within a readout descriptor. More... | |
Private Types | |
typedef std::vector< TGeoNode * > | Chain |
typedef PlacedVolume::VolIDs | VolIDs |
typedef std::pair< VolumeID, VolumeID > | Encoding |
Private Attributes | |
const Detector & | m_detDesc |
Reference to the Detector instance. More... | |
VolumeManager | m_volManager |
Reference to the volume manager to be populated. More... | |
std::set< VolumeID > | m_entries |
Set of already added entries. More... | |
bool | m_debug = false |
Debug flag. More... | |
std::size_t | m_numNodes = 0 |
Node counter. More... | |
Helper class to populate the volume manager.
Definition at line 45 of file VolumeManager.cpp.
|
private |
Definition at line 46 of file VolumeManager.cpp.
|
private |
Definition at line 48 of file VolumeManager.cpp.
|
private |
Definition at line 47 of file VolumeManager.cpp.
|
inline |
Default constructor.
Definition at line 62 of file VolumeManager.cpp.
|
inline |
Definition at line 238 of file VolumeManager.cpp.
|
inlinestatic |
Compute the encoding for a set of VolIDs within a readout descriptor.
Definition at line 224 of file VolumeManager.cpp.
|
inline |
Access node count.
Definition at line 69 of file VolumeManager.cpp.
|
inline |
Populate the Volume manager.
Definition at line 72 of file VolumeManager.cpp.
|
inline |
Definition at line 277 of file VolumeManager.cpp.
|
inline |
Scan a single physical volume and look for sensitive elements below.
Check if this particular volume is the placement of one of the children of this detector element. If the daughter placement is also a detector child, then we must reset the node chain.
Distinguish logically the two following cases for our understanding.... Though the treatment is identical
Definition at line 95 of file VolumeManager.cpp.
|
inlinestatic |
Compute the encoding for a set of VolIDs within a readout descriptor.
Definition at line 210 of file VolumeManager.cpp.
|
private |
Debug flag.
Definition at line 56 of file VolumeManager.cpp.
|
private |
Reference to the Detector instance.
Definition at line 50 of file VolumeManager.cpp.
|
private |
Set of already added entries.
Definition at line 54 of file VolumeManager.cpp.
|
private |
Node counter.
Definition at line 58 of file VolumeManager.cpp.
|
private |
Reference to the volume manager to be populated.
Definition at line 52 of file VolumeManager.cpp.