]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONCalibrationData.h
- Removed not implemented methods AddData(), GetGlobalTriggerPattern
[u/mrichter/AliRoot.git] / MUON / AliMUONCalibrationData.h
CommitLineData
c5bdf179 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
c3ce65fd 8/// \brief Single entry point to access MUON calibration data.
c5bdf179 9///
5398f946 10// Author Laurent Aphecetche
c5bdf179 11
12#ifndef ALIMUONCALIBRATIONDATA_H
13#define ALIMUONCALIBRATIONDATA_H
14
15#ifndef ROOT_TObject
16#include "TObject.h"
17#endif
18
19class AliCDBEntry;
e7d7fa47 20class AliMUONTriggerEfficiencyCells;
21class AliMUONTriggerLut;
22class AliMUONV1DStore;
c3ce65fd 23class AliMUONV2DStore;
e7d7fa47 24class AliMUONVCalibParam;
48ed403b 25class TMap;
c5bdf179 26
27class AliMUONCalibrationData : public TObject
28{
29public:
c3ce65fd 30 /** Constructor.
31 * @param runNumber is used as a key to the CDB
32 * @param deferredInitialization if kFALSE, all the calibrations are fetched
33 * regardless of whether you'll use them or not.
34 */
c5bdf179 35 AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE);
36 virtual ~AliMUONCalibrationData();
c3ce65fd 37
48ed403b 38 AliMUONV2DStore* Gains() const;
c5bdf179 39
c3ce65fd 40 /// Get the Gain calibration object for channels within (detElemId,manuId).
e7d7fa47 41 AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const;
42
43 /// Get the mask for the global trigger board.
44 AliMUONVCalibParam* GlobalTriggerBoardMasks() const;
c3ce65fd 45
e7d7fa47 46 /// Get the mask for a given local trigger board.
47 AliMUONVCalibParam* LocalTriggerBoardMasks(Int_t localBoardNumber) const;
48ed403b 48
49 /// Get the HV values
50 TMap* HV() const;
e7d7fa47 51
c3ce65fd 52 /// Whether this object is valid or not (might be invalid if fetching from CDB failed).
53 Bool_t IsValid() const { return fIsValid; }
c5bdf179 54
48ed403b 55 AliMUONV2DStore* Pedestals() const;
56
c3ce65fd 57 /// Get the Pedestal calibration object for channels within (detElemId,manuId).
e7d7fa47 58 AliMUONVCalibParam* Pedestals(Int_t detElemId, Int_t manuId) const;
c5bdf179 59
c3ce65fd 60 /// Dump to screen.
c5bdf179 61 virtual void Print(Option_t* opt="") const;
e7d7fa47 62
63 /// Get the mask for a given regional trigger board.
64 AliMUONVCalibParam* RegionalTriggerBoardMasks(Int_t index) const;
65
c3ce65fd 66 /// The runnumber used by this object.
67 Int_t RunNumber() const { return fRunNumber; }
c5bdf179 68
e7d7fa47 69 /// Get the trigger Look Up Table.
70 AliMUONTriggerLut* TriggerLut() const;
71
72 /// Get the trigger efficiency map
73 AliMUONTriggerEfficiencyCells* TriggerEfficiency() const;
74
884a73f1 75protected:
e7d7fa47 76 AliMUONCalibrationData(const AliMUONCalibrationData& other);
77 AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other);
78
c5bdf179 79private:
80 AliCDBEntry* GetEntry(const char* path) const;
e7d7fa47 81 AliMUONV2DStore* OnDemandGains() const;
82 AliMUONV2DStore* OnDemandPedestals() const;
48ed403b 83 TMap* OnDemandHV() const;
e7d7fa47 84 AliMUONVCalibParam* OnDemandGlobalTriggerBoardMasks() const;
85 AliMUONV1DStore* OnDemandRegionalTriggerBoardMasks() const;
86 AliMUONV1DStore* OnDemandLocalTriggerBoardMasks() const;
87 AliMUONTriggerLut* OnDemandTriggerLut() const;
88 AliMUONTriggerEfficiencyCells* OnDemandTriggerEfficiency() const;
c3ce65fd 89
c5bdf179 90private:
e7d7fa47 91 mutable Bool_t fIsValid; // Whether we were able to correctly initialize
92 Int_t fRunNumber; // The run number for which we hold calibrations
c3ce65fd 93 mutable AliMUONV2DStore* fGains; //!
94 mutable AliMUONV2DStore* fPedestals; //!
48ed403b 95 mutable TMap* fHV; //!
e7d7fa47 96 mutable AliMUONV1DStore* fLocalTriggerBoardMasks; //!
97 mutable AliMUONV1DStore* fRegionalTriggerBoardMasks; //!
98 mutable AliMUONVCalibParam* fGlobalTriggerBoardMasks; //!
99 mutable AliMUONTriggerLut* fTriggerLut; //!
100 mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!
c5bdf179 101
48ed403b 102 ClassDef(AliMUONCalibrationData,4) // Storage for all MUON calibration data.
c5bdf179 103};
104
105#endif