]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIEMCALCALIBDATA_H | |
2 | #define ALIEMCALCALIBDATA_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$ */ | |
8 | ||
9 | //////////////////////////////////////////////// | |
10 | // | |
11 | // class for EMCAL calibration // | |
12 | // | |
13 | //////////////////////////////////////////////// | |
14 | ||
15 | #include "TNamed.h" | |
16 | #include "AliEMCALGeoParams.h" | |
17 | ||
18 | class AliEMCALCalibData: public TNamed { | |
19 | ||
20 | public: | |
21 | ||
22 | AliEMCALCalibData(); | |
23 | AliEMCALCalibData(const char* name); | |
24 | AliEMCALCalibData(const AliEMCALCalibData &calibda); | |
25 | AliEMCALCalibData& operator= (const AliEMCALCalibData &calibda); | |
26 | virtual ~AliEMCALCalibData() { ; } | |
27 | ||
28 | void Reset(); | |
29 | void Print(Option_t *option = "") const; | |
30 | ||
31 | // All indexes start from 0! | |
32 | Float_t GetADCchannel (Int_t module, Int_t column, Int_t row) const; | |
33 | Float_t GetADCchannelOnline(Int_t module, Int_t column, Int_t row) const; | |
34 | Float_t GetADCchannelDecal (Int_t module, Int_t column, Int_t row) const; | |
35 | Float_t GetADCpedestal (Int_t module, Int_t column, Int_t row) const; | |
36 | Float_t GetTimeChannelDecal(Int_t module, Int_t column, Int_t row) const; | |
37 | Float_t GetTimeChannel (Int_t module, Int_t column, Int_t row, Int_t bc) const; | |
38 | ||
39 | Float_t GetADCchannelRef () const { return fADCchannelRef ; } | |
40 | ||
41 | void SetADCchannel (Int_t module, Int_t column, Int_t row, Float_t value); | |
42 | void SetADCchannelOnline(Int_t module, Int_t column, Int_t row, Float_t value); | |
43 | void SetADCchannelDecal (Int_t module, Int_t column, Int_t row, Float_t value); | |
44 | void SetADCpedestal (Int_t module, Int_t column, Int_t row, Float_t value); | |
45 | void SetTimeChannelDecal(Int_t module, Int_t column, Int_t row, Float_t value); | |
46 | void SetTimeChannel (Int_t module, Int_t column, Int_t row, Int_t bc, Float_t value); | |
47 | ||
48 | void SetADCchannelRef (Float_t value) { fADCchannelRef = value ; } | |
49 | ||
50 | static const int fgkECALModules = 12; // number of modules in EMCAL | |
51 | static const int fgkDCALModules = 10; // number of modules in DCAL 8+2 in possible future | |
52 | ||
53 | protected: | |
54 | ||
55 | Float_t fADCchannelRef ; // base value of the ADC channel set from cosmics calibration, not to be used, instead use fADCchannelOnline | |
56 | ||
57 | Float_t fADCchannel [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // width of one ADC channel in GeV ([mod][col][row]) | |
58 | Float_t fADCchannelOnline [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // width of one ADC channel in GeV obtained from the voltage settings online | |
59 | Float_t fADCchannelDecal [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // decalibrate width of one ADC channel in GeV ([mod][col][row]) | |
60 | Float_t fADCpedestal [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // value of the ADC pedestal ([mod][col][row]), not used | |
61 | Float_t fTimeChannelDecal [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // time shift of one ADC channel ([mod][col][row]) | |
62 | Float_t fTimeChannel [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; // time shift of one ADC channel ([mod][col][row][bunch crossing number]) | |
63 | ||
64 | // Add specific arrays for DCal to avoid backward incompatibilities, | |
65 | // dimension of DCal SM is smaller than EMCAL but assume the same to avoid complications due to partial SM | |
66 | Float_t fADCchannelDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // width of one ADC channel in GeV ([mod][col][row]) | |
67 | Float_t fADCchannelOnlineDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // width of one ADC channel in GeV obtained from the voltage settings online | |
68 | Float_t fADCchannelDecalDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // decalibrate width of one ADC channel in GeV ([mod][col][row]) | |
69 | Float_t fADCpedestalDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // value of the ADC pedestal ([mod][col][row]), not used | |
70 | Float_t fTimeChannelDecalDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // time shift of one ADC channel ([mod][col][row]) | |
71 | Float_t fTimeChannelDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; // time shift of one ADC channel ([mod][col][row][bunch crossing number]) | |
72 | ||
73 | ||
74 | ClassDef(AliEMCALCalibData,6) // EMCAL Calibration data | |
75 | }; | |
76 | ||
77 | #endif |