0th version of time-dependent basic calibration
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibTimeDep.h
1 #ifndef ALIEMCALCALIBTIMEDEP_H
2 #define ALIEMCALCALIBTIMEDEP_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: AliEMCALCalibTimeDep.h $ */
8
9 /////////////////////////////////////////////////
10 // class for EMCAL time-dependence calibration //
11 /////////////////////////////////////////////////
12
13 #include "TObject.h"
14
15 class AliEMCALSensorTempArray;
16
17 class AliEMCALCalibTimeDep : public TObject {
18
19  public:
20   AliEMCALCalibTimeDep(); //! ctor
21   AliEMCALCalibTimeDep(const AliEMCALCalibTimeDep &calibt); //! copy ctor
22   AliEMCALCalibTimeDep& operator= (const AliEMCALCalibTimeDep &calibt); //! 
23   virtual ~AliEMCALCalibTimeDep(); //! dtor
24   virtual void Print() const; 
25
26   void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);//!
27
28   // access pointer to the basic temperature object: AliEMCALSensorTempArray 
29   AliEMCALSensorTempArray  * GetTempArray() const { return fTempArray; } //
30
31   // simple getters
32   int GetRunNumber() const { return fRun; } //
33   int GetStartTime() const { return fStartTime; } // 
34   int GetEndTime() const { return fEndTime; } // 
35   double GetLengthOfRunInHours() const; // 
36
37   // range of temperature readings/values during the run 
38   double GetMinTemp() const { return fMinTemp; } // 
39   double GetMaxTemp() const { return fMaxTemp; } // 
40   int GetMinTime() const { return fMinTime; } // 
41   int GetMaxTime() const { return fMaxTime; } // 
42   double GetRangeOfTempMeasureInHours() const; // 
43   double GetRangeOfTempMeasureInDegrees() const; // 
44
45   // reference temperature, that we normalize to
46   double GetRefTemp() const { return fRefTemp; } //
47   void SetRefTemp(double refTemp) { fRefTemp = refTemp; } //
48
49   // basic calibration info
50   double GetTemperature(int secSinceStart) const; // for all sensors, all SuperModules
51   double GetTemperatureSM(int imod, int secSinceStart) const; // for all sensors, in a SuperModule
52   double GetTemperatureSMSensor(int imod, int isens, int secSinceStart) const; // for a sensor, in a SuperModule
53   double GetCorrection(double temperature) const; //
54
55  private:
56
57   void Reset();
58   void GetTemperatureInfo(); // pick up Preprocessor output
59   //
60   int fRun;
61   int fStartTime;
62   int fEndTime;
63   double fMinTemp;
64   double fMaxTemp;
65   int fMinTime;
66   int fMaxTime;
67   double fRefTemp;
68   //
69   AliEMCALSensorTempArray  *fTempArray;     // CDB class for temperature sensors
70   //
71   ClassDef(AliEMCALCalibTimeDep,1)    // EMCAL Calibration data
72 };
73
74 #endif