From fa5c76d35ade529fe4e0d7e850ad6a088cdda91c Mon Sep 17 00:00:00 2001 From: Stefano Rosati Date: Wed, 9 Oct 2019 00:04:55 +0200 Subject: [PATCH 1/5] fixing mutable in MuonByteStream --- .../MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx | 8 ++++---- .../MuonCnv/MuonByteStream/src/MuonCacheCreator.h | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx index 50f2436bf5a..5ff518fb39e 100644 --- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx +++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx @@ -16,13 +16,13 @@ MuonCacheCreator::MuonCacheCreator(const std::string &name,ISvcLocator *pSvcLoca m_MdtCsmCacheKey(""), m_CscCacheKey(""), m_RpcCacheKey(""), - m_TgcCacheKey("") + m_TgcCacheKey(""), + m_disableWarningCheck(false) { declareProperty("MdtCsmCacheKey", m_MdtCsmCacheKey); declareProperty("CscCacheKey", m_CscCacheKey); declareProperty("RpcCacheKey", m_RpcCacheKey); declareProperty("TgcCacheKey", m_TgcCacheKey); - declareProperty("DisableViewWarning", m_disableWarning); } MuonCacheCreator::~MuonCacheCreator() { @@ -47,12 +47,12 @@ bool MuonCacheCreator::isInsideView(const EventContext& context) const StatusCode MuonCacheCreator::execute (const EventContext& ctx) const { - if(!m_disableWarning){ + if(!m_disableWarningCheck and !m_disableWarning.value()){ if(isInsideView(ctx)){ ATH_MSG_ERROR("CacheCreator is running inside a view, this is probably a misconfiguration"); return StatusCode::FAILURE; } - m_disableWarning = true; //only check once + m_disableWarningCheck = true; //only check once } // Create the MDT cache container auto maxHashMDTs = m_muonIdHelperTool->mdtIdHelper().stationNameIndex("BME") != -1 ? m_muonIdHelperTool->mdtIdHelper().detectorElement_hash_max() : m_muonIdHelperTool->mdtIdHelper().module_hash_max(); diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h index 9f653f7e61e..99be4d3e213 100644 --- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h +++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h @@ -13,6 +13,7 @@ #include "MuonIdHelpers/MuonIdHelperTool.h" +#include class MuonCacheCreator : public AthReentrantAlgorithm { public: @@ -40,8 +41,9 @@ protected: SG::WriteHandleKey m_TgcCacheKey; /// ID helpers ToolHandle m_muonIdHelperTool{this, "idHelper", - "Muon::MuonIdHelperTool/MuonIdHelperTool", "Handle to the MuonIdHelperTool"}; - mutable bool m_disableWarning = false; + "Muon::MuonIdHelperTool/MuonIdHelperTool", "Handle to the MuonIdHelperTool"}; + BooleanProperty m_disableWarning{this,"DisableViewWarning",false}; + mutable std::atomic_bool m_disableWarningCheck; bool isInsideView(const EventContext&) const; };//class MuonCacheCreator -- GitLab From 1365c51d28a189d19cc530e1450ef189a59e9fe3 Mon Sep 17 00:00:00 2001 From: Stefano Rosati Date: Wed, 9 Oct 2019 02:10:49 +0200 Subject: [PATCH 2/5] cleaning up MuonCSC_CnvTools --- .../MuonCSC_CnvTools/ICSC_RDO_Decoder.h | 6 +++--- .../MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx | 6 +++--- .../MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h | 10 ++++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h index 12c7102ccdf..1f380141468 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h @@ -23,9 +23,9 @@ public: DeclareInterfaceID(ICSC_RDO_Decoder, 1, 0); virtual void getDigit(const CscRawData * rawData, Identifier& moduleId, - Identifier& channelId, double& adc, double& time) const=0; - virtual Identifier stationIdentifier(const CscRawData* rawData) const=0; - virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const=0; + Identifier& channelId, double& adc, double& time) =0; + virtual Identifier stationIdentifier(const CscRawData* rawData) =0; + virtual Identifier channelIdentifier(const CscRawData * rawData, int j) =0; }; } diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx index b0ec52627aa..6d3d8c64d3b 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx @@ -56,7 +56,7 @@ StatusCode Muon::CscRDO_Decoder::initialize() void Muon::CscRDO_Decoder::getDigit(const CscRawData * rawData, Identifier& moduleId, Identifier& channelId, - double& adc, double& time) const { + double& adc, double& time) { // get the raw data uint32_t address = rawData->address(); @@ -75,7 +75,7 @@ void Muon::CscRDO_Decoder::getDigit(const CscRawData * rawData, -Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) const +Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) { /** get the raw data */ uint32_t address = rawData->address(); @@ -88,7 +88,7 @@ Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) c return m_rodReadOut.decodeAddress(); } -Identifier Muon::CscRDO_Decoder::channelIdentifier(const CscRawData * rawData, int j) const +Identifier Muon::CscRDO_Decoder::channelIdentifier(const CscRawData * rawData, int j) { /** get the raw data */ uint32_t address = rawData->address(); diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h index 73ccd988d09..1e8eb8b186e 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h @@ -21,6 +21,8 @@ #include #include #include +#include + #include "CscRODReadOut.h" class Identifier; @@ -48,9 +50,9 @@ namespace Muon { virtual StatusCode initialize() override final; virtual void getDigit(const CscRawData * rawData, Identifier& moduleId, - Identifier& channelId, double& adc, double& time) const override final; - virtual Identifier stationIdentifier(const CscRawData* rawData) const override final; - virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const override final; + Identifier& channelId, double& adc, double& time) override final; + virtual Identifier stationIdentifier(const CscRawData* rawData) override final; + virtual Identifier channelIdentifier(const CscRawData * rawData, int j) override final; private: std::string m_detdescr; @@ -62,7 +64,7 @@ namespace Muon { double m_samplingTime ; double m_signalWidth ; // the read out structure - mutable CscRODReadOut m_rodReadOut; + CscRODReadOut m_rodReadOut; }; } -- GitLab From 283a87338bbe704189df916acbb154ba88f5e4e4 Mon Sep 17 00:00:00 2001 From: Stefano Rosati Date: Wed, 9 Oct 2019 14:53:31 +0200 Subject: [PATCH 3/5] migrating MuonCSC_CnvTools --- .../MuonCSC_CnvTools/ICSC_RDO_Decoder.h | 6 +-- .../MuonCSC_CnvTools/src/CscRDO_Decoder.cxx | 9 +++-- .../MuonCSC_CnvTools/src/CscRDO_Decoder.h | 12 +++--- .../MuonCSC_CnvTools/src/CscRODReadOut.h | 37 ++++++++++--------- 4 files changed, 34 insertions(+), 30 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h index 1f380141468..f2d3add6c51 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h @@ -23,9 +23,9 @@ public: DeclareInterfaceID(ICSC_RDO_Decoder, 1, 0); virtual void getDigit(const CscRawData * rawData, Identifier& moduleId, - Identifier& channelId, double& adc, double& time) =0; - virtual Identifier stationIdentifier(const CscRawData* rawData) =0; - virtual Identifier channelIdentifier(const CscRawData * rawData, int j) =0; + Identifier& channelId, double& adc, double& time) const =0; + virtual Identifier stationIdentifier(const CscRawData* rawData) const =0; + virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const =0; }; } diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx index 6d3d8c64d3b..06d5acf038e 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.cxx @@ -56,8 +56,9 @@ StatusCode Muon::CscRDO_Decoder::initialize() void Muon::CscRDO_Decoder::getDigit(const CscRawData * rawData, Identifier& moduleId, Identifier& channelId, - double& adc, double& time) { + double& adc, double& time) const { + std::lock_guard lockGuard(m_mutex); // get the raw data uint32_t address = rawData->address(); @@ -75,8 +76,9 @@ void Muon::CscRDO_Decoder::getDigit(const CscRawData * rawData, -Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) +Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) const { + std::lock_guard lockGuard(m_mutex); /** get the raw data */ uint32_t address = rawData->address(); @@ -88,8 +90,9 @@ Identifier Muon::CscRDO_Decoder::stationIdentifier(const CscRawData * rawData) return m_rodReadOut.decodeAddress(); } -Identifier Muon::CscRDO_Decoder::channelIdentifier(const CscRawData * rawData, int j) +Identifier Muon::CscRDO_Decoder::channelIdentifier(const CscRawData * rawData, int j) const { + std::lock_guard lockGuard(m_mutex); /** get the raw data */ uint32_t address = rawData->address(); diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h index 1e8eb8b186e..e2ecf3ec941 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRDO_Decoder.h @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include "CscRODReadOut.h" @@ -50,9 +50,9 @@ namespace Muon { virtual StatusCode initialize() override final; virtual void getDigit(const CscRawData * rawData, Identifier& moduleId, - Identifier& channelId, double& adc, double& time) override final; - virtual Identifier stationIdentifier(const CscRawData* rawData) override final; - virtual Identifier channelIdentifier(const CscRawData * rawData, int j) override final; + Identifier& channelId, double& adc, double& time) const override final; + virtual Identifier stationIdentifier(const CscRawData* rawData) const override final; + virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const override final; private: std::string m_detdescr; @@ -64,8 +64,8 @@ namespace Muon { double m_samplingTime ; double m_signalWidth ; // the read out structure - CscRODReadOut m_rodReadOut; - + mutable CscRODReadOut m_rodReadOut ATLAS_THREAD_SAFE; // guarded by m_mutex + mutable std::mutex m_mutex; }; } diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h index c3611f427a0..ec167173bc4 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h @@ -12,6 +12,7 @@ #include #include #include +#include // TGC ROD encoder/decoder for CscRDO // Author Ketevi A. Assamagan @@ -102,24 +103,24 @@ private: } const Muon::MuonIdHelperTool* m_muonIdHelperTool; - uint16_t m_sourceID; - uint16_t m_moduleType; - uint16_t m_rodId; - uint16_t m_subDetectorId; - uint16_t m_amp1; - uint16_t m_amp2; - uint32_t m_address; - uint32_t m_chamberBitValue; - double m_norm; - - double m_TIME_OFFSET; - double m_SIGNAL_WIDTH; - double m_SAMPLING_TIME; - int m_NUMBER_OF_INTEGRATION; - double m_CHARGE_TO_ADC_COUNT; - double m_Z0; - - uint32_t m_TRIGGER_INFO[3]; + std::atomic m_sourceID; + std::atomic m_moduleType; + std::atomic m_rodId; + std::atomic m_subDetectorId; + std::atomic m_amp1; + std::atomic m_amp2; + std::atomic m_address; + std::atomic m_chamberBitValue; + std::atomic m_norm; + + std::atomic m_TIME_OFFSET; + std::atomic m_SIGNAL_WIDTH; + std::atomic m_SAMPLING_TIME; + std::atomic m_NUMBER_OF_INTEGRATION; + std::atomic m_CHARGE_TO_ADC_COUNT; + std::atomic m_Z0; + + std::atomic m_TRIGGER_INFO[3]; static const uint32_t ROD_HEADER_SIZE = 12; -- GitLab From 1b05d202a3b84df46d1e836ed049cd5e62f99727 Mon Sep 17 00:00:00 2001 From: Stefano Rosati Date: Wed, 9 Oct 2019 15:13:47 +0200 Subject: [PATCH 4/5] fix in the ROD readout --- .../MuonCSC_CnvTools/ICSC_RDO_Decoder.h | 6 ++-- .../MuonCSC_CnvTools/src/CscRODReadOut.h | 36 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h index f2d3add6c51..12c7102ccdf 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/MuonCSC_CnvTools/ICSC_RDO_Decoder.h @@ -23,9 +23,9 @@ public: DeclareInterfaceID(ICSC_RDO_Decoder, 1, 0); virtual void getDigit(const CscRawData * rawData, Identifier& moduleId, - Identifier& channelId, double& adc, double& time) const =0; - virtual Identifier stationIdentifier(const CscRawData* rawData) const =0; - virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const =0; + Identifier& channelId, double& adc, double& time) const=0; + virtual Identifier stationIdentifier(const CscRawData* rawData) const=0; + virtual Identifier channelIdentifier(const CscRawData * rawData, int j) const=0; }; } diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h index ec167173bc4..543ed0ef69f 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRODReadOut.h @@ -103,24 +103,24 @@ private: } const Muon::MuonIdHelperTool* m_muonIdHelperTool; - std::atomic m_sourceID; - std::atomic m_moduleType; - std::atomic m_rodId; - std::atomic m_subDetectorId; - std::atomic m_amp1; - std::atomic m_amp2; - std::atomic m_address; - std::atomic m_chamberBitValue; - std::atomic m_norm; - - std::atomic m_TIME_OFFSET; - std::atomic m_SIGNAL_WIDTH; - std::atomic m_SAMPLING_TIME; - std::atomic m_NUMBER_OF_INTEGRATION; - std::atomic m_CHARGE_TO_ADC_COUNT; - std::atomic m_Z0; - - std::atomic m_TRIGGER_INFO[3]; + uint16_t m_sourceID; + uint16_t m_moduleType; + uint16_t m_rodId; + uint16_t m_subDetectorId; + uint16_t m_amp1; + uint16_t m_amp2; + uint32_t m_address; + uint32_t m_chamberBitValue; + double m_norm; + + double m_TIME_OFFSET; + double m_SIGNAL_WIDTH; + double m_SAMPLING_TIME; + int m_NUMBER_OF_INTEGRATION; + double m_CHARGE_TO_ADC_COUNT; + double m_Z0; + + uint32_t m_TRIGGER_INFO[3]; static const uint32_t ROD_HEADER_SIZE = 12; -- GitLab From c387b7c81d7a9e8bf9b744392cfb786f6b14433c Mon Sep 17 00:00:00 2001 From: Stefano Rosati Date: Thu, 10 Oct 2019 19:08:06 +0200 Subject: [PATCH 5/5] some MT-safe fixes in MuonCnv --- .../MuonCnv/MuonCSC_CnvTools/src/CscRdoToCscPrepDataTool.cxx | 1 - .../MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p2.h | 4 ++-- .../MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p3.h | 4 ++-- .../src/MuonTrigCoinData/TgcCoinDataCnv_p2.cxx | 5 ++--- .../src/MuonTrigCoinData/TgcCoinDataCnv_p3.cxx | 5 ++--- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRdoToCscPrepDataTool.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRdoToCscPrepDataTool.cxx index c7a61117770..68838c6ab39 100644 --- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRdoToCscPrepDataTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscRdoToCscPrepDataTool.cxx @@ -280,7 +280,6 @@ StatusCode CscRdoToCscPrepDataTool::decode(const CscRawDataContainer* rdoContain //Hack for transition to athenaMT classes CscStripPrepDataCollection * oldCollection = const_cast( *it_coll ); - collection = oldCollection; cscHashId = collection->identifyHash(); } diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p2.h b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p2.h index 37cfe33e521..28a5ba7e05f 100755 --- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p2.h +++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p2.h @@ -27,7 +27,7 @@ class TgcCoinDataCnv_p2 { public: // TgcCoinDataCnv_p2() : m_coindataCnv(0) {} - TgcCoinDataCnv_p2() : m_localPosCnv(0), m_errorMxCnv(0) {} + TgcCoinDataCnv_p2() : m_localPosCnv(0), m_errorMxCnv(0), m_numErrsPrinted(0) {} void persToTrans( const Muon::TgcCoinData_p2 *persObj, Muon::TgcCoinData *transObj, @@ -39,7 +39,7 @@ public: protected: LocalPositionCnv_p1 *m_localPosCnv; ErrorMatrixCnv_p1 *m_errorMxCnv; - + unsigned int m_numErrsPrinted; }; #endif diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p3.h b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p3.h index fb0fe84f039..e73f06ccca8 100755 --- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p3.h +++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/MuonEventTPCnv/MuonTrigCoinData/TgcCoinDataCnv_p3.h @@ -26,7 +26,7 @@ class TgcCoinDataCnv_p3 { public: // TgcCoinDataCnv_p3() : m_coindataCnv(0) {} - TgcCoinDataCnv_p3() : m_localPosCnv(0), m_errorMxCnv(0) {} + TgcCoinDataCnv_p3() : m_localPosCnv(0), m_errorMxCnv(0), m_numErrsPrinted(0) {} void persToTrans( const Muon::TgcCoinData_p3 *persObj, Muon::TgcCoinData *transObj, @@ -38,7 +38,7 @@ public: protected: LocalPositionCnv_p1 *m_localPosCnv; ErrorMatrixCnv_p1 *m_errorMxCnv; - + unsigned int m_numErrsPrinted; }; #endif diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/src/MuonTrigCoinData/TgcCoinDataCnv_p2.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/src/MuonTrigCoinData/TgcCoinDataCnv_p2.cxx index 09c213de1cc..b61c59755e3 100755 --- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/src/MuonTrigCoinData/TgcCoinDataCnv_p2.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/src/MuonTrigCoinData/TgcCoinDataCnv_p2.cxx @@ -124,9 +124,8 @@ transToPers( const Muon::TgcCoinData *transObj, Muon::TgcCoinData_p2 *persObj, M if (transObj->hasErrMat() ) { if (! transObj->errMat().cols() || !transObj->errMat().rows()) { - static unsigned int numErrsPrinted=0; - if (numErrsPrinted<10) { - numErrsPrinted++; + if (m_numErrsPrinted<10) { + m_numErrsPrinted++; log << MSG::WARNING << "Have been given a TgcCoinData error matrix with size = [" <errMat().rows()<<","<errMat().cols()<<"]. Skipping writing of the matrix."<hasErrMat() ) { if (! transObj->errMat().cols() || !transObj->errMat().rows()) { - static unsigned int numErrsPrinted=0; - if (numErrsPrinted<10) { - numErrsPrinted++; + if (m_numErrsPrinted<10) { + m_numErrsPrinted++; log << MSG::WARNING << "Have been given a TgcCoinData error matrix with size = [" <errMat().rows()<<","<errMat().cols()<<"]. Skipping writing of the matrix."<