|
BmnRoot
|
Interface class to unique address for the STS. More...
#include <CbmStsAddress.h>
Static Public Member Functions | |
| static UInt_t | GetAddress (Int_t station=0, Int_t ladder=0, Int_t halfladder=0, Int_t module=0, Int_t sensor=0, Int_t side=0, Int_t channel=0) |
| static UInt_t | GetAddress (Int_t *elementIds) |
| static Int_t | GetNofLevels () |
| static Int_t | GetNofBits (Int_t level) |
| static Int_t | GetElementId (UInt_t address, Int_t level) |
| static void | Print () |
| static UInt_t | SetElementId (UInt_t address, Int_t level, Int_t newId) |
Interface class to unique address for the STS.
The CbmStsAddress interprets and modifies the unique address for the STS by the proper bit operation on the address bit field.
The current definition of the bit field for the STS is:
3 2 1
Level Bits Max. Elements Shift 10987654321098765432109876543210
System (kSTS) 4 16 0 0000000000000000000000000000xxxx
Station 4 16 4 000000000000000000000000xxxx0000
Ladder 4 16 8 00000000000000000000xxxx00000000
HalfLadder 1 2 12 0000000000000000000x000000000000
Module 3 8 13 0000000000000000xxx0000000000000
Sensor 2 4 16 00000000000000xx0000000000000000
Side 1 2 18 0000000000000x000000000000000000
Channel 13 8192 19 xxxxxxxxxxxxx0000000000000000000
Definition at line 54 of file CbmStsAddress.h.
|
static |
Definition at line 112 of file CbmStsAddress.cxx.
References kStsNofLevels, and kStsSystem.
|
static |
Construct address
| station | Station index |
| ladder | Ladder index in station |
| halfladder | Halfladder index in ladder |
| module | Module index within halfladder |
| sensor | Sensor index within module |
| side | Side (0=front, 1=back) of sensor |
| channel | Channel number |
Definition at line 52 of file CbmStsAddress.cxx.
References kStsChannel, kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, kStsSide, kStsStation, and kStsSystem.
|
inlinestatic |
Get the index of an element
| address | Unique element address |
| level | Hierarchy level |
Definition at line 103 of file CbmStsAddress.h.
References kStsNofLevels.
Referenced by CbmStsAcceptance::Exec(), CbmStsElement::GetIndex(), CbmStsSenzor::GetSensorId(), and CbmStsDigitizeQa::ProcessDigisAndPoints().
|
inlinestatic |
Get the number of bits for a given hierarchy level
| level | Requested element level |
Definition at line 92 of file CbmStsAddress.h.
References kStsNofLevels.
|
inlinestatic |
Get the number of hierarchy levels For use in macros which do not include this header file.
Definition at line 85 of file CbmStsAddress.h.
References kStsNofLevels.
|
static |
Print information on the bit field
Definition at line 132 of file CbmStsAddress.cxx.
References kStsNofLevels.
|
inlinestatic |
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 121 of file CbmStsAddress.h.
References kStsNofLevels.
Referenced by CbmStsElement::AddDaughter(), and CbmStsModule::AddSensor().