BmnRoot
Loading...
Searching...
No Matches
CbmStsAddress Class Reference

Interface class to unique address for the STS. More...

#include <CbmStsAddress.h>

Inheritance diagram for CbmStsAddress:
[legend]
Collaboration diagram for CbmStsAddress:
[legend]

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)
 

Detailed Description

Interface class to unique address for the STS.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Version
1.0

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.

Member Function Documentation

◆ GetAddress() [1/2]

UInt_t CbmStsAddress::GetAddress ( Int_t *  elementIds)
static

Definition at line 112 of file CbmStsAddress.cxx.

References kStsNofLevels, and kStsSystem.

◆ GetAddress() [2/2]

UInt_t CbmStsAddress::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

Construct address

Parameters
stationStation index
ladderLadder index in station
halfladderHalfladder index in ladder
moduleModule index within halfladder
sensorSensor index within module
sideSide (0=front, 1=back) of sensor
channelChannel number
Returns
Unique element address

Definition at line 52 of file CbmStsAddress.cxx.

References kStsChannel, kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, kStsSide, kStsStation, and kStsSystem.

◆ GetElementId()

static Int_t CbmStsAddress::GetElementId ( UInt_t  address,
Int_t  level 
)
inlinestatic

Get the index of an element

Parameters
addressUnique element address
levelHierarchy level
Returns
Element index

Definition at line 103 of file CbmStsAddress.h.

References kStsNofLevels.

Referenced by CbmStsAcceptance::Exec(), CbmStsElement::GetIndex(), CbmStsSenzor::GetSensorId(), and CbmStsDigitizeQa::ProcessDigisAndPoints().

◆ GetNofBits()

static Int_t CbmStsAddress::GetNofBits ( Int_t  level)
inlinestatic

Get the number of bits for a given hierarchy level

Parameters
levelRequested element level
Returns
Number of bits in address field

Definition at line 92 of file CbmStsAddress.h.

References kStsNofLevels.

◆ GetNofLevels()

static Int_t CbmStsAddress::GetNofLevels ( )
inlinestatic

Get the number of hierarchy levels For use in macros which do not include this header file.

Returns
Number of hierarchy levels

Definition at line 85 of file CbmStsAddress.h.

References kStsNofLevels.

◆ Print()

void CbmStsAddress::Print ( )
static

Print information on the bit field

Definition at line 132 of file CbmStsAddress.cxx.

References kStsNofLevels.

◆ SetElementId()

static UInt_t CbmStsAddress::SetElementId ( UInt_t  address,
Int_t  level,
Int_t  newId 
)
inlinestatic

Set the index of an element leaving the other element levels untouched

Parameters
addressUnique element address
levelHierarchy level
newIdNew element index
Returns
New address

Definition at line 121 of file CbmStsAddress.h.

References kStsNofLevels.

Referenced by CbmStsElement::AddDaughter(), and CbmStsModule::AddSensor().


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