TOF + macros to each detector folder
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalOnlineGainTableMCM.h
1 #ifndef ALITRDCALONLINEGAINTABLEMCM_H
2 #define ALITRDCALONLINEGAINTABLEMCM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include <TObject.h>
7
8 //////////////////////////////////////////////////////////////////////////////////////////////
9 //
10 // Data structure to store gaintables of the online calibration in the OCDB
11 // consisting of three classes:
12 // AliTRDCalOnlineGainTable 
13 // AliTRDCalOnlineGainTableROC 
14 // AliTRDCalOnlineGainTableMCM
15 //
16 // AliTRDCalOnlineGainTable is the main class from which all stored data can be accessed.
17 // The two sub-classes AliTRDCalOnlineGainTableROC and AliTRDCalOnlineGainTableMCM
18 // contain the gaintables on ROC level and on the MCM level respectively.
19 //
20 // The online calibration is used to compensate gain deviations on the pad level.
21 // For the offline reconstruction the online calibration has to be undone. 
22 // The corresponding gain correction factor that was used by the online gain filter can be accessed 
23 // via the functions AliTRDCalOnlineGainTable::GetGainCorrectionFactor(Int_t det, Int_t row, Int_t col) 
24 // and AliTRDCalOnlineGainTable::GetGainCorrectionFactor(Int_t sector, Int_t stack, Int_t layer, Int_t row, Int_t col).
25 //
26 // With the class AliTRDCalOnlineGainTablesMCM all values used for the 
27 // online calibration can be set and accessed on the MCM/channel level
28 //
29 //////////////////////////////////////////////////////////////////////////////////////////////
30
31 class AliTRDCalOnlineGainTableMCM: public TObject
32 {
33 public:
34
35   AliTRDCalOnlineGainTableMCM();
36   ~AliTRDCalOnlineGainTableMCM();
37
38   Float_t GetGainCorrectionFactor(Int_t channel);
39   Float_t GetMCMGain();
40   Short_t GetAdcdac();
41   Short_t GetFGAN(Int_t channel);
42   Short_t GetFGFN(Int_t channel);
43   
44   void SetAdcdac(Short_t x) {fAdcdac = x;} // Sets fAdcdac to the given value
45   void SetMCMGain(Float_t x) {fMCMGain = x;} // Sets fMCMGain to the given value
46
47   void SetFGFN(Short_t ch, Short_t x) {fFGFN[ch] = x;} // Sets fFGFN to the given value
48   void SetFGAN(Short_t ch, Short_t x) {fFGAN[ch] = x;} // Sets fFGAN to the given value
49
50 protected:
51
52   Short_t fAdcdac;   // Reference voltage of the ADCs  U_Ref =  (1.05V + (fAdcdac/31)*0.4V
53
54   Short_t fFGFN[21]; // Gain Correction Filter Factor
55   Short_t fFGAN[21]; // Gain Correction Filter Additive
56
57   Float_t fMCMGain;  // Gain Factor which would lead to a Correction Factor of 1.0 within the MCM
58
59
60   ClassDef(AliTRDCalOnlineGainTableMCM,2); // TRD online gain table of a MCM
61
62 };
63
64 #endif