ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::NavigationTarget Class Reference

The navigation target. More...

#include <Acts/Propagator/NavigationTarget.hpp>

Public Types

using Intersection = Intersection3D
 Type alias for the intersection object.
using Position = Intersection::Position
 Type alias for the intersection position.

Public Member Functions

constexpr NavigationTarget (const Intersection3D &intersection, IntersectionIndex intersectionIndex, const BoundarySurface &target, const BoundaryTolerance &boundaryTolerance) noexcept
 Create a boundary surface intersection from a 3D intersection, intersection index, and a boundary surface.
constexpr NavigationTarget (const Intersection3D &intersection, IntersectionIndex intersectionIndex, const Layer &target, const Surface &surfaceRepresentation, const BoundaryTolerance &boundaryTolerance) noexcept
 Create a layer intersection from a 3D intersection, intersection index, and a layer.
 NavigationTarget (const Intersection3D &intersection, IntersectionIndex intersectionIndex, const Portal &target, const BoundaryTolerance &boundaryTolerance) noexcept
 Create a portal intersection from a 3D intersection, intersection index, and a portal.
constexpr NavigationTarget (const Intersection3D &intersection, IntersectionIndex intersectionIndex, const Surface &target, const BoundaryTolerance &boundaryTolerance) noexcept
 Create a surface intersection from a 3D intersection, intersection index, and a surface.
constexpr NavigationTarget (const NavigationTarget &) noexcept=default
 Copy constructor.
constexpr NavigationTarget (NavigationTarget &&) noexcept=default
 Move constructor.
constexpr const BoundarySurfaceboundarySurface () const
 Returns the boundary surface that has been intersected.
constexpr const BoundaryToleranceboundaryTolerance () const noexcept
 Returns the boundary tolerance used for this intersection.
constexpr Intersection3Dintersection ()
 Mutable access to the intersection.
constexpr const Intersection3Dintersection () const
 Returns the intersection.
constexpr IntersectionIndex intersectionIndex () const noexcept
 Returns the intersection index.
constexpr IntersectionIndexintersectionIndex () noexcept
 Mutable access to the intersection index.
constexpr bool isLayerTarget () const noexcept
 Returns whether the target is a layer.
constexpr bool isNone () const noexcept
 Returns whether this is a none target.
constexpr bool isPortalTarget () const noexcept
 Returns whether the target is a portal.
constexpr bool isSurfaceTarget () const noexcept
 Returns whether the target is a surface.
constexpr bool isValid () const noexcept
 Returns whether the intersection was successful or not.
constexpr const Layerlayer () const
 Returns the layer that has been intersected.
constexpr NavigationTargetoperator= (const NavigationTarget &) noexcept=default
 Copy assignment operator.
constexpr NavigationTargetoperator= (NavigationTarget &&) noexcept=default
 Move assignment operator.
constexpr double pathLength () const noexcept
 Returns the path length to the interseciton.
constexpr const Portalportal () const
 Returns the portal that has been intersected.
Position position () const noexcept
 Returns the position of the interseciton.
constexpr IntersectionStatus status () const noexcept
 Returns the status of the interseciton.
constexpr const Surfacesurface () const noexcept
 Returns the surface that has been intersected.

Static Public Member Functions

static constexpr bool closestForwardOrder (const NavigationTarget &aIntersection, const NavigationTarget &bIntersection) noexcept
 Comparison operator by closest distance to the reference point in the.
static constexpr bool closestOrder (const NavigationTarget &aIntersection, const NavigationTarget &bIntersection) noexcept
 Comparison operator by closest distance to the reference point.
static constexpr NavigationTarget None () noexcept
 Factory method to create a none target.
static constexpr bool pathLengthOrder (const NavigationTarget &aIntersection, const NavigationTarget &bIntersection) noexcept
 Comparison operator by path length.

Detailed Description

The navigation target.

This struct represents a navigation target which is communicated from the navigator to the stepper through the propagator.

Note
This incorporates std::optional semantics as the next target might not exist.

Member Typedef Documentation

◆ Intersection

Type alias for the intersection object.

◆ Position

Type alias for the intersection position.

Constructor & Destructor Documentation

◆ NavigationTarget() [1/6]

Acts::NavigationTarget::NavigationTarget ( const Intersection3D & intersection,
IntersectionIndex intersectionIndex,
const Surface & target,
const BoundaryTolerance & boundaryTolerance )
constexprnoexcept

Create a surface intersection from a 3D intersection, intersection index, and a surface.

Parameters
intersectionis the intersection
intersectionIndexis the intersection index
targetis the intersected target
boundaryToleranceis the boundary tolerance used for this intersection

◆ NavigationTarget() [2/6]

Acts::NavigationTarget::NavigationTarget ( const Intersection3D & intersection,
IntersectionIndex intersectionIndex,
const Layer & target,
const Surface & surfaceRepresentation,
const BoundaryTolerance & boundaryTolerance )
constexprnoexcept

Create a layer intersection from a 3D intersection, intersection index, and a layer.

Parameters
intersectionis the intersection
intersectionIndexis the intersection index
targetis the intersected target
surfaceRepresentationis the surface representation of the layer
boundaryToleranceis the boundary tolerance used for this intersection

◆ NavigationTarget() [3/6]

Acts::NavigationTarget::NavigationTarget ( const Intersection3D & intersection,
IntersectionIndex intersectionIndex,
const BoundarySurface & target,
const BoundaryTolerance & boundaryTolerance )
constexprnoexcept

Create a boundary surface intersection from a 3D intersection, intersection index, and a boundary surface.

Parameters
intersectionis the intersection
intersectionIndexis the intersection index
targetis the intersected target
boundaryToleranceis the boundary tolerance used for this intersection

◆ NavigationTarget() [4/6]

Acts::NavigationTarget::NavigationTarget ( const Intersection3D & intersection,
IntersectionIndex intersectionIndex,
const Portal & target,
const BoundaryTolerance & boundaryTolerance )
noexcept

Create a portal intersection from a 3D intersection, intersection index, and a portal.

Parameters
intersectionis the intersection
intersectionIndexis the intersection index
targetis the intersected target
boundaryToleranceis the boundary tolerance used for this intersection

◆ NavigationTarget() [5/6]

Acts::NavigationTarget::NavigationTarget ( const NavigationTarget & )
constexprdefaultnoexcept

Copy constructor.

◆ NavigationTarget() [6/6]

Acts::NavigationTarget::NavigationTarget ( NavigationTarget && )
constexprdefaultnoexcept

Move constructor.

Member Function Documentation

◆ boundarySurface()

const BoundarySurface & Acts::NavigationTarget::boundarySurface ( ) const
constexpr

Returns the boundary surface that has been intersected.

Returns
the boundary surface

◆ boundaryTolerance()

const BoundaryTolerance & Acts::NavigationTarget::boundaryTolerance ( ) const
constexprnoexcept

Returns the boundary tolerance used for this intersection.

Returns
the boundary tolerance

◆ closestForwardOrder()

constexpr bool Acts::NavigationTarget::closestForwardOrder ( const NavigationTarget & aIntersection,
const NavigationTarget & bIntersection )
staticconstexprnoexcept

Comparison operator by closest distance to the reference point in the.

Returns
true if aIntersection is closer than bIntersection

◆ closestOrder()

constexpr bool Acts::NavigationTarget::closestOrder ( const NavigationTarget & aIntersection,
const NavigationTarget & bIntersection )
staticconstexprnoexcept

Comparison operator by closest distance to the reference point.

Returns
true if aIntersection is closer than bIntersection

◆ intersection() [1/2]

Intersection3D & Acts::NavigationTarget::intersection ( )
constexpr

Mutable access to the intersection.

Returns
the intersection

◆ intersection() [2/2]

const Intersection3D & Acts::NavigationTarget::intersection ( ) const
constexpr

Returns the intersection.

Returns
the intersection

◆ intersectionIndex() [1/2]

IntersectionIndex Acts::NavigationTarget::intersectionIndex ( ) const
constexprnoexcept

Returns the intersection index.

Returns
the intersection index

◆ intersectionIndex() [2/2]

IntersectionIndex & Acts::NavigationTarget::intersectionIndex ( )
constexprnoexcept

Mutable access to the intersection index.

Returns
the intersection index

◆ isLayerTarget()

bool Acts::NavigationTarget::isLayerTarget ( ) const
constexprnoexcept

Returns whether the target is a layer.

Returns
true if the target is a layer

◆ isNone()

bool Acts::NavigationTarget::isNone ( ) const
constexprnoexcept

Returns whether this is a none target.

Returns
true if this is a none target

◆ isPortalTarget()

bool Acts::NavigationTarget::isPortalTarget ( ) const
constexprnoexcept

Returns whether the target is a portal.

Returns
true if the target is a portal

◆ isSurfaceTarget()

bool Acts::NavigationTarget::isSurfaceTarget ( ) const
constexprnoexcept

Returns whether the target is a surface.

Returns
true if the target is a surface

◆ isValid()

bool Acts::NavigationTarget::isValid ( ) const
constexprnoexcept

Returns whether the intersection was successful or not.

Returns
true if the intersection is valid

◆ layer()

const Layer & Acts::NavigationTarget::layer ( ) const
constexpr

Returns the layer that has been intersected.

Returns
the layer

◆ None()

constexpr NavigationTarget Acts::NavigationTarget::None ( )
staticconstexprnoexcept

Factory method to create a none target.

Returns
a none target

◆ operator=() [1/2]

NavigationTarget & Acts::NavigationTarget::operator= ( const NavigationTarget & )
constexprdefaultnoexcept

Copy assignment operator.

◆ operator=() [2/2]

NavigationTarget & Acts::NavigationTarget::operator= ( NavigationTarget && )
constexprdefaultnoexcept

Move assignment operator.

◆ pathLength()

double Acts::NavigationTarget::pathLength ( ) const
constexprnoexcept

Returns the path length to the interseciton.

Returns
the path length

◆ pathLengthOrder()

constexpr bool Acts::NavigationTarget::pathLengthOrder ( const NavigationTarget & aIntersection,
const NavigationTarget & bIntersection )
staticconstexprnoexcept

Comparison operator by path length.

Returns
true if aIntersection is before bIntersection

◆ portal()

const Portal & Acts::NavigationTarget::portal ( ) const
constexpr

Returns the portal that has been intersected.

Returns
the portal

◆ position()

Position Acts::NavigationTarget::position ( ) const
noexcept

Returns the position of the interseciton.

Returns
the position

◆ status()

IntersectionStatus Acts::NavigationTarget::status ( ) const
constexprnoexcept

Returns the status of the interseciton.

Returns
the status

◆ surface()

const Surface & Acts::NavigationTarget::surface ( ) const
constexprnoexcept

Returns the surface that has been intersected.

Returns
the surface