X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONDigitCalibrator.h;h=92010fa37b4f02c8150af9c435ad3f66fa4e6659;hb=823152abfcb68985c8355abcdbcd93273cd8f4c7;hp=cd688651eba7eda5db03e83fe4fe3e7b84b7fb98;hpb=1171bb0a14789228a447f05dcafead1e5c65dcf3;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONDigitCalibrator.h b/MUON/AliMUONDigitCalibrator.h index cd688651eba..92010fa37b4 100644 --- a/MUON/AliMUONDigitCalibrator.h +++ b/MUON/AliMUONDigitCalibrator.h @@ -7,35 +7,55 @@ /// \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 TExMap; + +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*); - -protected: - AliMUONDigitCalibrator(const AliMUONDigitCalibrator& other); - AliMUONDigitCalibrator& operator=(const AliMUONDigitCalibrator& other); - + virtual void Calibrate(AliMUONVDigitStore& digitStore); + private: - AliMUONData* fData; //! - AliMUONCalibrationData* fCalibrationData; //! - - ClassDef(AliMUONDigitCalibrator,1) // Subtract pedestal from digit charge. + /// Not implemented + AliMUONDigitCalibrator(const AliMUONDigitCalibrator& other); + /// Not implemented + AliMUONDigitCalibrator& operator=(const AliMUONDigitCalibrator& other); + + virtual void CalibrateDigit(AliMUONVDigit& digit, Double_t nsigmas); + +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,7) // Calibrate raw digit }; #endif