]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibDB.h
Use debug stream only if requested
[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 class AliTPCTransform;
14 class AliTPCExB;
15 #include "TObject.h"
16 class AliTPCCalPad;
17 class AliTPCSensorTempArray;
18 class AliDCSSensorArray;
19 class AliCDBEntry;
20 class AliTPCParam;
21 class AliTPCAltroMapping;
22 class AliTPCClusterParam;
23 //class AliCDBStorage;
24
25 class AliTPCcalibDB : public TObject
26 {
27  public: 
28   static AliTPCcalibDB* Instance();
29   AliTPCcalibDB();
30   virtual ~AliTPCcalibDB();
31   static void Terminate();
32   void   SetRun(Long64_t run);   
33   //
34   AliTPCTransform* GetTransform() {return fTransform;}
35   AliTPCExB*    GetExB() {return fExB;}
36   void          SetExBField(Float_t bz);
37   static AliTPCExB*    GetExB(Float_t bz,Bool_t bdelete);
38   AliTPCCalPad* GetPadGainFactor() {return fPadGainFactor;}
39   AliTPCCalPad* GetDedxGainFactor() {return fDedxGainFactor;}
40   AliTPCCalPad* GetPadTime0() {return fPadTime0;}
41   AliTPCCalPad* GetPadNoise() {return fPadNoise;}
42   AliTPCCalPad* GetPedestals() {return fPedestals;}
43   AliTPCSensorTempArray* GetTemperature() {return fTemperature;}
44   AliTPCParam*  GetParameters(){return fParam;}
45   AliTPCAltroMapping ** GetMapping(){ return fMapping;}
46   AliTPCClusterParam *GetClusterParam(){ return fClusterParam;}
47   //
48   static void     CreateObjectList(const Char_t *filename, TObjArray *calibObjects);
49   static void MakeTree(const char * fileName, TObjArray * array, const char * mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9);
50   static void RegisterExB(Int_t index, Float_t bz, Bool_t bdelete);
51   //
52 protected:
53   void         Update();  //update entries
54   AliCDBEntry* GetCDBEntry(const char* cdbPath);   
55   Long64_t        fRun;         // current run number
56   AliTPCTransform *fTransform;      // object responsible for spacial corrections
57   AliTPCExB *fExB;              // ExB correction factor
58 //  AliCDBStorage* fLocator;      // Storage locator retrieved from AliCDBManager
59   //
60   // calibration parameters per pad
61   //
62   AliTPCCalPad* fPadGainFactor;   // Gain calibration entry
63   AliTPCCalPad* fDedxGainFactor;   // Gain calibration entry - for dEdx
64   AliTPCCalPad* fPadTime0;        // Time0 calibration entry
65   AliTPCCalPad* fPadNoise;        // Noise calibration entry
66   AliTPCCalPad* fPedestals;       // Pedestal calibration entry
67   AliTPCSensorTempArray* fTemperature; // Temperature calibration entry
68   AliTPCAltroMapping **fMapping;   // Altro mapping   
69   //
70   //
71   AliTPCParam * fParam;           // TPC parameters
72   AliTPCClusterParam * fClusterParam;  // TPC cluster error, shape and Q parameterization
73   //
74   static AliTPCcalibDB* fgInstance;  // singleton control
75   static Bool_t       fgTerminated;  // termination control 
76   static TObjArray    fgExBArray;    // array of ExB corrections
77   ClassDef(AliTPCcalibDB, 0)
78  private:
79    AliTPCcalibDB (const AliTPCcalibDB& );
80    AliTPCcalibDB& operator= (const AliTPCcalibDB& );
81 };
82
83
84 #endif