X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONDigitCalibrator.h;h=e64c5b341e8a23c1b7469558ec22db12d43558a8;hb=faf707c8f73e7cce9efc93f8da55ec3807e4ca30;hp=83c2a38989ce2b3700bfa13cebad86abe6e793dc;hpb=f51d54cb3976eddcd8cba50fcd4b8b4b80ede228;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONDigitCalibrator.h b/MUON/AliMUONDigitCalibrator.h index 83c2a38989c..e64c5b341e8 100644 --- a/MUON/AliMUONDigitCalibrator.h +++ b/MUON/AliMUONDigitCalibrator.h @@ -7,34 +7,54 @@ /// \class AliMUONDigitCalibrator /// \brief Class to calibrate the digits /// -/// \author Laurent Aphecetche +// Author Laurent Aphecetche -#ifndef AliMUONDigitCalibrator_H -#define AliMUONDigitCalibrator_H +#ifndef ALIMUONDIGITCALIBRATOR_H +#define ALIMUONDIGITCALIBRATOR_H -#ifndef ROOT_TTask -#include "TTask.h" +#ifndef ROOT_TObject +#include "TObject.h" #endif class AliMUONCalibrationData; -class AliMUONData; - -class AliMUONDigitCalibrator : public TTask +class AliMUONLogger; +class AliMUONVStore; +class AliMUONVDigitStore; +class AliMUONVDigit; +class AliMUONPadStatusMaker; +class AliMUONPadStatusMapMaker; + +class AliMUONDigitCalibrator : public TObject { public: - AliMUONDigitCalibrator(AliMUONData* data, AliMUONCalibrationData* calib); + AliMUONDigitCalibrator(const AliMUONCalibrationData& calib, const char* calibMode="NOGAIN"); + virtual ~AliMUONDigitCalibrator(); - virtual void Exec(Option_t*); - + virtual void Calibrate(AliMUONVDigitStore& digitStore); + private: + /// Not implemented AliMUONDigitCalibrator(const AliMUONDigitCalibrator& other); + /// Not implemented AliMUONDigitCalibrator& operator=(const AliMUONDigitCalibrator& other); - AliMUONData* fData; //!< MUON data - AliMUONCalibrationData* fCalibrationData; //!< Calibration data - - ClassDef(AliMUONDigitCalibrator,1) // Subtract pedestal from digit charge. + virtual void CalibrateDigit(AliMUONVDigit& digit); + +private: + AliMUONLogger* fLogger; //!< to log repeated messages + AliMUONPadStatusMaker* fStatusMaker; //!< to build pad statuses + AliMUONPadStatusMapMaker* fStatusMapMaker; //!< to build status map + AliMUONVStore* fPedestals; //!< pedestal values + AliMUONVStore* fGains; //!< gain values + Int_t fApplyGains; //!< whether we should apply gains or not, capa or not... + AliMUONVStore* fCapacitances; //!< capa values + + static const Int_t fgkNoGain; //!< do not apply gain calib at all + static const Int_t fgkGainConstantCapa; //!< apply gain (from OCDB) with constant capa + static const Int_t fgkGain; //!< apply gain and capa (from OCDB) + + ClassDef(AliMUONDigitCalibrator,5) // Calibrate raw digit }; #endif