3 //___________________________________________________________________
5 // Digits classes for the FMD
6 // AliFMDBaseDigit - base class
7 // AliFMDDigit - Normal (smeared) digit
8 // AliFMDSDigit - Summable (non-smeared) digit
14 //____________________________________________________________________
15 /** @class AliFMDBaseDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
16 @brief base class for digits
19 class AliFMDBaseDigit : public TObject
25 @param detector Detector
29 AliFMDBaseDigit(UShort_t detector,
34 virtual ~AliFMDBaseDigit() {}
35 /** @return Detector # */
36 UShort_t Detector() const { return fDetector; }
37 /** @return Ring ID */
38 Char_t Ring() const { return fRing; }
39 /** @return sector # */
40 UShort_t Sector() const { return fSector; }
41 /** @return strip # */
42 UShort_t Strip() const { return fStrip; }
44 @param opt Not used */
45 virtual void Print(Option_t* opt="") const;
47 const char* GetName() const;
49 UShort_t fDetector; // (Sub) Detector # (1,2, or 3)
50 Char_t fRing; // Ring ID ('I' or 'O')
51 UShort_t fSector; // Sector # (phi division)
52 UShort_t fStrip; // Strip # (radial division)
53 ClassDef(AliFMDBaseDigit, 1) // Base class for FMD digits
56 //____________________________________________________________________
57 /** @class AliFMDDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
58 @brief class for digits
61 class AliFMDDigit : public AliFMDBaseDigit
67 @param detector Detector
71 @param count1 ADC (first sample)
72 @param count2 ADC (second sample, or -1 if not used)
73 @param count3 ADC (third sample, or -1 if not used) */
74 AliFMDDigit(UShort_t detector,
82 virtual ~AliFMDDigit() {}
83 /** @return ADC count (first sample) */
84 UShort_t Count1() const { return fCount1; }
85 /** @return ADC count (second sample, or -1 if not used) */
86 Short_t Count2() const { return fCount2; }
87 /** @return ADC count (third sample, or -1 if not used) */
88 Short_t Count3() const { return fCount3; }
89 /** @return Canonical ADC counts */
90 UShort_t Counts() const;
92 @param opt Not used */
93 void Print(Option_t* opt="") const;
95 const char* GetTitle() const;
97 UShort_t fCount1; // Digital signal
98 Short_t fCount2; // Digital signal (-1 if not used)
99 Short_t fCount3; // Digital signal (-1 if not used)
100 ClassDef(AliFMDDigit,1) // Normal FMD digit
104 AliFMDDigit::Counts() const
107 + (fCount2 >= 0 ? fCount2 : 0)
108 + (fCount3 >= 0 ? fCount3 : 0);
111 //____________________________________________________________________
112 /** @class AliFMDSDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
113 @brief class for summable digits
116 class AliFMDSDigit : public AliFMDBaseDigit
122 @param detector Detector
126 @param count1 ADC (first sample)
127 @param count2 ADC (second sample, or -1 if not used)
128 @param count3 ADC (third sample, or -1 if not used) */
129 AliFMDSDigit(UShort_t detector,
138 virtual ~AliFMDSDigit() {}
139 /** @return ADC count (first sample) */
140 UShort_t Count1() const { return fCount1; }
141 /** @return ADC count (second sample, or -1 if not used) */
142 Short_t Count2() const { return fCount2; }
143 /** @return ADC count (third sample, or -1 if not used) */
144 Short_t Count3() const { return fCount3; }
145 /** @return Canonical ADC counts */
146 UShort_t Counts() const;
147 /** @return Energy deposited */
148 Float_t Edep() const { return fEdep; }
150 @param opt Not used */
151 void Print(Option_t* opt="") const;
153 Float_t fEdep; // Energy deposited
154 UShort_t fCount1; // Digital signal
155 Short_t fCount2; // Digital signal (-1 if not used)
156 Short_t fCount3; // Digital signal (-1 if not used)
157 ClassDef(AliFMDSDigit,1) // Summable FMD digit
161 AliFMDSDigit::Counts() const
164 + (fCount2 >= 0 ? fCount2 : 0)
165 + (fCount3 >= 0 ? fCount3 : 0);
170 //____________________________________________________________________