]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSCalibData.h
Using symbolic names instead of volume paths (Raffaele)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibData.h
index 4b715060547ad84721b670dedbb24741bd17f5e5..a4118da3d296ac9f2a07bc6c117e1f6ccc52a288 100644 (file)
@@ -7,34 +7,60 @@
 /* $Id$ */
 
 ////////////////////////////////////////////////
-//  class for PHOS calibration                 //
+//  class for PHOS calibration                //
 ////////////////////////////////////////////////
 
 #include "TNamed.h"
-#include "AliPHOS.h"
+#include "TString.h"
+
+class AliPHOSEmcCalibData;
+class AliPHOSCpvCalibData;
+class AliCDBMetaData;
 
 class AliPHOSCalibData: public TNamed {
 
  public:
   AliPHOSCalibData();
-  AliPHOSCalibData(const char* name);
-  AliPHOSCalibData(const AliPHOSCalibData &calibda);
-  AliPHOSCalibData& operator= (const AliPHOSCalibData &calibda);
+  AliPHOSCalibData(Int_t runNumber);
+  AliPHOSCalibData(AliPHOSCalibData & phosCDB);
   virtual ~AliPHOSCalibData();
+
+  AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
+
   void Reset();
   virtual void Print(Option_t *option = "") const; 
-  //
-  Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const {return fADCchannelEmc[module][column][row];}
-  Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const {return fADCpedestalEmc[module][column][row];}
-  //
-  void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value)  {fADCchannelEmc[module][column][row] = value;}
-  void SetADCedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value) {fADCpedestalEmc[module][column][row] = value;}
-
- protected:
-  Float_t  fADCchannelEmc[5][64][56] ;           // width of one ADC channel in GeV
-  Float_t  fADCpedestalEmc[5][64][56] ;          // value of the EMC ADC pedestal
-  //
-  ClassDef(AliPHOSCalibData,1)    // PHOS Calibration data
+  
+  void CreateNew();
+  void RandomEmc(Float_t ccMin=0.5   , Float_t ccMax=1.5);
+  void RandomCpv(Float_t ccMin=0.0009, Float_t ccMax=0.0015);
+
+  Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
+  Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
+  
+  void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
+  void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
+
+  Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
+  Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
+  
+  void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
+  void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
+
+  void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
+  void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
+
+  Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
+  Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
+
+ private:
+
+  AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
+  AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
+  
+  TString fEmcDataPath; // path to EMC calibration data
+  TString fCpvDataPath; // path to CPV calibration data
+
+  ClassDef(AliPHOSCalibData,2)    // PHOS Calibration data
 };
 
 #endif