|
BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
|
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) |
| Construct address. | |
| static UInt_t | GetAddress (Int_t *elementIds) |
| static Int_t | GetNofLevels () |
| Get the number of hierarchy levels For use in macros which do not include this header file. | |
| static Int_t | GetNofBits (Int_t level) |
| Get the number of bits for a given hierarchy level. | |
| static Int_t | GetElementId (UInt_t address, Int_t level) |
| Get the index of an element. | |
| static void | Print () |
| Print information on the bit field. | |
| static UInt_t | SetElementId (UInt_t address, Int_t level, Int_t newId) |
| Set the index of an element leaving the other element levels untouched. | |
Static Private Attributes | |
| static const Int_t | fgkBits [kStsNofLevels] |
| Number of bits for the different levels. | |
| static const Int_t | fgkShift [kStsNofLevels] |
| Bit shifts for the different levels. | |
| static const Int_t | fgkMask [kStsNofLevels] |
| Bit masks for the different levels. | |
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 53 of file CbmStsAddress.h.
Definition at line 86 of file CbmStsAddress.cxx.
References fgkBits, fgkShift, kStsNofLevels, and kStsSystem.
|
static |
| 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 39 of file CbmStsAddress.cxx.
References fgkBits, fgkShift, kStsChannel, kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, kStsSide, kStsStation, and kStsSystem.
Referenced by CbmStsAddress_test().
| address | Unique element address |
| level | Hierarchy level |
Definition at line 99 of file CbmStsAddress.h.
References fgkMask, fgkShift, and kStsNofLevels.
Referenced by CbmStsAddress_test(), CbmStsElement::GetIndex(), and CbmStsSenzor::GetSensorId().
| level | Requested element level |
Definition at line 87 of file CbmStsAddress.h.
References fgkBits, and kStsNofLevels.
Referenced by CbmStsAddress_test().
|
inlinestatic |
Definition at line 81 of file CbmStsAddress.h.
References kStsNofLevels.
Referenced by CbmStsAddress_test().
|
static |
Definition at line 104 of file CbmStsAddress.cxx.
References fgkBits, fgkMask, and kStsNofLevels.
Referenced by CbmStsAddress_test().
| address | Unique element address |
| level | Hierarchy level |
| newId | New element index |
Definition at line 116 of file CbmStsAddress.h.
References fgkBits, fgkMask, fgkShift, and kStsNofLevels.
Referenced by CbmStsElement::AddDaughter(), CbmStsModule::AddSensor(), and CbmStsAddress_test().
|
staticprivate |
Definition at line 11 of file CbmStsAddress.h.
Referenced by GetAddress(), GetAddress(), GetNofBits(), Print(), and SetElementId().
|
staticprivate |
Definition at line 33 of file CbmStsAddress.h.
Referenced by GetElementId(), Print(), and SetElementId().
|
staticprivate |
Definition at line 22 of file CbmStsAddress.h.
Referenced by GetAddress(), GetAddress(), GetElementId(), and SetElementId().