Class Acts::Experimental::DetectorNavigator
-
class DetectorNavigator
Public Functions
-
inline explicit DetectorNavigator(Config cfg, std::shared_ptr<const Logger> _logger = getDefaultLogger("DetectorNavigator", Logging::Level::INFO))
Constructor with configuration object.
- Parameters
cfg – The navigator configuration
_logger – a logger instance
-
inline const TrackingVolume *currentVolume(const State&) const
-
inline const IVolumeMaterial *currentVolumeMaterial(const State &state) const
-
template<typename propagator_state_t, typename stepper_t>
inline void initialize(propagator_state_t &state, const stepper_t &stepper) const Initialize call - start of propagation.
- Template Parameters
propagator_state_t – The state type of the propagator
stepper_t – The type of stepper used for the propagation
- Parameters
state – [inout] is the propagation state object
stepper – [in] Stepper in use
- Returns
boolean return triggers exit to stepper
-
inline void insertExternalSurface(State&, GeometryIdentifier) const
-
template<typename propagator_state_t, typename stepper_t>
inline void postStep(propagator_state_t &state, const stepper_t &stepper) const Navigator post step call.
- Template Parameters
propagator_state_t – is the type of Propagatgor state
stepper_t – is the used type of the Stepper by the Propagator
- Parameters
state – [inout] is the mutable propagator state object
stepper – [in] Stepper in use
-
template<typename propagator_state_t, typename stepper_t>
inline void preStep(propagator_state_t &state, const stepper_t &stepper) const Navigator pre step call.
This will invalid the current surface and current portal in order to navigate to the next ones.
- Template Parameters
propagator_state_t – is the type of Propagatgor state
stepper_t – is the used type of the Stepper by the Propagator
- Parameters
state – [inout] is the mutable propagator state object
stepper – [in] Stepper in use
-
struct Config
Public Members
-
bool resolveMaterial = true
stop at every material surface (whether it is passive or not)
-
bool resolvePassive = false
stop at every surface regardless what it is
-
bool resolveSensitive = true
Configuration for this Navigator stop at every sensitive surface (whether it has material or not)
-
bool resolveMaterial = true
-
struct State : public Acts::Experimental::NavigationState
Nested State struct.
It acts as an internal state which is created for every propagation/extrapolation step and keep thread-local navigation information
-
inline explicit DetectorNavigator(Config cfg, std::shared_ptr<const Logger> _logger = getDefaultLogger("DetectorNavigator", Logging::Level::INFO))