22 declareInterface<Trk::IPropagationEngine>(
this);
38 return StatusCode::FAILURE;
43 return StatusCode::SUCCESS;
50 return StatusCode::SUCCESS;
59 bool returnCurvilinear)
const
61 EX_MSG_DEBUG(++eCell.
navigationStep,
"propagate",
"char",
"propagation engine called with charged parameters with propagation direction " << pDir );
63 double propLength = -1.;
70 bool finalPropagation = (eCell.
endSurface == (&sf));
72 std::optional<Trk::TransportJacobian> tjac{};
76 Gaudi::Hive::currentContext(),
85 returnCurvilinear).release();
119 bool returnCurvilinear)
const
121 EX_MSG_DEBUG(++eCell.
navigationStep,
"propagate",
"neut",
"propagation engine called with neutral parameters with propagation direction " << pDir );
124 EX_MSG_VERBOSE(eCell.
navigationStep,
"propagate",
"neut",
"propagation of neutral parameters with covariances requested. This is not supported for the moment.");
129 bool finalPropagation = (eCell.
endSurface == (&sf));
138 if (sfIntersection.
valid){
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
std::string m_sopPostfix
prefix for screen output
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
const Amg::Vector3D & momentum() const
Access method for the momentum.
const Amg::Vector3D & position() const
Access method for the position.
~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.
PropDirection
PropDirection, enum for direction of the propagation.
CurvilinearParametersT< NeutralParametersDim, Neutral, PlaneSurface > NeutralCurvilinearParameters
ExtrapolationCell< TrackParameters > ExCellCharged
ExtrapolationCell< NeutralParameters > ExCellNeutral