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 propagagor
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))¶