]>
Commit | Line | Data |
---|---|---|
1605abc6 | 1 | #ifndef ALITOFFEECONFIG_H |
2 | #define ALITOFFEECONFIG_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: AliTOFDecoder.h,v 1.2 2007/05/08 11:55:24 arcelli Exp $ */ | |
8 | ||
9 | /////////////////////////////////////////////////////////////// | |
10 | // // | |
11 | // This classes provide the TOF FEE config object. // | |
12 | // // | |
13 | /////////////////////////////////////////////////////////////// | |
14 | ||
15 | #include <time.h> | |
16 | #include "TROOT.h" | |
17 | ||
18 | class AliTOFDRMConfig | |
19 | { | |
20 | ||
21 | private: | |
22 | ||
23 | Int_t fDRMId; // DRM id | |
24 | Int_t fOptLinkId; // opt link id | |
25 | Int_t fFineDelayTTC; // fine delay TTC | |
26 | Int_t fCoarseDelayTTC; // coarse delay TTC | |
27 | Int_t fSelectTTC; // select TTC | |
28 | Int_t fGhostDDL; // ghost DDL | |
29 | Int_t fActiveTRM; // active TRM | |
30 | Int_t fSlotMask; // slot mask | |
31 | Int_t fPulserPolarity; // pulser polarity | |
32 | Int_t fPulserFlag; // pulser flag | |
33 | Int_t fPulserSection0; // pulser section 0 | |
34 | Int_t fPulserSection1; // pulser section 1 | |
35 | Int_t fPulserSection2; // pulser section 2 | |
36 | Int_t fPrePulseEnable; // pre pulse enable | |
37 | Int_t fSelectMode; // select mode | |
38 | ||
39 | public: | |
40 | ||
41 | Int_t GetDRMId() const {return fDRMId;}; // get DRM id | |
42 | Int_t GetOptLink() const {return fOptLinkId;}; // get opt link id | |
43 | Int_t GetFineDelayTTC() const {return fFineDelayTTC;}; // get fine delay TTC | |
44 | Int_t GetCoarseDelayTTC() const {return fCoarseDelayTTC;}; // get coarse delay TTC | |
45 | Int_t GetSelectTTC() const {return fSelectTTC;}; // get select TTC | |
46 | Int_t GetGhostDDL() const {return fGhostDDL;}; // get ghost DDL | |
47 | Int_t GetActiveTRM() const {return fActiveTRM;}; // get active TRM | |
48 | Int_t GetSlotMask() const {return fSlotMask;}; // get slot mask | |
49 | Int_t GetPulserPolarity() const {return fPulserPolarity;}; // get pulser polarity | |
50 | Int_t GetPulserFlag() const {return fPulserFlag;}; // get pulser flag | |
51 | Int_t GetPulserSection0() const {return fPulserSection0;}; // get pulser section 0 | |
52 | Int_t GetPulserSection1() const {return fPulserSection1;}; // get pulser section 1 | |
53 | Int_t GetPulserSection2() const {return fPulserSection2;}; // get pulser section 2 | |
54 | Int_t GetPrePulserEnable() const {return fPrePulseEnable;}; // get pre pulse enable | |
55 | Int_t GetSelectMode() const {return fSelectMode;}; // get select mode | |
56 | ||
57 | }; | |
58 | ||
59 | class AliTOFLTMConfig | |
60 | { | |
61 | ||
62 | private: | |
63 | ||
64 | Int_t fSlotId; // slot id | |
65 | Int_t fSuperModuleId; // super module id | |
66 | Int_t fOptLinkId; // opt link id | |
67 | Int_t fVMEAddress; // VME address | |
68 | Int_t fThreshold; // threshold | |
69 | Int_t fDelayLine0; // delay line 0 | |
70 | Int_t fDelayLine1; // delay line 1 | |
71 | Int_t fDelayLine2; // delay line 2 | |
72 | Int_t fDelayLine3; // delay line 3 | |
73 | Int_t fDelayLine4; // delay line 4 | |
74 | Int_t fDelayLine5; // delay line 5 | |
75 | Int_t fDelayLine6; // delay line 6 | |
76 | Int_t fDelayLine7; // delay line 7 | |
77 | ||
78 | public: | |
79 | ||
80 | Int_t GetSlotId() const {return fSlotId;}; // get slot id | |
81 | Int_t GetSuperModuleId() const {return fSuperModuleId;}; // get super module id | |
82 | Int_t GetOptLinkId() const {return fOptLinkId;}; // get opt link id | |
83 | Int_t GetVMEAddress() const {return fVMEAddress;}; // get VME address | |
84 | Int_t GetThreshold() const {return fThreshold;}; // get threshold | |
85 | Int_t GetDelayLine0() const {return fDelayLine0;}; // get delay line 0 | |
86 | Int_t GetDelayLine1() const {return fDelayLine1;}; // get delay line 1 | |
87 | Int_t GetDelayLine2() const {return fDelayLine2;}; // get delay line 2 | |
88 | Int_t GetDelayLine3() const {return fDelayLine3;}; // get delay line 3 | |
89 | Int_t GetDelayLine4() const {return fDelayLine4;}; // get delay line 4 | |
90 | Int_t GetDelayLine5() const {return fDelayLine5;}; // get delay line 5 | |
91 | Int_t GetDelayLine6() const {return fDelayLine6;}; // get delay line 6 | |
92 | Int_t GetDelayLine7() const {return fDelayLine7;}; // get delay line 7 | |
93 | ||
94 | }; | |
95 | ||
96 | class AliTOFTRMConfig | |
97 | { | |
98 | ||
99 | private: | |
100 | ||
101 | Int_t fSlotId; // slot id | |
102 | Int_t fSuperModuleId; // super module id | |
103 | Int_t fOptLinkId; // opt link id | |
104 | Int_t fVMEAddress; // VME address | |
105 | Int_t fMatchingWindow; // matching window | |
106 | Int_t fLatencyWindow; // latency window | |
107 | Int_t fTriggerLevelConfig; // trigger level config | |
108 | Int_t fTriggerSubtraction; // trigger subtracion | |
109 | Int_t fEdgeDetection; // edge detection | |
110 | Int_t fPackingFlag; // packing flag | |
111 | Int_t fChainAFlag; // chain A flag | |
112 | Int_t fChainBFlag; // chain B flag | |
113 | Int_t fMaskPB0; // mask PB 0 | |
114 | Int_t fMaskPB1; // mask PB 1 | |
115 | Int_t fMaskPB2; // mask PB 2 | |
116 | Int_t fMaskPB3; // mask PB 3 | |
117 | Int_t fMaskPB4; // mask PB 4 | |
118 | Int_t fMaskPB5; // mask PB 5 | |
119 | Int_t fMaskPB6; // mask PB 6 | |
120 | Int_t fMaskPB7; // mask PB 7 | |
121 | Int_t fMaskPB8; // mask PB 8 | |
122 | Int_t fMaskPB9; // mask PB 9 | |
123 | ||
124 | public: | |
125 | ||
126 | Int_t GetSlotId() const {return fSlotId;}; // get slot id | |
127 | Int_t GetSuperModuleId() const {return fSuperModuleId;}; // get super module id | |
128 | Int_t GetOptLinkId() const {return fOptLinkId;}; // get opt link id | |
129 | Int_t GetVMEAddress() const {return fVMEAddress;}; // get VME address | |
130 | Int_t GetMatchingWindow() const {return fMatchingWindow;}; // get matching window | |
131 | Int_t GetLatencyWindow() const {return fLatencyWindow;}; // get latency window | |
132 | Int_t GetTriggerLevelConfig() const {return fTriggerLevelConfig;}; // get trigger level config | |
133 | Int_t GetTriggerSubtraction() const {return fTriggerSubtraction;}; // get trigger subtracion | |
134 | Int_t GetEdgeDetection() const {return fEdgeDetection;}; // get edge detection | |
135 | Int_t GetPackingFlag() const {return fPackingFlag;}; // get packing flag | |
136 | Int_t GetChainAFlag() const {return fChainAFlag;}; // get chain A flag | |
137 | Int_t GetChainBFlag() const {return fChainBFlag;}; // get chain B flag | |
138 | Int_t GetMaskPB0() const {return fMaskPB0;}; // get mask PB 0 | |
139 | Int_t GetMaskPB1() const {return fMaskPB1;}; // get mask PB 1 | |
140 | Int_t GetMaskPB2() const {return fMaskPB2;}; // get mask PB 2 | |
141 | Int_t GetMaskPB3() const {return fMaskPB3;}; // get mask PB 3 | |
142 | Int_t GetMaskPB4() const {return fMaskPB4;}; // get mask PB 4 | |
143 | Int_t GetMaskPB5() const {return fMaskPB5;}; // get mask PB 5 | |
144 | Int_t GetMaskPB6() const {return fMaskPB6;}; // get mask PB 6 | |
145 | Int_t GetMaskPB7() const {return fMaskPB7;}; // get mask PB 7 | |
146 | Int_t GetMaskPB8() const {return fMaskPB8;}; // get mask PB 8 | |
147 | Int_t GetMaskPB9() const {return fMaskPB9;}; // get mask PB 9 | |
148 | ||
149 | }; | |
150 | ||
151 | ||
152 | class AliTOFCrateConfig | |
153 | { | |
154 | ||
155 | private: | |
156 | ||
157 | static const Int_t fgkNumberOfTRMs = 10; // number of TRMs | |
158 | ||
159 | enum EStatus_t { | |
160 | kStatusDisabled = 0, | |
161 | kStatusEnabled = 1 | |
162 | }; | |
163 | ||
164 | Int_t fDRMEnabled; // DRM enabled | |
165 | AliTOFDRMConfig fDRMConfig; // DRM config | |
166 | Int_t fLTMEnabled; // LTM enabled | |
167 | AliTOFLTMConfig fLTMConfig; // LTM config | |
168 | Int_t fCPDMEnabled; // CPDM enabled | |
169 | Int_t fTRMEnabled[fgkNumberOfTRMs]; // TRM enabled array | |
170 | AliTOFTRMConfig fTRMConfig[fgkNumberOfTRMs]; // TRM config array | |
171 | ||
172 | public: | |
173 | ||
174 | static Int_t GetNumberOfTRMs() {return fgkNumberOfTRMs;}; // get number of TRMs | |
175 | Int_t GetDRMEnabled() const {return fDRMEnabled;}; // get DRM enabled | |
176 | Bool_t IsDRMEnabled() const {return fDRMEnabled == kStatusEnabled;}; // is DRM enabled | |
177 | AliTOFDRMConfig *GetDRMConfig() {return &fDRMConfig;}; // get DRM config | |
178 | Int_t GetLTMEnabled() const {return fLTMEnabled;}; // get LTM enabled | |
179 | Bool_t IsLTMEnabled() const {return fLTMEnabled == kStatusEnabled;}; // is LTM enabled | |
180 | AliTOFLTMConfig *GetLTMConfig() {return &fLTMConfig;}; // get LTM config | |
181 | Int_t GetCPDMEnabled() const {return fCPDMEnabled;}; // get CPDM enabled | |
182 | Bool_t IsCPDMEnabled() const {return fCPDMEnabled == kStatusEnabled;}; // is CPDM enabled | |
183 | Int_t GetTRMEnabled(UShort_t iTRM) const {return iTRM < GetNumberOfTRMs() ? fTRMEnabled[iTRM] : 0;}; // get TRM enabled | |
184 | Bool_t IsTRMEnabled(UShort_t iTRM) const {return iTRM < GetNumberOfTRMs() ? fTRMEnabled[iTRM] == kStatusEnabled : 0;}; // is TRM enabled | |
185 | AliTOFTRMConfig *GetTRMConfig(UShort_t iTRM) {return iTRM < GetNumberOfTRMs() ? &fTRMConfig[iTRM] : NULL;}; // get TRM config | |
186 | ||
187 | }; | |
188 | ||
189 | class AliTOFFEEConfig | |
190 | { | |
191 | ||
192 | private: | |
193 | ||
194 | static const Int_t fgkNumberOfCrates = 72; // number of crates | |
195 | ||
196 | Int_t fVersion; // version | |
197 | time_t fDumpTime; // dump time | |
198 | Int_t fRunNumber; // run number | |
199 | Int_t fRunType; // run type | |
200 | AliTOFCrateConfig fCrateConfig[fgkNumberOfCrates]; // crate config array | |
201 | ||
202 | public: | |
203 | ||
204 | static Int_t GetNumberOfCrates() {return fgkNumberOfCrates;}; // get number of crates | |
205 | Int_t GetVersion() const {return fVersion;}; // get version | |
206 | time_t GetDumpTime() const {return fDumpTime;}; // get dump time | |
207 | Int_t GetRunNumber() const {return fRunNumber;}; // get run number | |
208 | Int_t GetRunType() const {return fRunType;}; // get run type | |
209 | AliTOFCrateConfig *GetCrateConfig(UShort_t iCrate) {return iCrate < GetNumberOfCrates() ? &fCrateConfig[iCrate] : NULL;}; // get crate config | |
210 | ||
211 | }; | |
212 | ||
213 | #endif /* ALITOFFEE_H */ |