LCOV - code coverage report
Current view: top level - PHOS/PHOSbase - AliPHOSCalibData.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 5 60.0 %
Date: 2016-06-14 17:26:59 Functions: 3 9 33.3 %

          Line data    Source code
       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 AliPHOSEmcBadChannelsMap;
      19             : class AliPHOSCpvBadChannelsMap;
      20             : class AliCDBMetaData;
      21             : 
      22             : class AliPHOSCalibData: public TNamed {
      23             : 
      24             :  public:
      25             :   AliPHOSCalibData();
      26             :   AliPHOSCalibData(Int_t runNumber);
      27             :   AliPHOSCalibData(AliPHOSCalibData & phosCDB);
      28             :   virtual ~AliPHOSCalibData();
      29             : 
      30             :   AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
      31             : 
      32             :   void Reset();
      33             :   virtual void Print(Option_t *option = "") const; 
      34             : 
      35          12 :   AliPHOSEmcCalibData *GetCalibDataEmc() const {return fCalibDataEmc;}
      36          12 :   AliPHOSCpvCalibData *GetCalibDataCpv() const {return fCalibDataCpv;}
      37             :   
      38             :   void CreateNew();
      39             :   void RandomEmc(Float_t ccMin=0.5   , Float_t ccMax=1.5);
      40             :   void RandomCpv(Float_t ccMin=0.5, Float_t ccMax=2.);
      41             : 
      42             :   //----First EMC parameters---------
      43             :   Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
      44             :   void    SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
      45             : 
      46             :   Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
      47             :   void    SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
      48             : 
      49             :   Float_t GetHighLowRatioEmc(Int_t module, Int_t column, Int_t row) const ;
      50             :   void    SetHighLowRatioEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
      51             :   
      52             :   Float_t GetTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
      53             :   void    SetTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
      54             : 
      55             :   Float_t GetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
      56             :   void    SetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
      57             : 
      58             :   Int_t  GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
      59             :   void   SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ;
      60             : 
      61             :   Float_t GetSampleTimeStep() const ;
      62             :   void    SetSampleTimeStep(Float_t step) ;
      63             : 
      64             :   //----Now CPV parameters-----------
      65             :   Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
      66             :   void    SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
      67             : 
      68             :   Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
      69             :   void    SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
      70             : 
      71             :   //----Bad channels map-------------
      72             :   Int_t  GetNumOfEmcBadChannels() const;
      73             :   Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const; 
      74             :   void   EmcBadChannelIds(Int_t *badIds=0); 
      75             : 
      76             :   Int_t  GetNumOfCpvBadChannels() const;
      77             :   Bool_t IsBadChannelCpv(Int_t module, Int_t col, Int_t row) const; 
      78             :   void   CpvBadChannelIds(Int_t *badIds=0); 
      79             : 
      80             : 
      81           0 :   void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
      82           0 :   void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
      83             : 
      84             :   Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
      85             :   Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
      86             :   Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
      87             :   Bool_t WriteCpvBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
      88             : 
      89             : 
      90             :   //----Decalibration factors for simulation-------------
      91             :   Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const;
      92             :   void    SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value);  
      93             :   
      94             :  private:
      95             : 
      96             :   AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
      97             :   AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
      98             :   AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
      99             :   AliPHOSCpvBadChannelsMap* fCpvBadChannelsMap; // CPV bad channels map
     100             : 
     101             :   TString fEmcDataPath; // path to EMC calibration data
     102             :   TString fCpvDataPath; // path to CPV calibration data
     103             :   TString fEmcBadChannelsMapPath; // path to bad channels map
     104             :   TString fCpvBadChannelsMapPath; // path to bad channels map
     105             : 
     106          22 :   ClassDef(AliPHOSCalibData,7)    // PHOS Calibration data
     107             : };
     108             : 
     109             : #endif

Generated by: LCOV version 1.11