From 7d44cd10dd2a4ad53459ad6d73fc9126001c4eac Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Fri, 28 Sep 2018 19:40:35 +0100
Subject: [PATCH] m_matstates was manipulated only by ExtrapolateM i.e new
 called only from this method, keep same behaviour

---
 .../TrkGaussianSumFilter/GsfExtrapolator.h                     | 3 ++-
 .../TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx     | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
index 6b69b326c09..2d4a5d3815a 100755
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
@@ -154,7 +154,7 @@ private:
     m_recallLayer(nullptr),
     m_recallTrackingVolume(nullptr),
     m_stateAtBoundarySurface(),
-    m_matstates(std::make_unique< std::vector<const Trk::TrackStateOnSurface*> >()),
+    m_matstates(nullptr),
     m_mcsGarbageBin(),
     m_tpGarbageBin(){
     }
@@ -381,6 +381,7 @@ inline void Trk::GsfExtrapolator::emptyGarbageBins(Cache& cache) const
   cache.m_stateAtBoundarySurface=freshState;
   cache.m_mcsGarbageBin.clear();
   cache.m_tpGarbageBin.clear();
+  cache.m_matstates.reset(nullptr);
 }
 
 
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
index 72792442e90..a3a8b022abd 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
@@ -620,6 +620,7 @@ const std::vector<const Trk::TrackStateOnSurface*>* Trk::GsfExtrapolator::extrap
      ============================================= */
 
   Cache cache{};
+  cache.m_matstates.reset(new std::vector<const Trk::TrackStateOnSurface*>);
   // collect the material
   const MultiComponentState* parameterAtDestination = extrapolateImpl(cache,mcsparameters,sf,dir,bcheck,particle);
   // there are no parameters 
@@ -1338,7 +1339,6 @@ const Trk::MultiComponentState* Trk::GsfExtrapolator::extrapolateToDestinationLa
      Material effects
      ---------------------------------------- */
 
-  //std::cout << "CALLING PREUPDATE      " <<std::endl;
 
   const Trk::MultiComponentState* updatedState = ( startLayer != &layer ) ? m_materialUpdator->preUpdate( *destinationState, 
                                                                                                           layer, 
-- 
GitLab