|
ACTS
Experiment-independent tracking
|
Provides Surface binning in 2 dimensions. More...
#include <Acts/Surfaces/SurfaceArray.hpp>
Classes | |
| struct | ISurfaceGridLookup |
| Base interface for all surface lookups. More... | |
| struct | SingleElementLookup |
| Lookup implementation which wraps one element and always returns this element when lookup is called. More... | |
| struct | SurfaceGridLookup |
Lookup helper which encapsulates a Grid. More... | |
Public Member Functions | |
| SurfaceArray (std::shared_ptr< const Surface > srf) | |
| Constructor with a single surface. | |
| SurfaceArray (std::unique_ptr< ISurfaceGridLookup > gridLookup, std::vector< std::shared_ptr< const Surface > > surfaces, const Transform3 &transform=Transform3::Identity()) | |
Default constructor which takes a SurfaceLookup and a vector of surfaces. | |
| const SurfaceVector & | at (const Vector3 &position, const Vector3 &direction) const |
Get all surfaces in bin given by position pos. | |
| SurfaceVector & | at (std::size_t bin) |
Get all surfaces in bin given by global bin index bin. | |
| const SurfaceVector & | at (std::size_t bin) const |
| Get all surfaces in bin given by global bin index. | |
| std::vector< AxisDirection > | binningValues () const |
| The binning values described by this surface grid lookup They are in order of the axes. | |
| std::vector< const IAxis * > | getAxes () const |
Get vector of axes spanning the grid as AnyAxis. | |
| Vector3 | getBinCenter (std::size_t bin) const |
Get the center of the bin identified by global bin index bin. | |
| const ISurfaceGridLookup & | gridLookup () const |
| Return the lookup object. | |
| bool | isValidBin (std::size_t bin) const |
| Checks if global bin is valid. | |
| const SurfaceVector & | neighbors (const Vector3 &position, const Vector3 &direction) const |
Get all surfaces in bin at pos and its neighbors. | |
| std::size_t | size () const |
| Get the size of the underlying grid structure including under/overflow bins. | |
| const SurfaceVector & | surfaces () const |
Get all surfaces attached to this SurfaceArray. | |
| std::ostream & | toStream (const GeometryContext &gctx, std::ostream &sl) const |
String representation of this SurfaceArray. | |
| const Transform3 & | transform () const |
| Get the transform of this surface array. | |
Provides Surface binning in 2 dimensions.
Uses Grid under the hood to implement the storage and lookup Contains a lookup struct which talks to the Grid and performs utility actions. This struct needs to be initialised externally and passed to SurfaceArray on construction.
|
explicit |
Default constructor which takes a SurfaceLookup and a vector of surfaces.
| gridLookup | The grid storage. SurfaceArray does not fill it on its own |
| surfaces | The input vector of surfaces. This is only for bookkeeping, so we can ask |
| transform | Optional additional transform for this SurfaceArray |
|
explicit |
Constructor with a single surface.
| srf | The one and only surface |
| const SurfaceVector & Acts::SurfaceArray::at | ( | const Vector3 & | position, |
| const Vector3 & | direction ) const |
Get all surfaces in bin given by position pos.
| position | the lookup position |
| direction | the lookup direction |
SurfaceVector contained in bin at that position | SurfaceVector & Acts::SurfaceArray::at | ( | std::size_t | bin | ) |
Get all surfaces in bin given by global bin index bin.
| bin | the global bin index |
SurfaceVector contained in bin | const SurfaceVector & Acts::SurfaceArray::at | ( | std::size_t | bin | ) | const |
Get all surfaces in bin given by global bin index.
| bin | the global bin index |
SurfaceVector contained in bin | std::vector< AxisDirection > Acts::SurfaceArray::binningValues | ( | ) | const |
The binning values described by this surface grid lookup They are in order of the axes.
| std::vector< const IAxis * > Acts::SurfaceArray::getAxes | ( | ) | const |
Get vector of axes spanning the grid as AnyAxis.
AnyAxis | Vector3 Acts::SurfaceArray::getBinCenter | ( | std::size_t | bin | ) | const |
Get the center of the bin identified by global bin index bin.
| bin | the global bin index |
| const ISurfaceGridLookup & Acts::SurfaceArray::gridLookup | ( | ) | const |
Return the lookup object.
| bool Acts::SurfaceArray::isValidBin | ( | std::size_t | bin | ) | const |
Checks if global bin is valid.
| bin | the global bin index |
| const SurfaceVector & Acts::SurfaceArray::neighbors | ( | const Vector3 & | position, |
| const Vector3 & | direction ) const |
Get all surfaces in bin at pos and its neighbors.
| position | The position to lookup |
| direction | The direction to lookup |
SurfaceVector of neighbors and nominal SurfaceVector will be combined. For technical reasons, the different bin content vectors have to be copied, so the resulting vector contains copies. | std::size_t Acts::SurfaceArray::size | ( | ) | const |
Get the size of the underlying grid structure including under/overflow bins.
| const SurfaceVector & Acts::SurfaceArray::surfaces | ( | ) | const |
Get all surfaces attached to this SurfaceArray.
SurfaceVector containing all surfaces | std::ostream & Acts::SurfaceArray::toStream | ( | const GeometryContext & | gctx, |
| std::ostream & | sl ) const |
String representation of this SurfaceArray.
| gctx | The current geometry context object, e.g. alignment |
| sl | Output stream to write to |
sl | const Transform3 & Acts::SurfaceArray::transform | ( | ) | const |
Get the transform of this surface array.