ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Navigator::State Struct Reference

Nested State struct. More...

#include <Acts/Propagator/Navigator.hpp>

Collaboration diagram for Acts::Navigator::State:
[legend]

Public Member Functions

 State (const Options &options_)
 Constructor with navigation options.
NavigationTargetnavBoundary ()
 Get reference to current navigation boundary.
NavigationTargetnavCandidate ()
 Get reference to current navigation candidate.
NavigationTargetnavLayer ()
 Get reference to current navigation layer.
NavigationTargetnavSurface ()
 Get reference to current navigation surface.
void resetAfterLayerSwitch ()
 Reset navigation state after switching layers.
void resetAfterVolumeSwitch ()
 Reset navigation state after switching volumes.
void resetForRenavigation ()
 Completely reset navigation state to initial conditions.

Public Attributes

const LayercurrentLayer = nullptr
 Current layer during navigation.
const SurfacecurrentSurface = nullptr
 Current surface during navigation.
const TrackingVolumecurrentVolume = nullptr
 Current volume during navigation.
std::vector< std::pair< const Surface *, bool > > freeCandidates {}
 Free candidates not part of the tracking geometry.
std::vector< const Surface * > freeSurfaces
 Surfaces that are not part of the tracking geometry.
NavigationBoundaries navBoundaries = {}
 the vector of boundary surfaces to work through
std::optional< std::size_t > navBoundaryIndex
 the current boundary index of the navigation state
std::optional< std::size_t > navCandidateIndex
 the current candidate index into the stream's candidates
double navCandidatesFarLimit = std::numeric_limits<double>::max()
 far limit applied to the stream candidates, set during candidate resolution (options.farLimit, or tightened to the last portal when free candidates were appended without a selector)
bool navigationBreak = false
 Flag to break navigation loop.
Stage navigationStage = Stage::initial
 Current navigation stage in the state machine.
std::optional< std::size_t > navLayerIndex
 the current layer index of the navigation state
NavigationLayers navLayers = {}
 the vector of navigation layers to work through
std::optional< std::size_t > navSurfaceIndex
 the current surface index of the navigation state
NavigationSurfaces navSurfaces = {}
 the vector of navigation surfaces to work through
Options options
 Navigation options configuration.
bool policyStateIsDefault = true
 Whether the current volume's policy state carries no validity constraint.
NavigationPolicyStateManager policyStateManager
 Management of policy state allocation and deallocation.
const LayerstartLayer = nullptr
 Layer where the navigation started.
const SurfacestartSurface = nullptr
 Surface where the navigation started.
const TrackingVolumestartVolume = nullptr
 Volume where the navigation started.
NavigatorStatistics statistics
 Statistics collection for navigation performance.
NavigationStream stream
 Stream for navigation debugging and monitoring.
const SurfacetargetSurface = nullptr
 Target surface for navigation.

Detailed Description

Nested State struct.

It acts as an internal state which is created for every propagation and meant to keep thread-local navigation information.

Constructor & Destructor Documentation

◆ State()

Acts::Navigator::State::State ( const Options & options_)
explicit

Constructor with navigation options.

Parameters
options_The navigation options for this state

Member Function Documentation

◆ navBoundary()

NavigationTarget & Acts::Navigator::State::navBoundary ( )

Get reference to current navigation boundary.

Returns
Reference to current boundary intersection

◆ navCandidate()

NavigationTarget & Acts::Navigator::State::navCandidate ( )

Get reference to current navigation candidate.

Returns
Reference to current boundary intersection

◆ navLayer()

NavigationTarget & Acts::Navigator::State::navLayer ( )

Get reference to current navigation layer.

Returns
Reference to current layer intersection

◆ navSurface()

NavigationTarget & Acts::Navigator::State::navSurface ( )

Get reference to current navigation surface.

Returns
Reference to current navigation target

Member Data Documentation

◆ freeCandidates

std::vector<std::pair<const Surface*, bool> > Acts::Navigator::State::freeCandidates {}

Free candidates not part of the tracking geometry.

and a boolean indicating whether the surface has already been reached during propagation

◆ policyStateIsDefault

bool Acts::Navigator::State::policyStateIsDefault = true

Whether the current volume's policy state carries no validity constraint.

Sourced from INavigationPolicy::isStateless() (probed once at construction, fixed thereafter) and cached at each volume transition, so the per-step checks read this local bool instead of chasing the policy pointer or re-deriving defaultness from the type-erased state.