Single entry point to access pedestals and gains from the
[u/mrichter/AliRoot.git] / MUON / AliMUONCalibrationData.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 base
7 /// \class AliMUONCalibrationData
8 /// \brief Single entry point to access pedestals and gains from the
9 /// (de)calibrator or any class needing the calibration data
10 /// 
11 /// \author Laurent Aphecetche
12
13 #ifndef ALIMUONCALIBRATIONDATA_H
14 #define ALIMUONCALIBRATIONDATA_H
15
16 #ifndef ROOT_TObject
17 #include "TObject.h"
18 #endif
19
20 class AliCDBEntry;
21 class AliMUONCalibParam;
22 class AliMUONV3DStore;
23
24 class AliMUONCalibrationData : public TObject
25 {
26 public:
27   AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE);
28   virtual ~AliMUONCalibrationData();
29   
30   AliMUONCalibParam* Gain(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
31   
32   Bool_t IsValid() const;
33   
34   AliMUONCalibParam* Pedestal(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
35   
36   virtual void Print(Option_t* opt="") const;
37   
38   Int_t RunNumber() const;  
39   
40 private:
41   AliCDBEntry* GetEntry(const char* path) const;
42   AliMUONV3DStore* Gains() const;
43   AliMUONV3DStore* Pedestals() const;
44
45 private:  
46   mutable Bool_t fIsValid;
47   Int_t fRunNumber;
48   mutable AliMUONV3DStore* fGains; //!
49   mutable AliMUONV3DStore* fPedestals; //!
50   
51   ClassDef(AliMUONCalibrationData,1) // Storage for all MUON calibration data.
52 };
53
54 #endif