28 using namespace Acts::UnitLiterals;
43 typename extensionlist_t = StepperExtensionList<DefaultExtension>,
44 typename auctioneer_t = detail::VoidAuctioneer>
50 using BoundState = std::tuple<BoundParameters, Jacobian, double>;
72 template <
typename parameters_t>
73 explicit State(std::reference_wrapper<const GeometryContext>
gctx,
74 std::reference_wrapper<const MagneticFieldContext> mctx,
84 stepSize(ndir * std::
abs(ssize)),
85 tolerance(stolerance),
89 if (par.covariance()) {
91 const auto&
surface = par.referenceSurface();
132 bool covTransport =
false;
136 double pathAccumulated = 0.;
142 double previousStepSize = 0.;
183 return m_bField.getField(pos, state.fieldCache);
209 double time(
const State& state)
const {
return state.t; }
221 return detail::updateSingleSurfaceStatus<EigenStepper>(*
this, state,
235 template <
typename object_
intersection_t>
236 void updateStepSize(
State& state,
const object_intersection_t& oIntersection,
237 bool release =
true)
const {
238 detail::updateSingleStepSize<EigenStepper>(state, oIntersection, release);
246 void setStepSize(
State& state,
double stepSize,
248 state.previousStepSize = state.stepSize;
249 state.stepSize.update(stepSize, stype,
true);
263 return state.stepSize.toString();
271 return -m_overstepLimit;
316 const Vector3D& udirection,
double up,
double time)
const;
348 template <
typename propagator_state_t>
356 double m_overstepLimit = 100
_um;