From d067ba7c2caeb636b92fe36a0434cc6d7a32a914 Mon Sep 17 00:00:00 2001 From: ivana Date: Thu, 5 Apr 2007 09:21:54 +0000 Subject: [PATCH] Adding handling of neighbours (Laurent) --- MUON/AliMUONCalibrationData.cxx | 40 ++++++++++++++++++++++++++++++++- MUON/AliMUONCalibrationData.h | 6 ++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/MUON/AliMUONCalibrationData.cxx b/MUON/AliMUONCalibrationData.cxx index 5107cd96ae3..0be3ad8d01b 100644 --- a/MUON/AliMUONCalibrationData.cxx +++ b/MUON/AliMUONCalibrationData.cxx @@ -60,7 +60,8 @@ fRegionalTriggerBoardMasks(0x0), fGlobalTriggerBoardMasks(0x0), fTriggerLut(0x0), fTriggerEfficiency(0x0), -fCapacitances(0x0) +fCapacitances(0x0), +fNeighbours(0x0) { /// Default ctor. @@ -81,6 +82,7 @@ fCapacitances(0x0) OnDemandTriggerLut(); OnDemandTriggerEfficiency(); OnDemandCapacitances(); + OnDemandNeighbours(); } } @@ -159,6 +161,14 @@ AliMUONCalibrationData::Capacitances() const return OnDemandCapacitances(); } +//_____________________________________________________________________________ +AliMUONV2DStore* +AliMUONCalibrationData::Neighbours() const +{ + /// Create (if needed) and return the internal store for neighbours. + return OnDemandNeighbours(); +} + //_____________________________________________________________________________ AliMUONV2DStore* AliMUONCalibrationData::Gains() const @@ -167,6 +177,31 @@ AliMUONCalibrationData::Gains() const return OnDemandGains(); } +//_____________________________________________________________________________ +AliMUONV2DStore* +AliMUONCalibrationData::OnDemandNeighbours() const +{ + /// Create (if needed) and return the internal store for neighbours. + + if (!fNeighbours) + { + AliCDBEntry* entry = GetEntry("MUON/Calib/Neighbours"); + if (entry) + { + fNeighbours = dynamic_cast(entry->GetObject()); + if (!fNeighbours) + { + AliError("Neighbours not of the expected type !!!"); + } + } + else + { + AliError("Could not get neighbours !"); + } + } + return fNeighbours; +} + //_____________________________________________________________________________ AliMUONV1DStore* AliMUONCalibrationData::OnDemandCapacitances() const @@ -217,6 +252,7 @@ AliMUONCalibrationData::OnDemandGains() const return fGains; } + //_____________________________________________________________________________ AliMUONVCalibParam* AliMUONCalibrationData::GlobalTriggerBoardMasks() const @@ -505,6 +541,8 @@ AliMUONCalibrationData::Reset() fTriggerEfficiency = 0x0; delete fCapacitances; fCapacitances = 0x0; + delete fNeighbours; + fNeighbours = 0x0; } diff --git a/MUON/AliMUONCalibrationData.h b/MUON/AliMUONCalibrationData.h index 3edd7c190d2..5093468c8dd 100644 --- a/MUON/AliMUONCalibrationData.h +++ b/MUON/AliMUONCalibrationData.h @@ -35,6 +35,8 @@ public: AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE); virtual ~AliMUONCalibrationData(); + AliMUONV2DStore* Neighbours() const; + AliMUONV1DStore* Capacitances() const; AliMUONV2DStore* Gains() const; @@ -84,6 +86,7 @@ protected: private: AliCDBEntry* GetEntry(const char* path) const; + AliMUONV2DStore* OnDemandNeighbours() const; AliMUONV1DStore* OnDemandCapacitances() const; AliMUONV2DStore* OnDemandGains() const; AliMUONV2DStore* OnDemandPedestals() const; @@ -106,8 +109,9 @@ private: mutable AliMUONTriggerLut* fTriggerLut; //!< TRigger LUTs mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!< Trigger efficiency cells mutable AliMUONV1DStore* fCapacitances; //!< Manu capacitances + mutable AliMUONV2DStore* fNeighbours; //!< list of neighbours for all channels - ClassDef(AliMUONCalibrationData,5) // Storage for all MUON calibration data. + ClassDef(AliMUONCalibrationData,6) // Storage for all MUON calibration data. }; #endif -- 2.39.3