|
ACTS
Experiment-independent tracking
|
Lookup helper which encapsulates a Grid.
More...
#include <Acts/Surfaces/SurfaceArray.hpp>
Public Member Functions | |
| SurfaceGridLookup (std::shared_ptr< RegularSurface > representative, double tolerance, std::tuple< Axis1, Axis2 > axes, const std::vector< AxisDirection > &bValues={}, std::uint8_t maxNeighborDistance=1) | |
| Construct a surface grid lookup. | |
| std::span< const Surface *const > | at (std::array< std::size_t, 2 > gridIndices, std::uint8_t neighborDistance) const override |
| Get all surfaces in bin given by local grid indices and neighbor distance. | |
| std::vector< AxisDirection > | binningValues () const override |
| The binning values described by this surface grid lookup. | |
| void | fill (const GeometryContext &gctx, std::span< const Surface *const > surfaces) override |
Fill provided surfaces into the contained Grid. | |
| std::vector< const IAxis * > | getAxes () const override |
Returns copies of the axes used in the grid as AnyAxis. | |
| Vector3 | getBinCenter (std::size_t bin) const override |
Gets the center position of bin bin in global coordinates. | |
| bool | isValidBin (std::size_t bin) const override |
| Checks if global bin is valid. | |
| std::span< const Surface *const > | lookup (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const override |
Performs lookup at pos and returns bin content as const reference. | |
| const std::vector< const Surface * > & | lookup (const Vector3 &position, const Vector3 &direction) const override |
Performs lookup at pos and returns bin content as const reference. | |
| const std::vector< const Surface * > & | lookup (std::size_t bin) const override |
| Performs lookup at global bin and returns bin content as const reference. | |
| std::vector< const Surface * > & | lookup (std::size_t bin) override |
| Performs lookup at global bin and returns bin content as reference. | |
| std::uint8_t | maxNeighborDistance () const override |
| Get the maximum neighbor distance that is supported by this lookup. | |
| std::span< const Surface *const > | neighbors (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const override |
Performs a lookup at pos, but returns neighbors as well. | |
| const std::vector< const Surface * > & | neighbors (const Vector3 &position, const Vector3 &direction) const override |
Performs a lookup at pos, but returns neighbors as well. | |
| std::array< std::size_t, 2 > | numLocalBins () const override |
| Get the number of local bins in each dimension. | |
| std::size_t | size () const override |
| Returns the total size of the grid (including under/overflow bins). | |
| const Surface * | surfaceRepresentation () const override |
| Get the representative surface used for this lookup. | |
Lookup helper which encapsulates a Grid.
| Axis1 | The first axis |
| Axis2 | The second axis |
| Acts::SurfaceArray::SurfaceGridLookup< Axis1, Axis2 >::SurfaceGridLookup | ( | std::shared_ptr< RegularSurface > | representative, |
| double | tolerance, | ||
| std::tuple< Axis1, Axis2 > | axes, | ||
| const std::vector< AxisDirection > & | bValues = {}, | ||
| std::uint8_t | maxNeighborDistance = 1 ) |
Construct a surface grid lookup.
| representative | The surface which is used as representative |
| tolerance | The tolerance used for intersection checks |
| axes | The axes used for the grid |
| bValues | Optional vector of axis directions for binning |
| maxNeighborDistance | Maximum next neighbor distance to be included in neighbor lookups |
|
overridevirtual |
Get all surfaces in bin given by local grid indices and neighbor distance.
| gridIndices | the local grid indices |
| neighborDistance | the neighbor distance to include in the lookup |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
The binning values described by this surface grid lookup.
They are in order of the axes (optional) and empty for eingle lookups
Reimplemented from Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Fill provided surfaces into the contained Grid.
| gctx | The current geometry context object, e.g. alignment |
| surfaces | Input surface pointers |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Returns copies of the axes used in the grid as AnyAxis.
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Gets the center position of bin bin in global coordinates.
| bin | the global bin index |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Checks if global bin is valid.
| bin | the global bin index |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs lookup at pos and returns bin content as const reference.
| gctx | The current geometry context object, e.g. alignment |
| position | Lookup position |
| direction | Lookup direction |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs lookup at pos and returns bin content as const reference.
| position | Lookup position |
| direction | Lookup direction |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs lookup at global bin and returns bin content as const reference.
| bin | Global lookup bin |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs lookup at global bin and returns bin content as reference.
| bin | Global lookup bin |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Get the maximum neighbor distance that is supported by this lookup.
This is used to determine how many neighbors to include in neighbor lookups.
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs a lookup at pos, but returns neighbors as well.
| gctx | The current geometry context object, e.g. alignment |
| position | Lookup position |
| direction | Lookup direction |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Performs a lookup at pos, but returns neighbors as well.
| position | Lookup position |
| direction | Lookup direction |
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Get the number of local bins in each dimension.
This is used to determine the size of the grid for neighbor lookups.
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Returns the total size of the grid (including under/overflow bins).
Implements Acts::SurfaceArray::ISurfaceGridLookup.
|
overridevirtual |
Get the representative surface used for this lookup.
Implements Acts::SurfaceArray::ISurfaceGridLookup.