Class Acts::NavigationLayer

class NavigationLayer : public Acts::Layer

Class to be used for gaps in Volumes as a navigational link.

Navigation Layers have a surface representation, but should usually never be propagated to.

Public Functions

NavigationLayer() = delete

Default Constructor - deleted.

NavigationLayer(const NavigationLayer&) = delete

Copy Constructor - deleted.

~NavigationLayer() override


inline virtual Vector3 binningPosition(const GeometryContext &gctx, BinningValue bValue) const final

The binning position method.

  • gctx – The current geometry context object, e.g. alignment

  • bValue – is the value for which the binning position is requested

    • as default the center is given, but may be overloaded


The return vector can be used for binning in a TrackingVolume

inline virtual bool isOnLayer(const GeometryContext &gctx, const Vector3 &gp, const BoundaryCheck &bcheck = true) const final

Geometric isOnLayer() method using isOnSurface() with Layer specific tolerance.

  • gctx – The current geometry context object, e.g. alignment

  • gp – is the global position for the check

  • bcheck – is the boundary check directive


boolean that indicates if the position is on surface

NavigationLayer &operator=(const NavigationLayer&) = delete

Assignment operator - deleted.

inline virtual bool resolve(bool resolveSensitive, bool resolveMaterial, bool resolvePassive) const final

Accept layer according to the following collection directives.


navigation layers are never accepted

  • resolveSensitive – is the prescription to find the sensitive surfaces

  • resolveMaterial – is the precription to find material surfaces

  • resolvePassive – is the prescription to find all passive surfaces


a boolean whether the layer is accepted for processing

inline virtual const Surface &surfaceRepresentation() const final

Transforms the layer into a Surface representation for extrapolation In general, extrapolation to a surface should be avoided.

inline virtual Surface &surfaceRepresentation() final

Public Static Functions

static inline LayerPtr create(std::shared_ptr<const Surface> sRepresentation, double thickness = 0.)

Factory Constructor - the surface representation is given by pointer (ownership passed)

  • sRepresentation – is the representation for extrapolation

  • thickness – is the thickness for the binning