- Added a protection in the recursive method AliMUONPreClusterFinder::Add,
[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 class TExMap;
27
28 class AliMUONDigitCalibrator : public TObject
29 {
30 public:
31   AliMUONDigitCalibrator(const AliMUONCalibrationData& calib, const char* calibMode="NOGAIN");
32   
33   virtual ~AliMUONDigitCalibrator();
34   
35   virtual void Calibrate(AliMUONVDigitStore& digitStore);
36     
37 private:    
38     /// Not implemented
39     AliMUONDigitCalibrator(const AliMUONDigitCalibrator& other);
40     /// Not implemented
41     AliMUONDigitCalibrator& operator=(const AliMUONDigitCalibrator& other);
42
43     virtual void CalibrateDigit(AliMUONVDigit& digit, Double_t nsigmas);
44
45 private:
46     AliMUONLogger* fLogger; //!< to log repeated messages
47     AliMUONPadStatusMaker* fStatusMaker; //!< to build pad statuses
48     AliMUONPadStatusMapMaker* fStatusMapMaker; //!< to build status map
49     AliMUONVStore* fPedestals; //!< pedestal values
50     AliMUONVStore* fGains; //!< gain values
51     Int_t fApplyGains; //!< whether we should apply gains or not, capa or not...
52     AliMUONVStore* fCapacitances; //!< capa values
53     TExMap* fNofChannelsPerDE; //!< store nof channels within detection elements
54     
55     static const Int_t fgkNoGain; //!< do not apply gain calib at all
56     static const Int_t fgkGainConstantCapa; //!< apply gain (from OCDB) with constant capa
57     static const Int_t fgkGain; //!< apply gain and capa (from OCDB)
58     
59   ClassDef(AliMUONDigitCalibrator,6) // Calibrate raw digit
60 };
61
62 #endif