ROOT logo
#ifndef ALIPHOSEMCCALIBDATA_H
#define ALIPHOSEMCCALIBDATA_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

////////////////////////////////////////////////
//  class for EMC calibration                 //
////////////////////////////////////////////////

#include "TNamed.h"

class AliPHOSEmcCalibData: public TNamed {

 public:
  AliPHOSEmcCalibData();
  AliPHOSEmcCalibData(const char* name);
  AliPHOSEmcCalibData(const AliPHOSEmcCalibData &calibda);
  AliPHOSEmcCalibData& operator= (const AliPHOSEmcCalibData &calibda);
  virtual ~AliPHOSEmcCalibData();
  void Reset();
  virtual void Print(Option_t *option = "") const; 
  //
  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;
  Float_t GetHighLowRatioEmc(Int_t module, Int_t column, Int_t row) const;
  Float_t GetTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
  Float_t GetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
  Int_t   GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
  Float_t GetSampleTimeStep() 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);
  void SetHighLowRatioEmc(Int_t module, Int_t column, Int_t row, Float_t value);
  void SetTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value);
  void SetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value);
  void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value);
  void SetSampleTimeStep(Float_t step) ;
  //
  Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const;
  void    SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value);
  
protected:
  Float_t  fSampleTimeStep ;            // Conversion between ALTRO sample time step and seconds
  Float_t  fADCchannelEmc[5][56][64] ;  // width of one EMC ADC channel in GeV ([mod][col][row])
  Float_t  fADCpedestalEmc[5][56][64] ; // value of the EMC ADC pedestal ([mod][col][row])
  Float_t  fHighLowRatioEmc[5][56][64]; // ratio of High/Low gain ([mod][col][row])
  Float_t  fTimeShiftEmc[5][56][64] ;   // channel-by-channel t0 shift ([mod][col][row])
  Float_t  fLGTimeShiftEmc[5][56][64] ;   // channel-by-channel t0 shift ([mod][col][row])
  UInt_t   fAltroOffsets[5][56][64] ;   // channel-by-channel offsets udes in ZS
  Float_t  fDecal[5][56][64] ;          // Random decalibrations O(1). Used in simulation.
  //
  ClassDef(AliPHOSEmcCalibData,6)    // PHOS EMC calibration data
};

#endif
 AliPHOSEmcCalibData.h:1
 AliPHOSEmcCalibData.h:2
 AliPHOSEmcCalibData.h:3
 AliPHOSEmcCalibData.h:4
 AliPHOSEmcCalibData.h:5
 AliPHOSEmcCalibData.h:6
 AliPHOSEmcCalibData.h:7
 AliPHOSEmcCalibData.h:8
 AliPHOSEmcCalibData.h:9
 AliPHOSEmcCalibData.h:10
 AliPHOSEmcCalibData.h:11
 AliPHOSEmcCalibData.h:12
 AliPHOSEmcCalibData.h:13
 AliPHOSEmcCalibData.h:14
 AliPHOSEmcCalibData.h:15
 AliPHOSEmcCalibData.h:16
 AliPHOSEmcCalibData.h:17
 AliPHOSEmcCalibData.h:18
 AliPHOSEmcCalibData.h:19
 AliPHOSEmcCalibData.h:20
 AliPHOSEmcCalibData.h:21
 AliPHOSEmcCalibData.h:22
 AliPHOSEmcCalibData.h:23
 AliPHOSEmcCalibData.h:24
 AliPHOSEmcCalibData.h:25
 AliPHOSEmcCalibData.h:26
 AliPHOSEmcCalibData.h:27
 AliPHOSEmcCalibData.h:28
 AliPHOSEmcCalibData.h:29
 AliPHOSEmcCalibData.h:30
 AliPHOSEmcCalibData.h:31
 AliPHOSEmcCalibData.h:32
 AliPHOSEmcCalibData.h:33
 AliPHOSEmcCalibData.h:34
 AliPHOSEmcCalibData.h:35
 AliPHOSEmcCalibData.h:36
 AliPHOSEmcCalibData.h:37
 AliPHOSEmcCalibData.h:38
 AliPHOSEmcCalibData.h:39
 AliPHOSEmcCalibData.h:40
 AliPHOSEmcCalibData.h:41
 AliPHOSEmcCalibData.h:42
 AliPHOSEmcCalibData.h:43
 AliPHOSEmcCalibData.h:44
 AliPHOSEmcCalibData.h:45
 AliPHOSEmcCalibData.h:46
 AliPHOSEmcCalibData.h:47
 AliPHOSEmcCalibData.h:48
 AliPHOSEmcCalibData.h:49
 AliPHOSEmcCalibData.h:50
 AliPHOSEmcCalibData.h:51
 AliPHOSEmcCalibData.h:52
 AliPHOSEmcCalibData.h:53
 AliPHOSEmcCalibData.h:54
 AliPHOSEmcCalibData.h:55
 AliPHOSEmcCalibData.h:56