40 template <
typename propagator_state_t,
typename stepper_t,
45 *navigator.targetSurface(state.navigation),
logger);
59 template <
typename propagator_state_t,
typename stepper_t,
65 const auto oldCurrentSurface = navigator.currentSurface(state.navigation);
67 for (
auto cmp : stepper.componentIterable(state.stepping)) {
68 auto singleState =
cmp.singleState(state);
69 const auto& singleStepper =
cmp.singleStepper(stepper);
75 cmp.status() = Acts::Intersection3D::Status::onSurface;
81 const auto sIntersection =
84 state.geoContext, stepper.position(state.stepping),
85 state.options.direction * stepper.direction(state.stepping),
89 if (sIntersection.status() == Intersection3D::Status::onSurface) {
91 navigator.currentSurface(state.navigation, &targetSurface);
92 navigator.targetReached(state.navigation,
true);
94 for (
auto cmp : stepper.componentIterable(state.stepping)) {
95 cmp.status() = Intersection3D::Status::onSurface;
105 navigator.currentSurface(state.navigation, oldCurrentSurface);
106 navigator.targetReached(state.navigation,
false);