|
CbmRoot
|
A class to keep paths to nodes vs. hardware addresses for different detectors. More...
#include <CbmGeoNodeMap.h>
Public Member Functions | |
| GeoNodeMap (std::unordered_map< uint32_t, std::string > &&nodeMap) | |
| Constructor. | |
| const std::string & | GetNodePath (uint32_t address) const |
| A common function to get a path of a node. | |
| const auto & | GetNodeMap () const |
| An accessor to the node map. | |
| algo::GeoVolume | ReadGeoVolume (uint32_t address) |
| Read volume properties of the node. | |
| template<class Visitor> | |
| auto | GetVolumeProperties (Visitor &&visitor, ECbmModuleId moduleId) const |
| Read volume properties for a given ModuleId. | |
Static Public Member Functions | |
| static uint32_t | ApplyMask (uint32_t address, ECbmModuleId moduleId) |
| Applies mask. | |
| static uint32_t | ApplyMask (uint32_t address) |
| Applies mask. | |
Static Private Member Functions | |
| template<ECbmModuleId ModuleId> | |
| static uint32_t | AlignableMask () |
| Mask for minimally alignable element. | |
Private Attributes | |
| std::unordered_map< uint32_t, std::string > | fNodeMap |
| Map of geometrical nodes vs hardware address. | |
A class to keep paths to nodes vs. hardware addresses for different detectors.
Definition at line 27 of file CbmGeoNodeMap.h.
|
explicit |
Constructor.
| nodeMap | A map for address->geo node |
Definition at line 18 of file CbmGeoNodeMap.cxx.
References fNodeMap.
|
inlinestaticprivate |
Mask for minimally alignable element.
Definition at line 99 of file CbmGeoNodeMap.h.
References kMuch, kMvd, kSts, kTof, and kTrd.
Referenced by ApplyMask().
|
inlinestatic |
Applies mask.
| address | Software address of detector element |
Definition at line 87 of file CbmGeoNodeMap.h.
References ApplyMask(), and CbmAddress::GetSystemId().
|
inlinestatic |
Applies mask.
| address | Software address of detector element |
| moduleId | CBM module identifier |
Definition at line 73 of file CbmGeoNodeMap.h.
References AlignableMask(), kMuch, kMvd, kSts, kTof, and kTrd.
Referenced by ApplyMask(), cbm::ca::IdealHitProducerDet< DetID >::FillPointIsLegit(), and GetNodePath().
|
inline |
|
inline |
A common function to get a path of a node.
| address | Software address of detector element |
Definition at line 35 of file CbmGeoNodeMap.h.
References ApplyMask(), and fNodeMap.
Referenced by ReadGeoVolume().
|
inline |
Read volume properties for a given ModuleId.
| Visitor | A type of callable, which returns a desired volume property |
| visitor | A callable object |
| moduleId | CBM module identifier for a subsystem to read nodes |
Definition at line 58 of file CbmGeoNodeMap.h.
References fNodeMap, CbmAddress::GetSystemId(), and cbm::RecoSetupUtils::ReadVolume().
| cbm::algo::GeoVolume GeoNodeMap::ReadGeoVolume | ( | uint32_t | address | ) |
Read volume properties of the node.
| address | of the element |
Definition at line 25 of file CbmGeoNodeMap.cxx.
References GetNodePath(), CbmAddress::GetSystemId(), and cbm::RecoSetupUtils::ReadVolume().
|
private |
Map of geometrical nodes vs hardware address.
Definition at line 94 of file CbmGeoNodeMap.h.
Referenced by GeoNodeMap(), GetNodeMap(), GetNodePath(), and GetVolumeProperties().