BmnRoot
Loading...
Searching...
No Matches
CbmStsDigi.h
Go to the documentation of this file.
1
21#ifndef CBMSTSDIGI_H
22#define CBMSTSDIGI_H 1
23
24#include "CbmStsDetectorId.h"
25#include "FairMultiLinkedData.h"
26
27#include <vector>
28
29class CbmStsDigi : public FairMultiLinkedData, public CbmStsDetectorId
30{
31
32 public:
33
35 CbmStsDigi();
36
37
47// CbmStsDigi(std::vector<Int_t> index, Int_t station, Int_t sector, Int_t side,
48// Int_t channel, Int_t adc, Int_t time);
49 CbmStsDigi(Int_t station, Int_t sector, Int_t side,
50 Int_t channel, Int_t adc, Int_t time);
51
52
54 virtual ~CbmStsDigi();
55
56
58 void AddAdc(Int_t adc);
59// void AddIndex(int index, int adc){
60// AddLink(FairLink(kStsPoint, index, adc));
61// }
62// void AddIndex(std::vector<Int_t> index){
63// SetLinks(FairMultiLinkedData(kStsPoint, index));
64// }
65
66
68 static Int_t GetNofAdcBits() { return fgkCharBits; }
69
70
72 Int_t GetStationNr() const { return StationNr(GetDetectorId()); }
73
75 Int_t GetSectorNr() const { return SectorNr(GetDetectorId()); }
76
77
79 Int_t GetSide() const { return Side(GetDetectorId()); }
80
81
83 Int_t GetChannelNr() const { return ChannelNr(GetDetectorId()); }
84
85
87 Int_t GetAdc() const { return ( (fData >> fgkCharShift) & fgkCharMask ); }
88
89
91 static Int_t GetMaxAdc() { return ( (1 << fgkCharBits) - 1 ); }
92
93
95 Int_t GetTime() const { return ( (fData >> fgkTimeShift) & fgkTimeMask ); }
96
97
99 Int_t GetDetectorId() const {
100 return ( kGEM | ( (fData & fgkAddrMask) << 4) );
101 }
102
103
104 private:
105
107 Long64_t fData;
108
109
111 void SetAdc(Int_t charge);
112
113
115 static const Int_t fgkAddrBits;
116 static const Int_t fgkCharBits;
117 static const Int_t fgkTimeBits;
118 static const Int_t fgkCharShift;
119 static const Int_t fgkTimeShift;
120 static const Long64_t fgkAddrMask;
121 static const Long64_t fgkCharMask;
122 static const Long64_t fgkTimeMask;
123
124
125 ClassDef(CbmStsDigi,2);
126
127};
128
129
130#endif
@ kGEM
Int_t StationNr(Int_t detectorId) const
Int_t ChannelNr(Int_t detectorId) const
Int_t Side(Int_t detectorId) const
Int_t SectorNr(Int_t detectorId) const
Int_t GetTime() const
Definition CbmStsDigi.h:95
Int_t GetSide() const
Definition CbmStsDigi.h:79
Int_t GetAdc() const
Definition CbmStsDigi.h:87
void AddAdc(Int_t adc)
static Int_t GetNofAdcBits()
Definition CbmStsDigi.h:68
static Int_t GetMaxAdc()
Definition CbmStsDigi.h:91
Int_t GetSectorNr() const
Definition CbmStsDigi.h:75
Int_t GetDetectorId() const
Definition CbmStsDigi.h:99
virtual ~CbmStsDigi()
Int_t GetChannelNr() const
Definition CbmStsDigi.h:83
Int_t GetStationNr() const
Definition CbmStsDigi.h:72