diff --git a/PwaUtils/BreitWignerDynamics.hh b/PwaUtils/BreitWignerDynamics.hh index 5f311440a1f4101af5679af44a0229081017725b..b2cbd7fd3ca19cf20e1a27a3453b9dda2cb9ec06 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 4b2a670cb9283b45009fd3bc085223257aac8da3..b5b77820290194c354cfdc31fcbef5b583025763 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 ba79a70fdbeef40c68deb0be0144e439f2ae88ac..9079b01d2302127b5a34a7be985a47a8bbe7c509 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 46e25caf57694734721b2c1cf9b48790ca0b86aa..b7f15e17880c85c42fee1a8c43a80d61350bf110 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 868fd6e477c6ca48c7b10eae9379715a18e6a3ef..13d173513412fa419a181b9d9c151a04f7bc8f99 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;