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

Nested State struct. More...

#include <Acts/Propagator/DirectNavigator.hpp>

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

Public Member Functions

 State (const Options &options_)
 Constructor from options.
bool endOfSurfaces () const
 Check if we have reached the end of the surface sequence.
const SurfacenavSurface () const
 Get the current navigation surface.
void nextSurface ()
 Move to the next surface in the sequence Increments or decrements surface index based on propagation direction.
int remainingSurfaces () const
 Get the number of surfaces remaining in the sequence.
void resetSurfaceIndex ()
 Reset the surface index to the initial position Sets index to before first surface (forward) or after last surface (backward).

Public Attributes

const SurfacecurrentSurface = nullptr
 Navigation state - external interface: the current surface.
Direction direction = Direction::Forward()
 Propagation direction (forward or backward).
bool navigationBreak = false
 Navigation state - external interface: a break has been detected.
Options options
 Configuration options for the direct navigator.
NavigatorStatistics statistics
 Navigation statistics.
int surfaceIndex = -1
 Index of the next surface to try.

Detailed Description

Nested State struct.

It acts as an internal state which is created for every propagation/extrapolation step and keep thread-local navigation information

Constructor & Destructor Documentation

◆ State()

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

Constructor from options.

Parameters
options_The navigator options

Member Function Documentation

◆ endOfSurfaces()

bool Acts::DirectNavigator::State::endOfSurfaces ( ) const

Check if we have reached the end of the surface sequence.

Returns
True if no more surfaces remain in the propagation direction

◆ navSurface()

const Surface & Acts::DirectNavigator::State::navSurface ( ) const

Get the current navigation surface.

Returns
Reference to the surface at the current surface index

◆ nextSurface()

void Acts::DirectNavigator::State::nextSurface ( )

Move to the next surface in the sequence Increments or decrements surface index based on propagation direction.

◆ remainingSurfaces()

int Acts::DirectNavigator::State::remainingSurfaces ( ) const

Get the number of surfaces remaining in the sequence.

Returns
Number of surfaces left to process in the propagation direction

◆ resetSurfaceIndex()

void Acts::DirectNavigator::State::resetSurfaceIndex ( )

Reset the surface index to the initial position Sets index to before first surface (forward) or after last surface (backward).

Member Data Documentation

◆ currentSurface

const Surface* Acts::DirectNavigator::State::currentSurface = nullptr

Navigation state - external interface: the current surface.

◆ direction

Direction Acts::DirectNavigator::State::direction = Direction::Forward()

Propagation direction (forward or backward).

◆ navigationBreak

bool Acts::DirectNavigator::State::navigationBreak = false

Navigation state - external interface: a break has been detected.

◆ options

Options Acts::DirectNavigator::State::options

Configuration options for the direct navigator.

◆ statistics

NavigatorStatistics Acts::DirectNavigator::State::statistics

Navigation statistics.

◆ surfaceIndex

int Acts::DirectNavigator::State::surfaceIndex = -1

Index of the next surface to try.

Note
-1 means before the first surface in the sequence and size() means after the last surface in the sequence