From 5d6f1c493d7444cfec64a65201ab7f909fcc8c98 Mon Sep 17 00:00:00 2001 From: Julian Pychy <julian@mred.ep1.rub.de> Date: Fri, 31 Oct 2014 16:39:20 +0100 Subject: [PATCH] fixed missing mutex --- PwaUtils/BreitWignerDynamics.hh | 1 - PwaUtils/KMatrixDynamics.hh | 1 - PwaUtils/KPiSWaveIso12Dynamics.hh | 1 - PwaUtils/PiPiSWaveASDynamics.cc | 14 +++++--------- PwaUtils/PiPiSWaveASDynamics.hh | 1 - 5 files changed, 5 insertions(+), 13 deletions(-) diff --git a/PwaUtils/BreitWignerDynamics.hh b/PwaUtils/BreitWignerDynamics.hh index 5f311440..b2cbd7fd 100644 --- a/PwaUtils/BreitWignerDynamics.hh +++ b/PwaUtils/BreitWignerDynamics.hh @@ -53,7 +53,6 @@ protected: double _currentMass; double _currentWidth; - std::map<int, complex<double> > _cachedMap; private: diff --git a/PwaUtils/KMatrixDynamics.hh b/PwaUtils/KMatrixDynamics.hh index 4b2a670c..b5b77820 100644 --- a/PwaUtils/KMatrixDynamics.hh +++ b/PwaUtils/KMatrixDynamics.hh @@ -65,7 +65,6 @@ protected: int _orderKMatBg; bool _withKMatAdler; double _currentMass; - std::map<int, complex<double> > _cachedMap; std::map<std::string, std::shared_ptr<AbsXdecAmp> > _grandMaAmpMap; std::shared_ptr<KMatrixRel> _kMatr; diff --git a/PwaUtils/KPiSWaveIso12Dynamics.hh b/PwaUtils/KPiSWaveIso12Dynamics.hh index ba79a70f..9079b01d 100644 --- a/PwaUtils/KPiSWaveIso12Dynamics.hh +++ b/PwaUtils/KPiSWaveIso12Dynamics.hh @@ -58,7 +58,6 @@ public: protected: // std::string _massKey; double _currentMass; - std::map<int, complex<double> > _cachedMap; std::map<std::string, std::shared_ptr<AbsXdecAmp> > _grandMaAmpMap; std::shared_ptr<KMatrixKPiSFocus> _kMatr; diff --git a/PwaUtils/PiPiSWaveASDynamics.cc b/PwaUtils/PiPiSWaveASDynamics.cc index 46e25caf..b7f15e17 100644 --- a/PwaUtils/PiPiSWaveASDynamics.cc +++ b/PwaUtils/PiPiSWaveASDynamics.cc @@ -72,8 +72,9 @@ complex<double> result(0.,0.); bool readFromCachedMap=false; + theMutex.lock(); if( _cacheAmps){ - if(_recalcMap[currentKey]){ + if(_recalcMap.at(currentKey)){ bool currentEvtAlreadyCached=false; std::map<int, std::map<std::string, bool > >::iterator itAlreadyCached=_alreadyCached.find(evtNo); @@ -83,15 +84,11 @@ complex<double> result(0.,0.); currentEvtAlreadyCached=itAlreadyCached2->second; } else{ - theMutex.lock(); - _alreadyCached[evtNo][currentKey]=false; - theMutex.unlock(); + _alreadyCached.at(evtNo)[currentKey]=false; } } else{ - theMutex.lock(); _alreadyCached[evtNo][currentKey]=false; - theMutex.unlock(); } if(currentEvtAlreadyCached) readFromCachedMap=true; @@ -103,15 +100,14 @@ complex<double> result(0.,0.); result=_cachedStringMap.at(evtNo).at(currentKey); } else{ - theMutex.lock(); result=_fVecMap[currentKey]->evalProjMatrix(theData->DoubleString.at(_dynKey), _projectionIndex); if ( _cacheAmps){ _cachedStringMap[evtNo][currentKey]=result; _alreadyCached.at(evtNo).at(currentKey)=true; } - theMutex.unlock(); } - // Info << "result: " << result << endmsg; + theMutex.unlock(); + return result; } diff --git a/PwaUtils/PiPiSWaveASDynamics.hh b/PwaUtils/PiPiSWaveASDynamics.hh index 868fd6e4..13d17351 100644 --- a/PwaUtils/PiPiSWaveASDynamics.hh +++ b/PwaUtils/PiPiSWaveASDynamics.hh @@ -62,7 +62,6 @@ protected: virtual int projectionIndex(std::vector<Particle*>& fsParticles); double _currentMass; - std::map<int, complex<double> > _cachedMap; std::map<std::string, std::shared_ptr<AbsXdecAmp> > _grandMaAmpMap; std::map<std::string, std::shared_ptr<FVector> > _fVecMap; -- GitLab