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