9#ifndef TRKEXENGINE_PROPAGATIONENGINE_H
10#define TRKEXENGINE_PROPAGATIONENGINE_H
14#include "GaudiKernel/ToolHandle.h"
59 bool returnCurvilinear =
true)
const;
66 bool returnCurvilinear =
true)
const;
69 ToolHandle<IPropagator>
m_propagator{
this,
"Propagator",
"Trk::RungeKuttaPropagator/AtlasRungeKuttaPropagator"};
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
A propagation engine wrapping the propagator algtool it respects the path limit to stop particles if ...
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
resolve the boundary situation - for charged particles Possible return codes :
~PropagationEngine()
Destructor.
StatusCode initialize()
AlgTool initialize method.
DoubleProperty m_pathLimitTolerance
PropagationEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
StringProperty m_sopPostfix_prop
ToolHandle< IPropagator > m_propagator
StatusCode finalize()
AlgTool finalize method.
StringProperty m_sopPrefix_prop
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const
resolve the boundary situation - for charged particles
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
ExtrapolationCell< TrackParameters > ExCellCharged
ExtrapolationCell< NeutralParameters > ExCellNeutral