Struct Acts::Navigator::State

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 Functions

inline void reset(const GeometryContext &geoContext, const Vector3 &pos, const Vector3 &dir, NavigationDirection navDir, const Surface *ssurface, const Surface *tsurface)

Reset state.

Parameters
  • geoContext – is the geometry context

  • pos – is the global position

  • dir – is the momentum direction

  • navDir – is the navigation direction

  • ssurface – is the new starting surface

  • tsurface – is the target surface

Public Members

const Surface *currentSurface = nullptr

Navigation state - external state: the current surface.

const TrackingVolume *currentVolume = nullptr

Navigation state: the current volume.

ExternalSurfaces externalSurfaces = {}

Externally provided surfaces - these are tried to be hit.

bool lastHierarchySurfaceReached = false

Indicator that the last VolumeHierarchy surface was reached skip the next layer targeting to the next boundary/volume.

NavigationBoundaries navBoundaries = {}

the vector of boundary surfaces to work through

NavigationBoundaryIter navBoundaryIter = navBoundaries.end()

the current boundary iterator of the navigation state

bool navigationBreak = false

Navigation state : a break has been detected.

Stage navigationStage = Stage::undefined
NavigationLayerIter navLayerIter = navLayers.end()

the current layer iterator of the navigation state

NavigationLayers navLayers = {}

the vector of navigation layers to work through

NavigationSurfaceIter navSurfaceIter = navSurfaces.end()

the current surface iterator of the navigation state

NavigationSurfaces navSurfaces = {}

the vector of navigation surfaces to work through

const Layer *startLayer = nullptr

Navigation state: the start layer.

bool startLayerResolved = false

Indicator for start layer treatment.

const Surface *startSurface = nullptr

Navigation state: the start surface.

const TrackingVolume *startVolume = nullptr

Navigation state: the start volume.

const Layer *targetLayer = nullptr

Navigation state: the target layer.

bool targetReached = false

Indicator if the target is reached.

const Surface *targetSurface = nullptr

Navigation state: the target surface.

const TrackingVolume *targetVolume = nullptr

Navigation state: the target volume.

const TrackingVolume *worldVolume = nullptr

Navigation sate: the world volume.