Important bugfix. Missing reset of the equipment header data. It was causing a wrong...
[u/mrichter/AliRoot.git] / ZDC / AliZDCCalibData.h
1 #ifndef ALIZDCCALIBDATA_H
2 #define ALIZDCCALIBDATA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////
8 //  class for ZDC calibration                 //
9 ////////////////////////////////////////////////
10
11 #include "TNamed.h"
12 #include "TH1.h"
13 #include "AliCDBEntry.h"
14
15 class AliZDC;
16
17 class AliZDCCalibData: public TNamed {
18
19  public:
20   AliZDCCalibData();
21   AliZDCCalibData(const char* name);
22   AliZDCCalibData(const AliZDCCalibData &calibda);
23   AliZDCCalibData& operator= (const AliZDCCalibData &calibda);
24   virtual ~AliZDCCalibData();
25   void Reset();
26   virtual void  Print(Option_t *) const; 
27   //
28   Float_t  GetMeanPed(Int_t channel)       const {return fMeanPedestal[channel];}
29   Float_t* GetMeanPed()                    const {return (float*)fMeanPedestal;}
30   Float_t  GetMeanPedWidth(Int_t channel)  const {return fMeanPedWidth[channel];}
31   Float_t* GetMeanPedWidth()               const {return (float*)fMeanPedWidth;}
32   Float_t  GetOOTPed(Int_t channel)        const {return fOOTPedestal[channel];}
33   Float_t* GetOOTPed()                     const {return (float*)fOOTPedestal;}
34   Float_t  GetOOTPedWidth(Int_t channel)   const {return fOOTPedWidth[channel];}
35   Float_t* GetOOTPedWidth()                const {return (float*)fOOTPedWidth;}
36   Float_t  GetPedCorrCoeff0(Int_t channel) const {return fPedCorrCoeff[0][channel];}
37   Float_t  GetPedCorrCoeff1(Int_t channel) const {return fPedCorrCoeff[1][channel];}
38   Float_t* GetPedCorrCoeff()               const {return (float*)fPedCorrCoeff;}
39   //
40   Float_t  GetEnCalib(Int_t channel)    const {return fEnCalibration[channel];}
41   Float_t* GetEnCalib()                 const {return (float*)fEnCalibration;}
42   //
43   Float_t  GetPMTHVVal(Int_t channel)   const {return fPMTHVVal[channel];}
44   Float_t* GetPMTHVVal()                  const {return (float*)fPMTHVVal;}
45    //
46   Float_t  GetZDCTablePos(Int_t channel) const {return fZDCTablePos[channel];}
47   Float_t* GetZDCTablePos()              const {return (float*)fZDCTablePos;}
48  
49   //
50   void  SetMeanPed(Int_t channel, Float_t val) {fMeanPedestal[channel]=val;}
51   void  SetMeanPed(Float_t* MeanPed);
52   void  SetMeanPedWidth(Int_t channel, Float_t val) {fMeanPedWidth[channel]=val;}
53   void  SetMeanPedWidth(Float_t* MeanPedWidth);
54   void  SetOOTPed(Int_t channel, Float_t val) {fOOTPedestal[channel]=val;}
55   void  SetOOTPed(Float_t* OOTPed);
56   void  SetOOTPedWidth(Int_t channel, Float_t val) {fOOTPedWidth[channel]=val;}
57   void  SetOOTPedWidth(Float_t* OOTPedWidth);
58   void  SetPedCorrCoeff(Int_t channel, Float_t valCoeff0, Float_t valCoeff1)
59         {fPedCorrCoeff[0][channel]=valCoeff0; fPedCorrCoeff[1][channel]=valCoeff1;}
60   void  SetPedCorrCoeff(Float_t* PedCorrCoeff);
61   void  SetPedCorrCoeff(Float_t* PedCorrCoeff0, Float_t* PedCorrCoeff1);
62   //
63   void  SetEnCalib(Int_t channel, Float_t val) {fEnCalibration[channel]=val;}
64   void  SetEnCalib(Float_t* EnCalib);
65   //
66   void  SetPMTHVVal(Int_t channel, Float_t val) {fPMTHVVal[channel]=val;}
67   void  SetPMTHVVal(Float_t* HVVal);
68   //
69   void  SetZDCTablePos(Int_t channel, Float_t val) {fZDCTablePos[channel]=val;}
70   void  SetZDCTablePos(Float_t* ZDCTablePos);
71   //
72   void  SetDCSCalibData(Float_t* DCSData);
73
74  protected:
75   // --- Pedestals
76   Float_t  fMeanPedestal[47];    // Mean pedestal values 
77   Float_t  fMeanPedWidth[47];    // Mean pedestal values 
78   Float_t  fOOTPedestal[44];     // "Out of Time" pedestal values
79   Float_t  fOOTPedWidth[44];     // "Out of Time" pedestal values
80   Float_t  fPedCorrCoeff[2][44]; // Fit of correlation in-time vs. out-of-time
81   // --- E calibration
82   Float_t  fEnCalibration[6];    // Coeff. for energy calibration
83   // --- PMTs HV values
84   Float_t  fPMTHVVal[22];        // PMTs HV values
85   // --- Values for alignement
86   Float_t  fZDCTablePos[4];      // Vertical value for ZDC tables
87   //
88   ClassDef(AliZDCCalibData,4)    // ZDC  Calibration data
89 };
90
91 #endif