]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDDigit.h
Added a README file to explain things a bit
[u/mrichter/AliRoot.git] / FMD / AliFMDDigit.h
CommitLineData
4347b38f 1#ifndef ALIFMDDIGIT_H
2#define ALIFMDDIGIT_H
56b1929b 3//___________________________________________________________________
4347b38f 4//
088f8e79 5// Digits classes for the FMD
6// AliFMDBaseDigit - base class
7// AliFMDDigit - Normal (smeared) digit
8// AliFMDSDigit - Summable (non-smeared) digit
4347b38f 9//
4347b38f 10#ifndef ROOT_TObject
11# include <TObject.h>
12#endif
13
14//____________________________________________________________________
15class AliFMDBaseDigit : public TObject
16{
4347b38f 17public:
18 AliFMDBaseDigit();
19 AliFMDBaseDigit(UShort_t detector,
20 Char_t ring='\0',
21 UShort_t sector=0,
22 UShort_t strip=0);
23 virtual ~AliFMDBaseDigit() {}
24 UShort_t Detector() const { return fDetector; }
25 Char_t Ring() const { return fRing; }
26 UShort_t Sector() const { return fSector; }
27 UShort_t Strip() const { return fStrip; }
28 virtual void Print(Option_t* opt="") const;
8f6ee336 29 const char* GetName() const;
42403906 30protected:
31 UShort_t fDetector; // (Sub) Detector # (1,2, or 3)
32 Char_t fRing; // Ring ID ('I' or 'O')
33 UShort_t fSector; // Sector # (phi division)
34 UShort_t fStrip; // Strip # (radial division)
4347b38f 35 ClassDef(AliFMDBaseDigit, 1) // Base class for FMD digits
36};
37
38//____________________________________________________________________
39class AliFMDDigit : public AliFMDBaseDigit
40{
4347b38f 41public:
42 AliFMDDigit();
43 AliFMDDigit(UShort_t detector,
44 Char_t ring='\0',
45 UShort_t sector=0,
46 UShort_t strip=0,
47 UShort_t count=0,
48 Short_t count2=-1,
49 Short_t count3=-1);
50 virtual ~AliFMDDigit() {}
51 UShort_t Count1() const { return fCount1; }
52 Short_t Count2() const { return fCount2; }
53 Short_t Count3() const { return fCount3; }
54 UShort_t Counts() const;
55 void Print(Option_t* opt="") const;
bf000c32 56 const char* GetTitle() const;
088f8e79 57protected:
58 UShort_t fCount1; // Digital signal
59 Short_t fCount2; // Digital signal (-1 if not used)
60 Short_t fCount3; // Digital signal (-1 if not used)
4347b38f 61 ClassDef(AliFMDDigit,1) // Normal FMD digit
62};
63
64inline UShort_t
65AliFMDDigit::Counts() const
66{
67 return fCount1
68 + (fCount2 >= 0 ? fCount2 : 0)
69 + (fCount3 >= 0 ? fCount3 : 0);
70}
71
72//____________________________________________________________________
73class AliFMDSDigit : public AliFMDBaseDigit
74{
4347b38f 75public:
76 AliFMDSDigit();
77 AliFMDSDigit(UShort_t detector,
78 Char_t ring='\0',
79 UShort_t sector=0,
80 UShort_t strip=0,
81 Float_t edep=0,
82 UShort_t count=0,
83 Short_t count2=-1,
84 Short_t count3=-1);
85 virtual ~AliFMDSDigit() {}
86 UShort_t Count1() const { return fCount1; }
87 Short_t Count2() const { return fCount2; }
88 Short_t Count3() const { return fCount3; }
89 Float_t Edep() const { return fEdep; }
90 UShort_t Counts() const;
91 void Print(Option_t* opt="") const;
088f8e79 92protected:
93 Float_t fEdep; // Energy deposited
94 UShort_t fCount1; // Digital signal
95 Short_t fCount2; // Digital signal (-1 if not used)
96 Short_t fCount3; // Digital signal (-1 if not used)
4347b38f 97 ClassDef(AliFMDSDigit,1) // Summable FMD digit
98};
99
100inline UShort_t
101AliFMDSDigit::Counts() const
102{
103 return fCount1
104 + (fCount2 >= 0 ? fCount2 : 0)
105 + (fCount3 >= 0 ? fCount3 : 0);
106}
107
108
109#endif
110//____________________________________________________________________
111//
0d0e6995 112// Local Variables:
113// mode: C++
114// End:
115//
116//
4347b38f 117// EOF
118//