BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsDetectorId Class Reference

CbmStsDetectorId.h. More...

#include <CbmStsDetectorId.h>

Inheritance diagram for CbmStsDetectorId:

Public Member Functions

 CbmStsDetectorId ()
 Constructor (empty).
virtual ~CbmStsDetectorId ()
 Destructor (empty).
Int_t DetectorId (Int_t station, Int_t sector, Int_t side, Int_t channel) const
 Create unique detector ID.
Int_t SystemId (Int_t detectorId) const
 Get system identifier from detectorId.
Int_t StationNr (Int_t detectorId) const
 Get station number from detectorId.
Int_t SectorNr (Int_t detectorId) const
 Get sector number from detectorId.
Int_t Side (Int_t detectorId) const
 Get side from detectorId.
Int_t ChannelNr (Int_t detectorId) const
 Get channel number from detectorId.
 CbmStsDetectorId ()
 Constructor (empty).
virtual ~CbmStsDetectorId ()
 Destructor (empty).
Int_t DetectorId (Int_t station, Int_t sector, Int_t side, Int_t channel) const
 Create unique detector ID.
Int_t SystemId (Int_t detectorId) const
 Get system identifier from detectorId.
Int_t StationNr (Int_t detectorId) const
 Get station number from detectorId.
Int_t SectorNr (Int_t detectorId) const
 Get sector number from detectorId.
Int_t Side (Int_t detectorId) const
 Get side from detectorId.
Int_t ChannelNr (Int_t detectorId) const
 Get channel number from detectorId.

Static Public Attributes

static const Int_t fgkStatBits = 4
 Number of bits for address fields (static).
static const Int_t fgkSectBits = 8
static const Int_t fgkSideBits = 1
static const Int_t fgkChanBits = 12

Static Private Attributes

static const Int_t fgkStatShift = 4
 Bit shift for address fields (static).
static const Int_t fgkSectShift = CbmStsDetectorId::fgkStatShift + CbmStsDetectorId::fgkStatBits
static const Int_t fgkSideShift = CbmStsDetectorId::fgkSectShift + CbmStsDetectorId::fgkSectBits
static const Int_t fgkChanShift = CbmStsDetectorId::fgkSideShift + CbmStsDetectorId::fgkSideBits
static const Int_t fgkStatMask = (1 << CbmStsDetectorId::fgkStatBits) - 1
 Bit mask for address fields (static).
static const Int_t fgkSectMask = (1 << CbmStsDetectorId::fgkSectBits) - 1
static const Int_t fgkSideMask = (1 << CbmStsDetectorId::fgkSideBits) - 1
static const Int_t fgkChanMask = (1 << CbmStsDetectorId::fgkChanBits) - 1

Detailed Description

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

Prescription for encoding / decoding the detector ID (integer) from / to station nr., sector nr., side and channel nr.

Ranges:

  • Station number 4 bits 1 - 15
  • Sector number 8 bits 1 - 255 //AZ
  • Side 1 bit 0 - 1
  • Channel number 12 bits 1 - 4095 //AZ

The value 0 is reserved to denote the next higher hierarchy level, i.e. station 3, sector 0 denotes the entire station 3, not a specific sector.

All data classes using this functionality have to inherit from this class.

Definition at line 27 of file CbmStsDetectorId.h.

Constructor & Destructor Documentation

◆ CbmStsDetectorId() [1/2]

CbmStsDetectorId::CbmStsDetectorId ( )
inline

Definition at line 31 of file CbmStsDetectorId.h.

Referenced by CbmStsDigi::CbmStsDigi(), CbmStsDigi::CbmStsDigi(), CbmStsDigiLight::CbmStsDigiLight(), and CbmStsDigiLight::CbmStsDigiLight().

Here is the caller graph for this function:

◆ ~CbmStsDetectorId() [1/2]

virtual CbmStsDetectorId::~CbmStsDetectorId ( )
inlinevirtual

Definition at line 34 of file CbmStsDetectorId.h.

◆ CbmStsDetectorId() [2/2]

CbmStsDetectorId::CbmStsDetectorId ( )
inline

Definition at line 31 of file CbmStsDetectorId.h.

◆ ~CbmStsDetectorId() [2/2]

virtual CbmStsDetectorId::~CbmStsDetectorId ( )
inlinevirtual

Definition at line 34 of file CbmStsDetectorId.h.

Member Function Documentation

◆ ChannelNr() [1/2]

Int_t CbmStsDetectorId::ChannelNr ( Int_t detectorId) const
inline

Definition at line 64 of file CbmStsDetectorId.h.

References fgkChanMask, and fgkChanShift.

Referenced by CbmStsDigi::GetChannelNr(), and CbmStsDigiLight::GetChannelNr().

Here is the caller graph for this function:

◆ ChannelNr() [2/2]

Int_t CbmStsDetectorId::ChannelNr ( Int_t detectorId) const
inline

Definition at line 64 of file CbmStsDetectorId.h.

References fgkChanMask, and fgkChanShift.

◆ DetectorId() [1/2]

Int_t CbmStsDetectorId::DetectorId ( Int_t station,
Int_t sector,
Int_t side,
Int_t channel ) const
inline
Parameters
stationStation number (0 - 15)
sectorSector number (0 - 255)
side0 = front side / 1 = back side
channelchannel number (0 - 4095)

Definition at line 42 of file CbmStsDetectorId.h.

References fgkChanMask, fgkChanShift, fgkSectMask, fgkSectShift, fgkSideMask, fgkSideShift, fgkStatMask, fgkStatShift, and kGEM.

◆ DetectorId() [2/2]

Int_t CbmStsDetectorId::DetectorId ( Int_t station,
Int_t sector,
Int_t side,
Int_t channel ) const
inline
Parameters
stationStation number (0 - 15)
sectorSector number (0 - 255)
side0 = front side / 1 = back side
channelchannel number (0 - 4095)

Definition at line 42 of file CbmStsDetectorId.h.

References fgkChanMask, fgkChanShift, fgkSectMask, fgkSectShift, fgkSideMask, fgkSideShift, fgkStatMask, fgkStatShift, and kGEM.

◆ SectorNr() [1/2]

Int_t CbmStsDetectorId::SectorNr ( Int_t detectorId) const
inline

Definition at line 58 of file CbmStsDetectorId.h.

References fgkSectMask, and fgkSectShift.

Referenced by CbmStsDigi::GetSectorNr(), and CbmStsDigiLight::GetSectorNr().

Here is the caller graph for this function:

◆ SectorNr() [2/2]

Int_t CbmStsDetectorId::SectorNr ( Int_t detectorId) const
inline

Definition at line 58 of file CbmStsDetectorId.h.

References fgkSectMask, and fgkSectShift.

◆ Side() [1/2]

Int_t CbmStsDetectorId::Side ( Int_t detectorId) const
inline

Definition at line 61 of file CbmStsDetectorId.h.

References fgkSideMask, and fgkSideShift.

Referenced by CbmStsDigi::GetSide(), and CbmStsDigiLight::GetSide().

Here is the caller graph for this function:

◆ Side() [2/2]

Int_t CbmStsDetectorId::Side ( Int_t detectorId) const
inline

Definition at line 61 of file CbmStsDetectorId.h.

References fgkSideMask, and fgkSideShift.

◆ StationNr() [1/2]

Int_t CbmStsDetectorId::StationNr ( Int_t detectorId) const
inline

Definition at line 55 of file CbmStsDetectorId.h.

References fgkStatMask, and fgkStatShift.

Referenced by CbmStsDigi::GetStationNr(), and CbmStsDigiLight::GetStationNr().

Here is the caller graph for this function:

◆ StationNr() [2/2]

Int_t CbmStsDetectorId::StationNr ( Int_t detectorId) const
inline

Definition at line 55 of file CbmStsDetectorId.h.

References fgkStatMask, and fgkStatShift.

◆ SystemId() [1/2]

Int_t CbmStsDetectorId::SystemId ( Int_t detectorId) const
inline

Definition at line 52 of file CbmStsDetectorId.h.

◆ SystemId() [2/2]

Int_t CbmStsDetectorId::SystemId ( Int_t detectorId) const
inline

Definition at line 52 of file CbmStsDetectorId.h.

Member Data Documentation

◆ fgkChanBits

const Int_t CbmStsDetectorId::fgkChanBits = 12
static

Definition at line 70 of file CbmStsDetectorId.h.

◆ fgkChanMask

const Int_t CbmStsDetectorId::fgkChanMask = (1 << CbmStsDetectorId::fgkChanBits) - 1
staticprivate

Definition at line 83 of file CbmStsDetectorId.h.

Referenced by ChannelNr(), and DetectorId().

◆ fgkChanShift

const Int_t CbmStsDetectorId::fgkChanShift = CbmStsDetectorId::fgkSideShift + CbmStsDetectorId::fgkSideBits
staticprivate

Definition at line 77 of file CbmStsDetectorId.h.

Referenced by ChannelNr(), and DetectorId().

◆ fgkSectBits

const Int_t CbmStsDetectorId::fgkSectBits = 8
static

Definition at line 68 of file CbmStsDetectorId.h.

◆ fgkSectMask

const Int_t CbmStsDetectorId::fgkSectMask = (1 << CbmStsDetectorId::fgkSectBits) - 1
staticprivate

Definition at line 81 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and SectorNr().

◆ fgkSectShift

const Int_t CbmStsDetectorId::fgkSectShift = CbmStsDetectorId::fgkStatShift + CbmStsDetectorId::fgkStatBits
staticprivate

Definition at line 75 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and SectorNr().

◆ fgkSideBits

const Int_t CbmStsDetectorId::fgkSideBits = 1
static

Definition at line 69 of file CbmStsDetectorId.h.

◆ fgkSideMask

const Int_t CbmStsDetectorId::fgkSideMask = (1 << CbmStsDetectorId::fgkSideBits) - 1
staticprivate

Definition at line 82 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and Side().

◆ fgkSideShift

const Int_t CbmStsDetectorId::fgkSideShift = CbmStsDetectorId::fgkSectShift + CbmStsDetectorId::fgkSectBits
staticprivate

Definition at line 76 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and Side().

◆ fgkStatBits

const Int_t CbmStsDetectorId::fgkStatBits = 4
static

CbmStsDetectorId.cxx.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
21.10.2009
Version
1.0 — Define here the number of bits for the address fields — Do not alter without need: will destroy backwards compability — The first 4 bits are reserved for the system ID (kSTS)

Definition at line 67 of file CbmStsDetectorId.h.

◆ fgkStatMask

const Int_t CbmStsDetectorId::fgkStatMask = (1 << CbmStsDetectorId::fgkStatBits) - 1
staticprivate

Bit mask is calculated from above.

Definition at line 80 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and StationNr().

◆ fgkStatShift

const Int_t CbmStsDetectorId::fgkStatShift = 4
staticprivate

Bit shift is calculated from above.

Definition at line 74 of file CbmStsDetectorId.h.

Referenced by DetectorId(), and StationNr().


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