52 METHOD_TRAIT(update_surface_status_t, updateSurfaceStatus);
71 = require<has_member<S, cov_transport_t, bool>,
72 has_member<S, cov_t, BoundSymMatrix>,
73 has_member<S, nav_dir_t, NavigationDirection>,
74 has_member<S, path_accumulated_t, double>,
75 has_member<S, step_size_t, ConstrainedStep>
80 template <
typename S,
typename state =
typename S::State>
94 constexpr
static bool reset_state_exists = has_method<const S, void, reset_state_t, state&, const BoundVector&, const BoundSymMatrix&, const Surface&, const NavigationDirection, const double>;
96 constexpr
static bool get_field_exists = has_method<const S, Vector3D, get_field_t, state&, const Vector3D&>;
98 constexpr
static bool position_exists = has_method<const S, Vector3D, position_t, const state&>;
100 constexpr
static bool direction_exists = has_method<const S, Vector3D, direction_t, const state&>;
102 constexpr
static bool momentum_exists = has_method<const S, double, momentum_t, const state&>;
104 constexpr
static bool charge_exists = has_method<const S, double, charge_t, const state&>;
106 constexpr
static bool time_exists = has_method<const S, double, time_t, const state&>;
107 static_assert(
time_exists,
"time method not found");
108 constexpr
static bool overstep_exists = has_method<const S, double, overstep_t, const state&>;
110 constexpr
static bool bound_state_method_exists= has_method<const S, typename S::BoundState, bound_state_method_t, state&, const Surface&>;
114 constexpr
static bool update_method_exists = require<has_method<const S, void, update_t, state&, const FreeVector&, const BoundSymMatrix&>,
115 has_method<const S, void, update_t, state&, const Vector3D&, const Vector3D&, double, double>>;
118 has_method<const S, void, covariance_transport_t, state&, const Surface&>>;
120 constexpr
static bool update_surface_exists = has_method<const S, Intersection3D::Status, update_surface_status_t, state&, const Surface&, const BoundaryCheck&>;
122 constexpr
static bool set_step_size_exists = has_method<const S, void, set_step_size_t, state&, double, ConstrainedStep::Type>;
154 template <
typename stepper,
typename state =
typename stepper::State>
157 template <
typename stepper>
159 Acts::Concepts ::Stepper::StepperStateConcept<stepper>;