template<typename Selector = SurfaceSelector>
A Surface Collector struct templated with a Selector type.
Whenever a surface is passed in the propagation that satisfies the selector, it is recorded for further usage in the flow.
using result_type = this_result
Collector action for the ActionList of the Propagator It checks if the propagator state has a current surface, in which case the action is performed:
it records the surface given the configuration
- Template Parameters
propagator_state_t – is the type of Propagator state
stepper_t – Type of the stepper used for the propagation
navigator_t – Type of the navigator used for the propagation
state – [inout] is the mutable stepper state object
stepper – [in] The stepper in use
navigator – [in] The navigator in use
result – [inout] is the mutable result object
logger – a logger instance
The selector used for this surface.
Simple result struct to be returned It has all the SurfaceHit objects that are collected (and thus have been selected)
- std::vector<SurfaceHit> collected
- using result_type = this_result