33 #include <type_traits>
35 #include <boost/algorithm/string.hpp>
44 template <
typename parameters_t,
typename... result_list>
109 template <
typename action_list_t = ActionList<>,
110 typename aborter_list_t = AbortList<>>
124 std::reference_wrapper<const MagneticFieldContext> mctx,
133 template <
typename extended_aborter_list_t>
135 extended_aborter_list_t aborters)
const {
155 eoptions.
abortList = std::move(aborters);
219 template <
typename stepper_t,
typename navigator_t = detail::Vo
idNavigator>
222 using BoundState = std::tuple<BoundTrackParameters, Jacobian, double>;
224 std::tuple<CurvilinearTrackParameters, Jacobian, double>;
226 static_assert(StepperStateConcept<typename stepper_t::State>,
227 "Stepper does not fulfill stepper concept.");
228 static_assert(StepperConcept<stepper_t>,
229 "Stepper does not fulfill stepper concept.");
258 template <
typename propagator_options_t>
267 template <
typename parameters_t>
268 State(
const parameters_t&
start,
const propagator_options_t& topts)
271 topts.direction, topts.maxStepSize, topts.
tolerance),
274 navigation.startSurface = &start.referenceSurface();
300 template <
typename parameters_t,
typename action_list_t>
307 template <
typename...
args>
311 using type =
typename action_list_t::template result_type<this_result_type>;
320 template <
typename parameters_t,
typename action_list_t>
322 typename result_type_helper<parameters_t, action_list_t>::type;
341 template <
typename result_t,
typename propagator_state_t>
363 template <
typename parameters_t,
typename propagator_options_t,
367 typename propagator_options_t::action_list_type>>
369 const propagator_options_t&
options)
const;
390 template <
typename parameters_t,
typename propagator_options_t,
396 const propagator_options_t&
options)
const;