Class DirectNavigator¶
Defined in File DirectNavigator.hpp
Nested Relationships¶
Class Documentation¶
-
class
Acts
::
DirectNavigator
¶ DirectNavigator class.
This is a fully guided navigator that progresses through a pre-given sequence of surfaces.
This can either be used as a validation tool, for truth tracking, or track refitting
Public Types
Public Functions
-
DirectNavigator
() = default¶ Defaulted Constructed.
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidstatus
(propagator_state_t &state, const stepper_t &stepper) const¶ Navigator status call.
- Template Parameters
propagator_state_t
: is the type of Propagatgor statestepper_t
: is the used type of the Stepper by the Propagator
- Parameters
[inout] state
: is the mutable propagator state object[in] stepper
: Stepper in use
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidtarget
(propagator_state_t &state, const stepper_t &stepper) const¶ Navigator target call.
- Template Parameters
propagator_state_t
: is the type of Propagatgor statestepper_t
: is the used type of the Stepper by the Propagator
- Parameters
[inout] state
: is the mutable propagator state object[in] stepper
: Stepper in use
Public Members
-
double
tolerance
= s_onSurfaceTolerance¶ The tolerance used to define “surface reached”.
-
struct
Initializer
¶ Nested Actor struct, called Initializer.
This is needed for the initialization of the surface sequence
Public Types
-
using
result_type
= this_result¶
Public Functions
-
Initializer
() = default¶ Defaulting the constructor.
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidoperator()
(propagator_state_t &state, const stepper_t&, result_type &r) const¶ Actor operator call.
- Template Parameters
statet
: Type of the full propagator statestepper_t
: Type of the stepper
- Parameters
state
: the entire propagator stater
: the result of this Actor
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidoperator()
(propagator_state_t&, const stepper_t&) const¶ Actor operator call - resultless, unused.
Public Members
-
SurfaceSequence
navSurfaces
= {}¶ The Surface sequence.
-
using
-
struct
State
¶ Nested State struct.
It acts as an internal state which is created for every propagation/extrapolation step and keep thread-local navigation information
Public Members
-
const Surface *
currentSurface
= nullptr¶ Navigation state - external interface: the current surface.
-
const TrackingVolume *
currentVolume
= nullptr¶ Navigation state: the current volume.
-
bool
navigationBreak
= false¶ Navigation state - external interface: a break has been detected.
-
SurfaceIter
navSurfaceIter
= navSurfaces.begin()¶ Iterator the the next surface.
-
SurfaceSequence
navSurfaces
= {}¶ Externally provided surfaces - expected to be ordered along the path.
-
const TrackingVolume *
startVolume
= nullptr¶ Navigation state: the start volume.
-
bool
targetReached
= false¶ Navigation state - external interface: target is reached.
-
const TrackingVolume *
targetVolume
= nullptr¶ Navigation state: the target volume.
-
const Surface *
-