MUON + CheckCompiler
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibData.h
CommitLineData
f565d89d 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////////////////////////////////////////////////
df5cea6b 10//
11// class for EMCAL calibration //
12//
f565d89d 13////////////////////////////////////////////////
14
15#include "TNamed.h"
0c5b726e 16#include "AliEMCALGeoParams.h"
f565d89d 17
18class AliEMCALCalibData: public TNamed {
19
20 public:
aaa41982 21
f565d89d 22 AliEMCALCalibData();
23 AliEMCALCalibData(const char* name);
24 AliEMCALCalibData(const AliEMCALCalibData &calibda);
25 AliEMCALCalibData& operator= (const AliEMCALCalibData &calibda);
aaa41982 26 virtual ~AliEMCALCalibData() { ; }
27
28 void Reset();
29 void Print(Option_t *option = "") const;
df5cea6b 30
63b315c5 31 // All indexes start from 0!
df5cea6b 32 Float_t GetADCchannel (Int_t module, Int_t column, Int_t row) const;
3730689d 33 Float_t GetADCchannelOnline(Int_t module, Int_t column, Int_t row) const;
df5cea6b 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;
df5cea6b 36 Float_t GetTimeChannelDecal(Int_t module, Int_t column, Int_t row) const;
aaa41982 37 Float_t GetTimeChannel (Int_t module, Int_t column, Int_t row, Int_t bc) const;
63c22917 38
c7e54b0e 39 Float_t GetADCchannelRef () const { return fADCchannelRef ; }
df5cea6b 40
aaa41982 41 void SetADCchannel (Int_t module, Int_t column, Int_t row, Float_t value);
3730689d 42 void SetADCchannelOnline(Int_t module, Int_t column, Int_t row, Float_t value);
aaa41982 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);
63c22917 47
aaa41982 48 void SetADCchannelRef (Float_t value) { fADCchannelRef = value ; }
f565d89d 49
56d10452 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
f565d89d 53 protected:
aaa41982 54
3730689d 55 Float_t fADCchannelRef ; // base value of the ADC channel set from cosmics calibration, not to be used, instead use fADCchannelOnline
aaa41982 56
56d10452 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])
63c22917 72
56d10452 73
74 ClassDef(AliEMCALCalibData,6) // EMCAL Calibration data
f565d89d 75};
76
77#endif