Templated propagator class, using a stepper and a navigator object in succession.
More...
|
|
using | actor_chain_type = actor_chain_t |
| | Chain of actors invoked during propagation.
|
|
using | algebra_type = typename detector_type::algebra_type |
| | Algebra backend used by the detector.
|
| using | bound_track_parameters_type |
| | Bound track parameter representation accepted by the stepper.
|
|
using | detector_type = typename navigator_type::detector_type |
| | Detector described by the navigator.
|
| using | free_track_parameters_type |
| | Free track parameter representation advanced by the stepper.
|
|
using | intersection_type = typename navigator_type::intersection_type |
| | Intersection representation produced by the navigator.
|
|
using | navigator_type = navigator_t |
| | Navigator implementation used to find geometry intersections.
|
|
using | scalar_type = dscalar<algebra_type> |
| | Scalar type associated with the detector algebra.
|
|
using | state = state_base<false> |
| | Owning propagation state type.
|
|
using | stepper_type = stepper_t |
| | Stepper implementation used to advance the track.
|
|
| constexpr | propagator (const propagation::config &cfg) |
| | Construct from a propagator configuration.
|
| template<bool is_owning> |
| bool | finished (const state_base< is_owning > &propagation) const |
| | Propagate method finale: Return whether or not the propagation completed successfully.
|
| template<bool is_owning> |
| auto | is_paused (const state_base< is_owning > &propagation) const -> bool |
| template<bool is_owning> |
| std::string | print (state_base< is_owning > &propagation) const |
| | Format propagation state for diagnostic output.
|
| template<bool is_owning> |
| bool | propagate (state_base< is_owning > &propagation) |
| | Overload for empty actor chain.
|
template<typename actor_states_t, bool is_owning>
requires (concepts::is_state_of<actor_states_t, actor_chain_type>) |
| bool | propagate (state_base< is_owning > &propagation, actor_states_t actor_state_refs=dtuple<>{}) const |
| | Propagate method: Coordinates the calls of the stepper, navigator and all registered actors.
|
| template<bool is_owning> |
| void | resume (state_base< is_owning > &propagation) const |
| | Revive the propagation.
|
template<typename stepper_t, typename navigator_t, concepts::actor_chain actor_chain_t>
struct detray::propagator< stepper_t, navigator_t, actor_chain_t >
Templated propagator class, using a stepper and a navigator object in succession.
- Template Parameters
-
| stepper_t | for the transport |
| navigator_t | for the navigation |