9 #ifndef TRKEXTOOLS_TIMEDEXTRAPOLATOR_H
10 #define TRKEXTOOLS_TIMEDEXTRAPOLATOR_H
19 #include "GaudiKernel/ToolHandle.h"
45 class DetachedTrackingVolume;
46 class AlignableTrackingVolume;
47 class TrackingGeometry;
48 class TrackParticleBase;
50 class IDynamicLayerCreator;
52 class IMultipleScatteringUpdator;
53 class IEnergyLossUpdator;
57 typedef std::pair<const Surface*, BoundaryCheck>
DestSurf;
199 virtual std::unique_ptr<const Trk::TrackParameters>
279 bool startingLayer =
false)
const;
296 ToolHandleArray<ITimedMatEffUpdator>
m_updators;
298 ToolHandleArray<IMultipleScatteringUpdator>
304 std::vector<const IPropagator*>
306 std::vector<const ITimedMatEffUpdator*>
370 Cache(
unsigned int max_navig_surf = 1000.)
377 for (std::pair<const Trk::TrackParameters*, bool> param :
m_garbageBin) {
389 std::map<const Trk::TrackParameters*, bool>
397 std::vector<std::pair<const Trk::DetachedTrackingVolume*, unsigned int>>
m_detachedVols;
398 std::vector<std::pair<const Trk::TrackingVolume*, unsigned int>>
m_denseVols;
399 std::vector<std::pair<const Trk::TrackingVolume*, const Trk::Layer*>>
m_navigLays;
417 std::vector<std::pair<const Trk::Surface*, Trk::BoundaryCheck>>
m_navigSurfs;
418 std::vector<std::pair<const Trk::Surface*, double>>
m_trSurfs;
421 std::vector<std::pair<const Trk::Surface*, double>>
m_trLays;
437 return m_navigator->trackingGeometry(Gaudi::Hive::currentContext());
448 if (!currentPropagator) {
449 msg(MSG::ERROR) <<
"[!] Configuration problem: no Propagator found for volumeSignature: "
452 return currentPropagator;
484 #endif // TRKEXTOOLS_TIMEDEXTRAPOLATOR_H