]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EMCAL/AliEMCALCalibData.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibData.h
... / ...
CommitLineData
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
18class 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