|
CbmRoot
|
Interface class to unique address for the MuST. More...
#include <CbmMustAddress.h>
Static Public Member Functions | |
| static uint32_t | GetAddress (int32_t station=0, int32_t layer=0, int32_t module=0, int32_t tube=0) |
| static uint32_t | GetAddress (int32_t *elementIds) |
| static int32_t | GetNofLevels () |
| static int32_t | GetNofBits (int32_t level) |
| static int32_t | GetElementId (uint32_t address, int32_t level) |
| static int32_t | GetSystemIndex (int32_t address) |
| static int32_t | GetStationIndex (int32_t address) |
| static int32_t | GetLayerIndex (int32_t address) |
| static int32_t | GetModuleIndex (int32_t address) |
| static int32_t | GetTubeIndex (int32_t address) |
| static int32_t | GetElementAddress (int32_t address, int32_t level) |
| static void | Print () |
| static uint32_t | SetElementId (uint32_t address, int32_t level, int32_t newId) |
| static int32_t | GetNofSystemBits () |
| static int32_t | GetSystemId (uint32_t address) |
Static Protected Attributes | |
| static const int32_t | fgkSystemBits = 4 |
Private Member Functions | |
| ClassDef (CbmMustAddress, 1) | |
Static Private Attributes | |
| static const int32_t | fgkBits [kMustNofLevels] |
| static const int32_t | fgkShift [kMustNofLevels] |
| static const int32_t | fgkMask [kMustNofLevels] |
Interface class to unique address for the MuST.
Based on CbmMuchAddress class by E.Kryshen e.kry.nosp@m.shen.nosp@m.@gsi..nosp@m.de
The CbmMustAddress interprets and modifies the unique address for the MuST by the proper bit operation on the address bit field.
The current definition of the bit field for the MuST is:
3 2 1
Level Bits Max. Elements Shift 10987654321098765432109876543210
System (kMuST) 4 16 0 0000000000000000000000000000xxxx
Station 4 16 4 000000000000000000000000xxxx0000
Layer 4 16 8 00000000000000000000xxxx00000000
Module 8 256 22 000000000000xxxxxxxx000000000000
Tube 10 1024 30 00xxxxxxxxxx00000000000000000000
Definition at line 52 of file CbmMustAddress.h.
|
private |
|
static |
Definition at line 64 of file CbmMustAddress.cxx.
References fgkBits, fgkShift, kMust, kMustNofLevels, kMustSystem, and ToIntegralType().
|
static |
Construct address
| station | Station index |
| layer | Layer index in station |
| module | Module index within layerside |
| tube | Tube number |
Definition at line 36 of file CbmMustAddress.cxx.
References fgkBits, fgkShift, kMust, kMustLayer, kMustModule, kMustStation, kMustSystem, kMustTube, and ToIntegralType().
Referenced by CbmMust::ProcessHits().
|
inlinestatic |
Definition at line 100 of file CbmMustAddress.h.
References fgkBits, and fgkShift.
Referenced by CbmMustTube::CompareTubeIndex().
|
inlinestatic |
Get the index of an element
| address | Unique element address |
| level | Hierarchy level |
Definition at line 87 of file CbmMustAddress.h.
References fgkMask, fgkShift, and kMustNofLevels.
Referenced by GetLayerIndex(), GetModuleIndex(), GetStationIndex(), GetSystemIndex(), and GetTubeIndex().
|
inlinestatic |
Definition at line 96 of file CbmMustAddress.h.
References GetElementId(), and kMustLayer.
Referenced by CbmMustStation::GetLayer(), CbmMustPoint::GetLayerId(), and CbmMustLayer::Show().
|
inlinestatic |
Definition at line 97 of file CbmMustAddress.h.
References GetElementId(), and kMustModule.
Referenced by CbmMustPoint::GetModuleId(), and CbmMustLayer::GetTube().
|
inlinestatic |
Get the number of bits for a given hierarchy level
| level | Requested element level |
Definition at line 79 of file CbmMustAddress.h.
References fgkBits, and kMustNofLevels.
|
inlinestatic |
Get the number of hierarchy levels For use in macros which do not include this header file.
Definition at line 72 of file CbmMustAddress.h.
References kMustNofLevels.
|
inlinestaticinherited |
Number of bits for system Id in the address field
Definition at line 40 of file CbmAddress.h.
References fgkSystemBits.
Referenced by TEST().
|
inlinestatic |
Definition at line 95 of file CbmMustAddress.h.
References GetElementId(), and kMustStation.
Referenced by CbmMustPoint::GetStationId().
|
inlinestaticinherited |
Get the system Id from the address
| address | Unique address |
Definition at line 47 of file CbmAddress.h.
References fgkSystemBits.
Referenced by cbm::GeoNodeMap::ApplyMask(), cbm::GeoNodeMap::GetVolumeProperties(), CbmRecoSts::ProcessData(), CbmRecoStsPixel::ProcessData(), cbm::GeoNodeMap::ReadGeoVolume(), and TEST().
|
inlinestatic |
Derivatives
Definition at line 94 of file CbmMustAddress.h.
References GetElementId(), and kMustSystem.
|
inlinestatic |
Definition at line 98 of file CbmMustAddress.h.
References GetElementId(), and kMustTube.
Referenced by CbmMustModule::GetTubeByAddress(), and CbmMustPoint::GetTubeId().
|
static |
Print information on the bit field
Definition at line 83 of file CbmMustAddress.cxx.
References fgkBits, fgkMask, and kMustNofLevels.
|
static |
Set the index of an element leaving the other element levels untouched
| address | Unique element address |
| level | Hierarchy level |
| newId | New element index |
Definition at line 94 of file CbmMustAddress.cxx.
References fgkBits, fgkMask, fgkShift, and kMustNofLevels.
|
staticprivate |
Number of bits for the different levels
Definition at line 15 of file CbmMustAddress.h.
Referenced by GetAddress(), GetAddress(), GetElementAddress(), GetNofBits(), Print(), and SetElementId().
|
staticprivate |
Bit masks for the different levels
Definition at line 30 of file CbmMustAddress.h.
Referenced by GetElementId(), Print(), and SetElementId().
|
staticprivate |
Bit shifts for the different levels
Definition at line 23 of file CbmMustAddress.h.
Referenced by GetAddress(), GetAddress(), GetElementAddress(), GetElementId(), and SetElementId().
|
staticprotectedinherited |
Number of bits for system Id in the address field
Definition at line 52 of file CbmAddress.h.
Referenced by GetNofSystemBits(), GetSystemId(), and CbmTofAddress::GetUniqueAddress().