CbmRoot
Loading...
Searching...
No Matches
GeoNodeMap Class Reference

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.
 

Detailed Description

A class to keep paths to nodes vs. hardware addresses for different detectors.

Definition at line 27 of file CbmGeoNodeMap.h.

Constructor & Destructor Documentation

◆ GeoNodeMap()

GeoNodeMap::GeoNodeMap ( std::unordered_map< uint32_t, std::string > && nodeMap)
explicit

Constructor.

Parameters
nodeMapA map for address->geo node

Definition at line 18 of file CbmGeoNodeMap.cxx.

Member Function Documentation

◆ AlignableMask()

template<ECbmModuleId ModuleId>
static uint32_t cbm::GeoNodeMap::AlignableMask ( )
inlinestaticprivate

Mask for minimally alignable element.

Definition at line 99 of file CbmGeoNodeMap.h.

◆ ApplyMask() [1/2]

static uint32_t cbm::GeoNodeMap::ApplyMask ( uint32_t address)
inlinestatic

Applies mask.

Parameters
addressSoftware address of detector element

Definition at line 87 of file CbmGeoNodeMap.h.

◆ ApplyMask() [2/2]

static uint32_t cbm::GeoNodeMap::ApplyMask ( uint32_t address,
ECbmModuleId moduleId )
inlinestatic

Applies mask.

Parameters
addressSoftware address of detector element
moduleIdCBM module identifier

Definition at line 73 of file CbmGeoNodeMap.h.

◆ GetNodeMap()

const auto & cbm::GeoNodeMap::GetNodeMap ( ) const
inline

An accessor to the node map.

Definition at line 45 of file CbmGeoNodeMap.h.

◆ GetNodePath()

const std::string & cbm::GeoNodeMap::GetNodePath ( uint32_t address) const
inline

A common function to get a path of a node.

Parameters
addressSoftware address of detector element

Definition at line 35 of file CbmGeoNodeMap.h.

◆ GetVolumeProperties()

template<class Visitor>
auto cbm::GeoNodeMap::GetVolumeProperties ( Visitor && visitor,
ECbmModuleId moduleId ) const
inline

Read volume properties for a given ModuleId.

Template Parameters
VisitorA type of callable, which returns a desired volume property
Parameters
visitorA callable object
moduleIdCBM module identifier for a subsystem to read nodes
Returns
A map of volume properties

Definition at line 58 of file CbmGeoNodeMap.h.

◆ ReadGeoVolume()

cbm::algo::GeoVolume GeoNodeMap::ReadGeoVolume ( uint32_t address)

Read volume properties of the node.

Parameters
addressof the element

Definition at line 25 of file CbmGeoNodeMap.cxx.

Member Data Documentation

◆ fNodeMap

std::unordered_map<uint32_t, std::string> cbm::GeoNodeMap::fNodeMap
private

Map of geometrical nodes vs hardware address.

Definition at line 94 of file CbmGeoNodeMap.h.


The documentation for this class was generated from the following files: