008238ad84c1cb39d04f559fcb9b72d8cb318b4e
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitCalibrator.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice                               */
3
4 // $Id$
5
6 /// \ingroup rec
7 /// \class AliMUONDigitCalibrator
8 /// \brief Class to calibrate the digits
9 /// 
10 //  Author Laurent Aphecetche
11
12 #ifndef ALIMUONDIGITCALIBRATOR_H
13 #define ALIMUONDIGITCALIBRATOR_H
14
15 #ifndef ROOT_TObject
16 #include "TObject.h"
17 #endif
18
19 class AliMUONCalibrationData;
20 class AliMUONLogger;
21 class AliMUONVStore;
22 class AliMUONVDigitStore;
23 class AliMUONVDigit;
24 class AliMUONPadStatusMaker;
25 class AliMUONPadStatusMapMaker;
26
27 class AliMUONDigitCalibrator : public TObject
28 {
29 public:
30   AliMUONDigitCalibrator(const AliMUONCalibrationData& calib);
31   
32   virtual ~AliMUONDigitCalibrator();
33   
34   virtual void Calibrate(AliMUONVDigitStore& digitStore);
35     
36 private:    
37     /// Not implemented
38     AliMUONDigitCalibrator(const AliMUONDigitCalibrator& other);
39     /// Not implemented
40     AliMUONDigitCalibrator& operator=(const AliMUONDigitCalibrator& other);
41
42     virtual void CalibrateDigit(AliMUONVDigit& digit);
43
44 private:
45     AliMUONLogger* fLogger; //!< to log repeated messages
46     AliMUONPadStatusMaker* fStatusMaker; //!< to build pad statuses
47     AliMUONPadStatusMapMaker* fStatusMapMaker; //!< to build status map
48     AliMUONVStore* fPedestals; //!< pedestal values
49     AliMUONVStore* fGains; //!< gain values
50     
51   ClassDef(AliMUONDigitCalibrator,4) // Calibrate raw digit
52 };
53
54 #endif