12const Int_t CbmStsDigiLight::fgkCharBits = 12;
13const Int_t CbmStsDigiLight::fgkTimeBits = 14;
14const Int_t CbmStsDigiLight::fgkAddrBits =
24const Int_t CbmStsDigiLight::fgkCharShift = CbmStsDigiLight::fgkAddrBits;
25const Int_t CbmStsDigiLight::fgkTimeShift = CbmStsDigiLight::fgkCharShift + CbmStsDigiLight::fgkCharBits;
31const Long64_t CbmStsDigiLight::fgkAddrMask = (1 << CbmStsDigiLight::fgkAddrBits) - 1;
32const Long64_t CbmStsDigiLight::fgkCharMask = (1 << CbmStsDigiLight::fgkCharBits) - 1;
33const Long64_t CbmStsDigiLight::fgkTimeMask = (1 << CbmStsDigiLight::fgkTimeBits) - 1;
65 Int_t channel, Int_t adc, Int_t time)
71 fData = ( (
DetectorId(station, sector, side, channel) >> 4) & fgkAddrMask )
72 | ( (adc & fgkCharMask) << fgkCharShift )
73 | ( (time & fgkTimeMask) << fgkTimeShift ) ;
87 Int_t maxAdc = (1 << fgkCharBits) - 1;
88 Int_t newAdc =
GetAdc() + adc;
89 if ( newAdc > maxAdc ) newAdc = maxAdc;
98void CbmStsDigiLight::SetAdc(Int_t adc) {
101 fData = fData & ~(fgkCharMask << fgkCharShift);
104 fData = fData | ( (adc & fgkCharMask) << fgkCharShift );
Base class for persistent representation of digital information.
static const Int_t fgkSideBits
static const Int_t fgkStatBits
static const Int_t fgkSectBits
static const Int_t fgkChanBits
virtual ~CbmStsDigiLight()