LCOV - code coverage report
Current view: top level - EMCAL/EMCALbase - AliEMCALCalibData.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 2 10 20.0 %

          Line data    Source code
       1             : #ifndef ALIEMCALCALIBDATA_H
       2             : #define ALIEMCALCALIBDATA_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : //_________________________________________________________________________
       8             : /// \class AliEMCALCalibData
       9             : /// \brief Cell energy calibration factors container class 
      10             : ///
      11             : /// Channel energy calibration factors (ADC to GeV conversion) and pedestal, 
      12             : /// An extra decalibration parameter factor foreseen.
      13             : ///
      14             : /// This container also includes arrays for time calibration, but this is not
      15             : /// under use, this functionality is in AliEMCALCalibTime. 
      16             : /// It is kept for backward compatibility reasons.
      17             : ///
      18             : /// \author Gustavo Conesa Balbastre <Gustavo.Conesa.Balbastre@cern.ch>, LPSC-IN2P3-CNRS
      19             : ///_________________________________________________________________________
      20             : 
      21             : #include "TNamed.h"
      22             : #include "AliEMCALGeoParams.h"
      23             : 
      24             : class AliEMCALCalibData: public TNamed {
      25             : 
      26             :  public:
      27             : 
      28             :   AliEMCALCalibData();
      29             :   AliEMCALCalibData(const char* name);
      30             :   AliEMCALCalibData(const AliEMCALCalibData &calibda);
      31             :   AliEMCALCalibData& operator= (const AliEMCALCalibData &calibda);
      32           0 :   virtual ~AliEMCALCalibData() { ; }
      33             :   
      34             :   void    Reset();
      35             :   void    Print(Option_t *option = "") const;
      36             :   
      37             :   // All indexes start from 0!
      38             :   Float_t GetADCchannel      (Int_t module, Int_t column, Int_t row) const;
      39             :   Float_t GetADCchannelOnline(Int_t module, Int_t column, Int_t row) const;
      40             :   Float_t GetADCchannelDecal (Int_t module, Int_t column, Int_t row) const;
      41             :   Float_t GetADCpedestal     (Int_t module, Int_t column, Int_t row) const;
      42             : 
      43           0 :   Float_t GetADCchannelRef   () const { return fADCchannelRef ; }
      44             : 
      45             :   void    SetADCchannel      (Int_t module, Int_t column, Int_t row, Float_t value);
      46             :   void    SetADCchannelOnline(Int_t module, Int_t column, Int_t row, Float_t value);
      47             :   void    SetADCchannelDecal (Int_t module, Int_t column, Int_t row, Float_t value);
      48             :   void    SetADCpedestal     (Int_t module, Int_t column, Int_t row, Float_t value);
      49             :   
      50           0 :   void    SetADCchannelRef   (Float_t value) { fADCchannelRef = value ; }
      51             :   
      52             :   // Do not use, please use AliEMCALTimeCalib, keep for backward compatibility reasons  
      53             :   Float_t GetTimeChannelDecal(Int_t module, Int_t column, Int_t row) const;
      54             :   Float_t GetTimeChannel     (Int_t module, Int_t column, Int_t row, Int_t bc) const;
      55             :   
      56             :   void    SetTimeChannelDecal(Int_t module, Int_t column, Int_t row, Float_t value);
      57             :   void    SetTimeChannel     (Int_t module, Int_t column, Int_t row, Int_t bc, Float_t value);
      58             : 
      59             : 
      60             :   static const int fgkECALModules  = 12;   // number of modules in EMCAL
      61             :   static const int fgkDCALModules  = 10;   // number of modules in DCAL 8+2 in possible future
      62             :   
      63             :  protected:
      64             : 
      65             :   Float_t  fADCchannelRef ;  /// base value of the ADC channel set from cosmics calibration, not to be used, instead use fADCchannelOnline
      66             : 
      67             :   Float_t  fADCchannel          [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// width of one ADC channel in GeV ([mod][col][row])
      68             :   Float_t  fADCchannelOnline    [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// width of one ADC channel in GeV obtained from the voltage settings online
      69             :   Float_t  fADCchannelDecal     [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// decalibrate width of one ADC channel in GeV ([mod][col][row])
      70             :   Float_t  fADCpedestal         [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// value of the  ADC pedestal ([mod][col][row]), not used
      71             :                                                                                                                         
      72             :   // Do not use, please use AliEMCALTimeCalib, keep for backward compatibility reasons  
      73             :   Float_t  fTimeChannelDecal    [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// time shift of one ADC channel ([mod][col][row])
      74             :   Float_t  fTimeChannel         [fgkECALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; /// time shift of one ADC channel ([mod][col][row][bunch crossing number])
      75             : 
      76             :   // Add specific arrays for DCal to avoid backward incompatibilities,
      77             :   // dimension of DCal SM is smaller than EMCAL but assume the same to avoid complications due to partial SM
      78             :   Float_t  fADCchannelDCAL      [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// width of one ADC channel in GeV ([mod][col][row])
      79             :   Float_t  fADCchannelOnlineDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// width of one ADC channel in GeV  obtained from the voltage settings online
      80             :   Float_t  fADCchannelDecalDCAL [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// decalibrate width of one ADC channel in GeV ([mod][col][row])
      81             :   Float_t  fADCpedestalDCAL     [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// value of the  ADC pedestal ([mod][col][row]), not used
      82             :  
      83             :   // Do not use, please use AliEMCALTimeCalib, keep for backward compatibility reasons  
      84             :   Float_t  fTimeChannelDecalDCAL[fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows]    ; /// time shift of one ADC channel ([mod][col][row])
      85             :   Float_t  fTimeChannelDCAL     [fgkDCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows][4] ; /// time shift of one ADC channel ([mod][col][row][bunch crossing number])
      86             : 
      87             :   /// \cond CLASSIMP
      88          66 :   ClassDef(AliEMCALCalibData,6);   
      89             :   /// \endcond
      90             : 
      91             : };
      92             : 
      93             : #endif // ALIEMCALCALIBDATA_H
      94             : 
      95             : 

Generated by: LCOV version 1.11