]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALCalibData.h
common block structures corrected
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCalibData.h
index 3de4f72ea991907bf4d9c5fe91e9ef04bce36909..20919af60a9d205e9110ca5874b1e253b635fccd 100644 (file)
 class AliEMCALCalibData: public TNamed {
 
  public:
+
   AliEMCALCalibData();
   AliEMCALCalibData(const char* name);
   AliEMCALCalibData(const AliEMCALCalibData &calibda);
   AliEMCALCalibData& operator= (const AliEMCALCalibData &calibda);
-  virtual ~AliEMCALCalibData();
-  void Reset();
-  virtual void Print(Option_t *option = "") const;
+  virtual ~AliEMCALCalibData() { ; }
+  
+  void    Reset();
+  void    Print(Option_t *option = "") const;
   
   // All indexes start from 0!
   Float_t GetADCchannel      (Int_t module, Int_t column, Int_t row) const;
+  Float_t GetADCchannelOnline(Int_t module, Int_t column, Int_t row) const;
   Float_t GetADCchannelDecal (Int_t module, Int_t column, Int_t row) const;
   Float_t GetADCpedestal     (Int_t module, Int_t column, Int_t row) const;
-  Float_t GetTimeChannel     (Int_t module, Int_t column, Int_t row) const;
   Float_t GetTimeChannelDecal(Int_t module, Int_t column, Int_t row) const;
+  Float_t GetTimeChannel     (Int_t module, Int_t column, Int_t row, Int_t bc) const;
+       
+  Float_t GetADCchannelRef   () const { return fADCchannelRef ; }
 
-  //
-  void SetADCchannel      (Int_t module, Int_t column, Int_t row, Float_t value);
-  void SetADCchannelDecal (Int_t module, Int_t column, Int_t row, Float_t value);
-  void SetADCpedestal     (Int_t module, Int_t column, Int_t row, Float_t value);
-  void SetTimeChannel     (Int_t module, Int_t column, Int_t row, Float_t value);
-  void SetTimeChannelDecal(Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetADCchannel      (Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetADCchannelOnline(Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetADCchannelDecal (Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetADCpedestal     (Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetTimeChannelDecal(Int_t module, Int_t column, Int_t row, Float_t value);
+  void    SetTimeChannel     (Int_t module, Int_t column, Int_t row, Int_t bc, Float_t value);
 
-  // Fill for (relative) recalibration (undo 1, apply 2)
-  void Fill(const AliEMCALCalibData *cd1, const AliEMCALCalibData *cd2, Bool_t print=0);
+  void    SetADCchannelRef   (Float_t value) { fADCchannelRef = value ; }
 
+  static const int fgkECALModules  = 12;   // number of modules in EMCAL
+  static const int fgkDCALModules  = 10;   // number of modules in DCAL 8+2 in possible future
+  
  protected:
-  Float_t  fADCchannel      [AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // width of one ADC channel in GeV ([mod][col][row])
-  Float_t  fADCchannelDecal [AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // decalibrate width of one ADC channel in GeV ([mod][col][row])
-  Float_t  fADCpedestal     [AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // value of the  ADC pedestal ([mod][col][row])
-  Float_t  fTimeChannel     [AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // time width of one ADC channel ([mod][col][row])
-  Float_t  fTimeChannelDecal[AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows] ; // time width of one ADC channel ([mod][col][row])
-
-  //
-  ClassDef(AliEMCALCalibData,2)    // EMCAL Calibration data
+
+  Float_t  fADCchannelRef ;  // base value of the ADC channel set from cosmics calibration, not to be used, instead use fADCchannelOnline
+
+  Float_t  fADCchannel          [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // width of one ADC channel in GeV ([mod][col][row])
+  Float_t  fADCchannelOnline    [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // width of one ADC channel in GeV obtained from the voltage settings online
+  Float_t  fADCchannelDecal     [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // decalibrate width of one ADC channel in GeV ([mod][col][row])
+  Float_t  fADCpedestal         [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // value of the  ADC pedestal ([mod][col][row]), not used
+  Float_t  fTimeChannelDecal    [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // time shift of one ADC channel ([mod][col][row])
+  Float_t  fTimeChannel         [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; // time shift of one ADC channel ([mod][col][row][bunch crossing number])
+
+  // Add specific arrays for DCal to avoid backward incompatibilities,
+  // dimension of DCal SM is smaller than EMCAL but assume the same to avoid complications due to partial SM
+  Float_t  fADCchannelDCAL      [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // width of one ADC channel in GeV ([mod][col][row])
+  Float_t  fADCchannelOnlineDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // width of one ADC channel in GeV  obtained from the voltage settings online
+  Float_t  fADCchannelDecalDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // decalibrate width of one ADC channel in GeV ([mod][col][row])
+  Float_t  fADCpedestalDCAL     [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // value of the  ADC pedestal ([mod][col][row]), not used
+  Float_t  fTimeChannelDecalDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; // time shift of one ADC channel ([mod][col][row])
+  Float_t  fTimeChannelDCAL     [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; // time shift of one ADC channel ([mod][col][row][bunch crossing number])
+
+  
+  ClassDef(AliEMCALCalibData,6)    // EMCAL Calibration data
 };
 
 #endif