e7b7950c77482f93f7f5be1c83fd409bb179e530
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibDB.h
1 #ifndef ALITPCCALIBDB_H
2 #define ALITPCCALIBDB_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 //                                                                           //
8 // Class providing the calibration parameters by accessing the CDB           //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12
13 #include "AliTPCTransform.h"
14 #include "AliTPCExB.h"
15 #include "TObject.h"
16 class AliTPCCalPad;
17 class AliTPCSensorTempArray;
18 class AliDCSSensorArray;
19 class AliCDBEntry;
20 class AliTPCParam;
21 //class AliCDBStorage;
22
23 class AliTPCcalibDB : public TObject
24 {
25  public: 
26   static AliTPCcalibDB* Instance();
27   AliTPCcalibDB();
28   virtual ~AliTPCcalibDB();
29   static void Terminate();
30   void   SetRun(Long64_t run);   
31   //
32   AliTPCTransform* GetTransform() {return fTrafo;}
33   AliTPCExB* GetExB() {return fExB;}
34   AliTPCCalPad* GetPadGainFactor() {return fPadGainFactor;}
35   AliTPCCalPad* GetPadTime0() {return fPadTime0;}
36   AliTPCCalPad* GetPadPRFWidth() {return fPadPRFWidth;}
37   AliTPCCalPad* GetPadNoise() {return fPadNoise;}
38   AliTPCCalPad* GetPedestals() {return fPedestals;}
39   AliTPCSensorTempArray* GetTemperature() {return fTemperature;}
40   AliDCSSensorArray* GetPressure() {return fPressure;}
41   AliTPCParam*  GetParameters(){return fParam;}
42   static void     CreateObjectList(const Char_t *filename, TObjArray *calibObjects);
43   static void MakeTree(const char * fileName, TObjArray * array, const char * mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9);
44   
45   //
46 protected:
47   void         Update();  //update entries
48   AliCDBEntry* GetCDBEntry(const char* cdbPath);   
49   Long64_t        fRun;         // current run number
50   AliTPCTransform *fTrafo; // object responsible for spacial corrections
51   AliTPCExB *fExB;
52 //  AliCDBStorage* fLocator;      // Storage locator retrieved from AliCDBManager
53   //
54   // calibration parameters per pad
55   //
56   AliTPCCalPad* fPadGainFactor;
57   AliTPCCalPad* fPadTime0;
58   AliTPCCalPad* fPadPRFWidth;
59   AliTPCCalPad* fPadNoise;
60   AliTPCCalPad* fPedestals;
61   AliTPCSensorTempArray* fTemperature;
62   AliDCSSensorArray *fPressure;
63   //
64   //
65   AliTPCParam * fParam;
66   //
67   static AliTPCcalibDB* fgInstance;
68   static Bool_t       fgTerminated;
69   ClassDef(AliTPCcalibDB, 0)
70  private:
71    AliTPCcalibDB (const AliTPCcalibDB& org);
72    AliTPCcalibDB& operator= (const AliTPCcalibDB& rhs);
73 };
74
75
76 #endif