a4118da3d296ac9f2a07bc6c117e1f6ccc52a288
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibData.h
1 #ifndef ALIPHOSCALIBDATA_H
2 #define ALIPHOSCALIBDATA_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$ */
8
9 ////////////////////////////////////////////////
10 //  class for PHOS calibration                //
11 ////////////////////////////////////////////////
12
13 #include "TNamed.h"
14 #include "TString.h"
15
16 class AliPHOSEmcCalibData;
17 class AliPHOSCpvCalibData;
18 class AliCDBMetaData;
19
20 class AliPHOSCalibData: public TNamed {
21
22  public:
23   AliPHOSCalibData();
24   AliPHOSCalibData(Int_t runNumber);
25   AliPHOSCalibData(AliPHOSCalibData & phosCDB);
26   virtual ~AliPHOSCalibData();
27
28   AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
29
30   void Reset();
31   virtual void Print(Option_t *option = "") const; 
32   
33   void CreateNew();
34   void RandomEmc(Float_t ccMin=0.5   , Float_t ccMax=1.5);
35   void RandomCpv(Float_t ccMin=0.0009, Float_t ccMax=0.0015);
36
37   Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
38   Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
39   
40   void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
41   void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
42
43   Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
44   Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
45   
46   void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
47   void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
48
49   void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
50   void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
51
52   Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
53   Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
54
55  private:
56
57   AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
58   AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
59   
60   TString fEmcDataPath; // path to EMC calibration data
61   TString fCpvDataPath; // path to CPV calibration data
62
63   ClassDef(AliPHOSCalibData,2)    // PHOS Calibration data
64 };
65
66 #endif