39   using BoundState = std::tuple<BoundTrackParameters, Jacobian, double>;
 
   41       std::tuple<CurvilinearTrackParameters, Jacobian, double>;
 
   60     template <
typename parameters_t>
 
   61     explicit State(std::reference_wrapper<const GeometryContext> 
gctx,
 
   62                    std::reference_wrapper<const MagneticFieldContext> ,
 
   67           dir(par.unitDirection()),
 
   68           p(par.absoluteMomentum()),
 
   75       if (par.covariance()) {
 
   77         const auto& 
surface = par.referenceSurface();
 
  210     return detail::updateSingleSurfaceStatus<StraightLineStepper>(
 
  211         *
this, state, 
surface, bcheck);
 
  222   template <
typename object_
intersection_t>
 
  225     detail::updateSingleStepSize<StraightLineStepper>(state, oIntersection,
 
  295               const Vector3D& udirection, 
double up, 
double time) 
const;
 
  327   template <
typename propagator_state_t>
 
  330     const auto h = state.stepping.stepSize;
 
  332     const auto dtds = std::hypot(1., state.options.mass / state.stepping.p);
 
  334     state.stepping.pos += 
h * state.stepping.dir;
 
  335     state.stepping.t += 
h * dtds;
 
  337     if (state.stepping.covTransport) {
 
  343       D(3, 7) = 
h * state.options.mass * state.options.mass *
 
  344                 (state.stepping.q == 0. ? 1. : state.stepping.q) /
 
  345                 (state.stepping.p * dtds);
 
  347       state.stepping.derivative(3) = dtds;
 
  349       state.stepping.jacTransport = D * state.stepping.jacTransport;
 
  350       state.stepping.derivative.template head<3>() = state.stepping.dir;
 
  353     state.stepping.pathAccumulated += 
h;