File NavigationState.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

namespace Experimental
struct NavigationState
#include <Acts/Navigation/NavigationState.hpp>

A navigation state struct that is holding the current navigation information.

It relies on Surfaces and Portals, all navigation entities have to be described in these terms.

Subclassed by Acts::Experimental::NextNavigator::State

Public Types

using SurfaceCandidates = std::vector<SurfaceCandidate>

Surface candidate vector alias, this allows to use e.g.

boost_small vector or other stl like containers

Public Members

ActsScalar absMomentum = 0.

The current absolute momentum.

std::any auxilliary

Auxilliary attached information.

ActsScalar charge = 0.

The current charge.

const Detector *currentDetector = nullptr

The current detector in processing.

const Portal *currentPortal = nullptr

The current portal, i.e the position is on portal.

const Surface *currentSurface = nullptr

The current surface, i.e the position is on surface.

const DetectorVolume *currentVolume = nullptr

The current volume in processing, i.e. the position is inside.

Vector3 direction = Vector3(0., 0., 0.)

The current direction.

Vector3 magneticField = Vector3(0., 0., 0.)

The current magnetic field.

ActsScalar overstepTolerance = -0.1

An overstep tolerance.

Vector3 position = Vector3(0., 0., 0.)

The current position.

BoundaryCheck surfaceBoundaryCheck = true

Boundary directives for surfaces.

SurfaceCandidates::iterator surfaceCandidate = surfaceCandidates.end()
SurfaceCandidates surfaceCandidates = {}

That are the candidate surfaces to process.

struct SurfaceCandidate
#include <Acts/Navigation/NavigationState.hpp>

A surface candidate and its intersection.

A candidates can either be a surface or a portal (which contain a surface)

Public Members

BoundaryCheck boundaryCheck = true

The boundary check used for the candidate, boundary checks can differ for sensitive surfaces and portals.

ObjectIntersection<Surface> objectIntersection

A candidate intersection, in Surface view.

const Portal *portal = nullptr

Or a portal.

const Surface *surface = nullptr

A candidate is either a detector Surface.