ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SurfaceArray::ISurfaceGridLookup Struct Referenceabstract

Base interface for all surface lookups. More...

#include <Acts/Surfaces/SurfaceArray.hpp>

Inheritance diagram for Acts::SurfaceArray::ISurfaceGridLookup:
[legend]

Public Member Functions

virtual ~ISurfaceGridLookup ()=0
 Pure virtual destructor.
virtual std::vector< AxisDirectionbinningValues () const
 The binning values described by this surface grid lookup They are in order of the axes (optional) and empty for eingle lookups.
virtual void fill (const GeometryContext &gctx, const SurfaceVector &surfaces)=0
 Fill provided surfaces into the contained Grid.
virtual std::vector< const IAxis * > getAxes () const =0
 Returns copies of the axes used in the grid as AnyAxis.
virtual Vector3 getBinCenter (std::size_t bin) const =0
 Gets the center position of bin bin in global coordinates.
virtual std::optional< AnyGridConstView< SurfaceVector > > getGridView () const =0
 Get a view of the grid for inspection.
virtual bool isValidBin (std::size_t bin) const =0
 Checks if global bin is valid.
virtual const SurfaceVectorlookup (const Vector3 &position, const Vector3 &direction) const =0
 Performs lookup at pos and returns bin content as const reference.
virtual const SurfaceVectorlookup (std::size_t bin) const =0
 Performs lookup at global bin and returns bin content as const reference.
virtual SurfaceVectorlookup (std::size_t bin)=0
 Performs lookup at global bin and returns bin content as reference.
virtual const SurfaceVectorneighbors (const Vector3 &position, const Vector3 &direction) const =0
 Performs a lookup at pos, but returns neighbors as well.
virtual std::size_t size () const =0
 Returns the total size of the grid (including under/overflow bins).
virtual const SurfacesurfaceRepresentation () const =0
 Get the representative surface used for this lookup.

Detailed Description

Base interface for all surface lookups.

Constructor & Destructor Documentation

◆ ~ISurfaceGridLookup()

virtual Acts::SurfaceArray::ISurfaceGridLookup::~ISurfaceGridLookup ( )
pure virtual

Pure virtual destructor.

Member Function Documentation

◆ binningValues()

virtual std::vector< AxisDirection > Acts::SurfaceArray::ISurfaceGridLookup::binningValues ( ) const
virtual

The binning values described by this surface grid lookup They are in order of the axes (optional) and empty for eingle lookups.

Returns
Vector of axis directions for binning

Reimplemented in Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ fill()

virtual void Acts::SurfaceArray::ISurfaceGridLookup::fill ( const GeometryContext & gctx,
const SurfaceVector & surfaces )
pure virtual

Fill provided surfaces into the contained Grid.

Parameters
gctxThe current geometry context object, e.g. alignment
surfacesInput surface pointers

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ getAxes()

virtual std::vector< const IAxis * > Acts::SurfaceArray::ISurfaceGridLookup::getAxes ( ) const
pure virtual

Returns copies of the axes used in the grid as AnyAxis.

Returns
The axes
Note
This returns copies. Use for introspection and querying.

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ getBinCenter()

virtual Vector3 Acts::SurfaceArray::ISurfaceGridLookup::getBinCenter ( std::size_t bin) const
pure virtual

Gets the center position of bin bin in global coordinates.

Parameters
binthe global bin index
Returns
The bin center

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ getGridView()

virtual std::optional< AnyGridConstView< SurfaceVector > > Acts::SurfaceArray::ISurfaceGridLookup::getGridView ( ) const
pure virtual

Get a view of the grid for inspection.

Returns
Optional grid view containing surface vectors

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ isValidBin()

virtual bool Acts::SurfaceArray::ISurfaceGridLookup::isValidBin ( std::size_t bin) const
pure virtual

Checks if global bin is valid.

Parameters
binthe global bin index
Returns
bool if the bin is valid
Note
Valid means that the index points to a bin which is not a under or overflow bin or out of range in any axis.

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ lookup() [1/3]

virtual const SurfaceVector & Acts::SurfaceArray::ISurfaceGridLookup::lookup ( const Vector3 & position,
const Vector3 & direction ) const
pure virtual

Performs lookup at pos and returns bin content as const reference.

Parameters
positionLookup position
directionLookup direction
Returns
SurfaceVector at given bin

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ lookup() [2/3]

virtual const SurfaceVector & Acts::SurfaceArray::ISurfaceGridLookup::lookup ( std::size_t bin) const
pure virtual

Performs lookup at global bin and returns bin content as const reference.

Parameters
binGlobal lookup bin
Returns
SurfaceVector at given bin

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ lookup() [3/3]

virtual SurfaceVector & Acts::SurfaceArray::ISurfaceGridLookup::lookup ( std::size_t bin)
pure virtual

Performs lookup at global bin and returns bin content as reference.

Parameters
binGlobal lookup bin
Returns
SurfaceVector at given bin

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ neighbors()

virtual const SurfaceVector & Acts::SurfaceArray::ISurfaceGridLookup::neighbors ( const Vector3 & position,
const Vector3 & direction ) const
pure virtual

Performs a lookup at pos, but returns neighbors as well.

Parameters
positionLookup position
directionLookup direction
Returns
SurfaceVector at given bin. Copy of all bins selected

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ size()

virtual std::size_t Acts::SurfaceArray::ISurfaceGridLookup::size ( ) const
pure virtual

Returns the total size of the grid (including under/overflow bins).

Returns
Size of the grid data structure

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.

◆ surfaceRepresentation()

virtual const Surface * Acts::SurfaceArray::ISurfaceGridLookup::surfaceRepresentation ( ) const
pure virtual

Get the representative surface used for this lookup.

Returns
Surface pointer

Implemented in Acts::SurfaceArray::SingleElementLookup, and Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >.