]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIFMDDIGITIZER_H | |
2 | #define ALIFMDDIGITIZER_H | |
3 | /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
8 | #ifndef ALIDIGITIZER_H | |
9 | # include <AliDigitizer.h> | |
10 | #endif | |
11 | #ifndef ALIRUNDIGITIZER_H | |
12 | # include <AliRunDigitizer.h> | |
13 | #endif | |
14 | #ifndef ALIFMDEdepMAP_H | |
15 | # include "AliFMDEdepMap.h" | |
16 | #endif | |
17 | #ifndef __UTILITY__ | |
18 | # include <utility> | |
19 | #endif | |
20 | // #ifndef ROOT_TArrayF | |
21 | // # include <TArrayF.h> | |
22 | // #endif | |
23 | ||
24 | //==================================================================== | |
25 | class TClonesArray; | |
26 | class AliFMD; | |
27 | class AliLoader; | |
28 | class AliRunLoader; | |
29 | class AliFMDDigit; | |
30 | ||
31 | ||
32 | //==================================================================== | |
33 | class AliFMDBaseDigitizer : public AliDigitizer | |
34 | { | |
35 | public: | |
36 | AliFMDBaseDigitizer(); | |
37 | AliFMDBaseDigitizer(AliRunDigitizer * manager); | |
38 | AliFMDBaseDigitizer(const Char_t* name, const Char_t* title); | |
39 | virtual ~AliFMDBaseDigitizer(); | |
40 | ||
41 | // Do the main work | |
42 | virtual Bool_t Init(); | |
43 | ||
44 | // Extra member functions | |
45 | void SetShapingTime(Float_t t=10) { fShapingTime = t; } | |
46 | Float_t GetShapingTime() const { return fShapingTime; } | |
47 | protected: | |
48 | virtual void SumContributions(AliFMD* fmd); | |
49 | virtual void DigitizeHits(AliFMD* fmd) const; | |
50 | virtual void ConvertToCount(Float_t edep, | |
51 | Float_t last, | |
52 | UShort_t detector, | |
53 | Char_t ring, | |
54 | UShort_t sector, | |
55 | UShort_t strip, | |
56 | TArrayI& counts) const; | |
57 | virtual UShort_t MakePedestal(UShort_t detector, | |
58 | Char_t ring, | |
59 | UShort_t sector, | |
60 | UShort_t strip) const; | |
61 | virtual void AddNoise(TArrayI&) const {} | |
62 | virtual void AddDigit(AliFMD* /* fmd */, | |
63 | UShort_t /* detector */, | |
64 | Char_t /* ring */, | |
65 | UShort_t /* sector */, | |
66 | UShort_t /* strip */, | |
67 | Float_t /* edep */, | |
68 | UShort_t /* count1 */, | |
69 | Short_t /* count2 */, | |
70 | Short_t /* count3 */) const {} | |
71 | ||
72 | AliRunLoader* fRunLoader; //! Run loader | |
73 | AliFMDEdepMap fEdep; // Cache of Energy from hits | |
74 | Float_t fShapingTime; // Shaping profile parameter | |
75 | ||
76 | AliFMDBaseDigitizer(const AliFMDBaseDigitizer& o) | |
77 | : AliDigitizer(o) {} | |
78 | AliFMDBaseDigitizer& operator=(const AliFMDBaseDigitizer&) { return *this; } | |
79 | ClassDef(AliFMDBaseDigitizer,2) // Base class for FMD digitizers | |
80 | }; | |
81 | ||
82 | //==================================================================== | |
83 | class AliFMDDigitizer : public AliFMDBaseDigitizer | |
84 | { | |
85 | public: | |
86 | AliFMDDigitizer(); | |
87 | AliFMDDigitizer(AliRunDigitizer * manager); | |
88 | virtual ~AliFMDDigitizer() {} | |
89 | virtual void Exec(Option_t* option=0); | |
90 | protected: | |
91 | virtual void AddDigit(AliFMD* fmd, | |
92 | UShort_t detector, | |
93 | Char_t ring, | |
94 | UShort_t sector, | |
95 | UShort_t strip, | |
96 | Float_t edep, | |
97 | UShort_t count1, | |
98 | Short_t count2, | |
99 | Short_t count3) const; | |
100 | virtual UShort_t MakePedestal(UShort_t detector, | |
101 | Char_t ring, | |
102 | UShort_t sector, | |
103 | UShort_t strip) const; | |
104 | virtual void CheckDigit(AliFMDDigit* digit, | |
105 | UShort_t nhits, | |
106 | const TArrayI& counts); | |
107 | ClassDef(AliFMDDigitizer,1) // Make Digits from Hits | |
108 | }; | |
109 | ||
110 | //==================================================================== | |
111 | class AliFMDSDigitizer : public AliFMDBaseDigitizer | |
112 | { | |
113 | public: | |
114 | AliFMDSDigitizer(); | |
115 | AliFMDSDigitizer(const Char_t* headerFile, const Char_t* sdigFile=""); | |
116 | virtual ~AliFMDSDigitizer(); | |
117 | virtual void Exec(Option_t* option=0); | |
118 | protected: | |
119 | virtual void AddDigit(AliFMD* fmd, | |
120 | UShort_t detector, | |
121 | Char_t ring, | |
122 | UShort_t sector, | |
123 | UShort_t strip, | |
124 | Float_t edep, | |
125 | UShort_t count1, | |
126 | Short_t count2, | |
127 | Short_t count3) const; | |
128 | ClassDef(AliFMDSDigitizer,0) // Make Summable Digits from Hits | |
129 | }; | |
130 | ||
131 | ||
132 | ||
133 | #endif | |
134 | //____________________________________________________________________ | |
135 | // | |
136 | // Local Variables: | |
137 | // mode: C++ | |
138 | // End: | |
139 | // | |
140 | // | |
141 | // EOF | |
142 | // | |
143 |