Class NavigationLayer

Inheritance Relationships

Base Type

Class Documentation

class Acts::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

Destructor.

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

The binning position method.

Return

The return vector can be used for binning in a TrackingVolume

Parameters
  • 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

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

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

Return

boolean that indicates if the position is on surface

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

  • gp: is the global position for the check

  • bcheck: is the boundary check directive

NavigationLayer &operator=(const NavigationLayer&) = delete

Assignment operator - deleted.

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

Accept layer according to the following colelction directives.

Note

navigation layers are never accepted

Return

a boolean whether the layer is accepted for processing

Parameters
  • 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

const Surface &surfaceRepresentation() const final

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

Surface &surfaceRepresentation() final

Public Static Functions

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

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

Parameters
  • sRepresentation: is the representation for extrapolation

  • thickness: is the thickness for the binning

Protected Functions

NavigationLayer(std::shared_ptr<const Surface> surfaceRepresentation, double thickness)

Private Constructor.

  • this is called by the creat(args*) method passed spacer layer if needed

Parameters
  • surfaceRepresentation: is the surface of the layer

  • thickness: ithe layer thickness

Protected Attributes

std::shared_ptr<const Surface> m_surfaceRepresentation

for the navigation Volume the surface

We will need to mutate this surface during the geometry building process, but the C++ type system has no const-correct way of expressing this.