56 METHOD_TRAIT(update_surface_status_t, updateSurfaceStatus);
74 = require<has_member<S, cov_transport_t, bool>,
75 has_member<S, cov_t, BoundSquareMatrix>,
76 has_member<S, path_accumulated_t, double>
84 has_member<S, cov_transport_t, bool>,
85 has_member<S, path_accumulated_t, double>
90 template <
typename S,
typename state =
typename S::State>
93 static_assert(state_exists,
"State type not found");
95 static_assert(jacobian_exists,
"Jacobian type not found");
97 static_assert(covariance_exists,
"Covariance type not found");
99 static_assert(bound_state_exists,
"BoundState type not found");
101 static_assert(curvilinear_state_exists,
"CurvilinearState type not found");
102 constexpr
static bool reset_state_exists = has_method<const S, void, reset_state_t, state&, const BoundVector&, const BoundSquareMatrix&, const Surface&, const double>;
103 static_assert(reset_state_exists,
"resetState method not found");
104 constexpr
static bool position_exists = has_method<const S, Vector3, position_t, const state&>;
105 static_assert(position_exists,
"position method not found");
106 constexpr
static bool direction_exists = has_method<const S, Vector3, direction_t, const state&>;
107 static_assert(direction_exists,
"direction method not found");
108 constexpr
static bool qop_exists = has_method<const S, double, qop_t, const state&>;
109 static_assert(qop_exists,
"qOverP method not found");
111 static_assert(absolute_momentum_exists,
"absoluteMomentum method not found");
112 constexpr
static bool momentum_exists = has_method<const S, Vector3, momentum_t, const state&>;
113 static_assert(momentum_exists,
"momentum method not found");
114 constexpr
static bool charge_exists = has_method<const S, double, charge_t, const state&>;
115 static_assert(charge_exists,
"charge method not found");
116 constexpr
static bool time_exists = has_method<const S, double, time_t, const state&>;
117 static_assert(time_exists,
"time method not found");
118 constexpr
static bool overstep_exists = has_method<const S, double, overstep_t, const state&>;
119 static_assert(overstep_exists,
"overstepLimit method not found");
121 static_assert(bound_state_method_exists,
"boundState method not found");
123 static_assert(curvilinear_state_method_exists,
"curvilinearState method not found");
125 has_method<const S, void, covariance_transport_bound_t, state&, const Surface&, const FreeToBoundCorrection&>>;
126 static_assert(covariance_transport_exists,
"covarianceTransport method not found");
127 constexpr
static bool update_surface_exists = has_method<const S, Intersection3D::Status, update_surface_status_t, state&, const Surface&, Direction, const BoundaryCheck&, ActsScalar, const Logger&>;
128 static_assert(update_surface_exists,
"updateSurfaceStatus method not found");
129 constexpr
static bool set_step_size_exists = has_method<const S, void, set_step_size_t, state&, double, ConstrainedStep::Type, bool>;
130 static_assert(set_step_size_exists,
"setStepSize method not found");
131 constexpr
static bool get_step_size_exists = has_method<const S, double, get_step_size_t, const state &, ConstrainedStep::Type>;
132 static_assert(get_step_size_exists,
"getStepSize method not found");
134 static_assert(release_step_size_exists,
"releaseStepSize method not found");
136 static_assert(output_step_size_exists,
"outputStepSize method not found");
163 template <
typename S,
typename state =
typename S::State>
166 static_assert(common_stepper_concept_fullfilled,
"Stepper does not fulfill common stepper concept");
167 constexpr
static bool update_method_exists = require<has_method<const S, void, update_t, state&, const FreeVector&, const BoundVector&, const BoundSquareMatrix&, const Surface&>, has_method<const S, void, update_t, state&, const Vector3&, const Vector3&, double, double>>;
179 template <
typename S,
typename state =
typename S::State>
182 static_assert(common_stepper_concept_fullfilled,
"Common stepper concept not fulfilled");
204 METHOD_TRAIT(remove_missed_components_t, removeMissedComponents);
220 template <
typename stepper,
typename state =
typename stepper::State>
224 template <
typename stepper>
226 Acts::Concepts ::Stepper::StepperStateConcept<stepper> ||
227 Acts::Concepts ::Stepper::MultiStepperStateConcept<stepper>;