diff --git a/Tracking/TrkExtrapolation/TrkExSTEP_Propagator/src/STEP_Propagator.cxx b/Tracking/TrkExtrapolation/TrkExSTEP_Propagator/src/STEP_Propagator.cxx index 10a81f4bc637368a7d3a7e49e7438b3dcba890d3..03acd2453d62cc28216b18669f047b23a2307061 100755 --- a/Tracking/TrkExtrapolation/TrkExSTEP_Propagator/src/STEP_Propagator.cxx +++ b/Tracking/TrkExtrapolation/TrkExSTEP_Propagator/src/STEP_Propagator.cxx @@ -1883,15 +1883,15 @@ propagateRungeKuttaImpl(Cache& cache, const Amg::Vector3D& origin = trackIntersection->position(); const Amg::Vector3D& direction = trackIntersection->direction(); - PerigeeSurface* perigeeSurface = new PerigeeSurface(origin); + auto perigeeSurface = PerigeeSurface(origin); auto trackParameters = - perigeeSurface->createUniqueTrackParameters(0., 0., direction.phi(), direction.theta(), qOverP, std::nullopt); + Trk::Perigee(0., 0., direction.phi(), direction.theta(), qOverP, + perigeeSurface, std::nullopt); const Trk::IntersectionSolution* solution = - qOverP == 0 ? intersect(ctx, *trackParameters, surface, Trk::MagneticFieldProperties(Trk::NoField), particle) - : intersect(ctx, *trackParameters, surface, mft, particle, nullptr); + qOverP == 0 ? intersect(ctx, trackParameters, surface, Trk::MagneticFieldProperties(Trk::NoField), particle) + : intersect(ctx, trackParameters, surface, mft, particle, nullptr); - delete perigeeSurface; if (!solution) return nullptr;