|
ACTS
Experiment-independent tracking
|
Concrete class deriving from GridPortalLink that boxes a concrete grid for lookup.
More...
#include <Acts/Geometry/GridPortalLink.hpp>
Public Types | |
| using | GridType = Grid<const TrackingVolume*, Axes...> |
| The internal grid type. | |
Public Member Functions | |
| GridPortalLinkT (std::shared_ptr< RegularSurface > surface, AxisDirection direction, Axes &&... axes) | |
| Constructor from a surface, axes and direction. | |
| unsigned int | dim () const override |
| Get the number of dimensions of the grid. | |
| std::unique_ptr< GridPortalLink > | extendTo2d (const IAxis *other) const override |
| Makes a 2D grid from a 1D grid by extending it using an optional axis. | |
| const GridType & | grid () const override |
| Get the grid. | |
| GridType & | grid () override |
| Get the grid. | |
| Result< const TrackingVolume * > | resolveVolume (const GeometryContext &, const Vector2 &position, double=s_onSurfaceTolerance) const override |
| Lookup the tracking volume at a position on the surface. | |
| Result< const TrackingVolume * > | resolveVolume (const GeometryContext &gctx, const Vector3 &position, double tolerance=s_onSurfaceTolerance) const override |
| Lookup the tracking volume at a position on the surface. | |
| void | setVolume (TrackingVolume *volume) override |
| Set the volume on all grid bins. | |
| void | toStream (std::ostream &os) const override |
| Prints an identification to the output stream. | |
| Public Member Functions inherited from Acts::GridPortalLink | |
| ~GridPortalLink () override | |
| Override the destructor so we can get away with forward declaration of TrivialPortalLink. | |
| std::span< const TrivialPortalLink > | artifactPortalLinks () const |
| Get the artifact portal links. | |
| AxisDirection | direction () const |
| The binning direction of the grid. | |
| void | printContents (std::ostream &os) const |
| Helper function that prints a textual representation of the grid with the volume names. | |
| void | setArtifactPortalLinks (std::vector< TrivialPortalLink > links) |
| Set the artifact portal links. | |
| Public Member Functions inherited from Acts::PortalLinkBase | |
| virtual | ~PortalLinkBase ()=default |
| Virtual destructor in case the object is held as a derived. | |
| void | setSurface (std::shared_ptr< RegularSurface > surface) |
| Setter for the surface. | |
| const RegularSurface & | surface () const |
| Getter for the associated surface. | |
| const std::shared_ptr< RegularSurface > & | surfacePtr () const |
| Getter for the underlying shared pointer. | |
Static Public Attributes | |
| static constexpr std::size_t | DIM = sizeof...(Axes) |
| The dimension of the grid. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Acts::GridPortalLink | |
| static void | fillMergedGrid (const GridPortalLink &a, const GridPortalLink &b, GridPortalLink &merged, AxisDirection direction, const Logger &logger) |
| Helper function to fill the bin contents after merging. | |
| static std::unique_ptr< GridPortalLink > | make (const std::shared_ptr< RegularSurface > &surface, TrackingVolume &volume, AxisDirection direction) |
| Factory function for an automatically sized one-dimensional grid. | |
| template<AxisConcept axis_1_t, AxisConcept axis_2_t> | |
| static std::unique_ptr< GridPortalLinkT< axis_1_t, axis_2_t > > | make (std::shared_ptr< RegularSurface > surface, axis_1_t axis1, axis_2_t axis2) |
| Factory function for a two-dimensional grid portal link, which allows using template deduction to figure out the right type. | |
| template<AxisConcept axis_t> | |
| static std::unique_ptr< GridPortalLinkT< axis_t > > | make (std::shared_ptr< RegularSurface > surface, AxisDirection direction, axis_t &&axis) |
| Factory function for a one-dimensional grid portal link, which allows using template deduction to figure out the right type. | |
| static std::unique_ptr< PortalLinkBase > | merge (const GridPortalLink &a, const GridPortalLink &b, AxisDirection direction, const Logger &logger=getDummyLogger()) |
| Merge two grid portal links into a single one. | |
| Static Public Member Functions inherited from Acts::PortalLinkBase | |
| static std::unique_ptr< PortalLinkBase > | merge (std::unique_ptr< PortalLinkBase > a, std::unique_ptr< PortalLinkBase > b, AxisDirection direction, const Logger &logger=getDummyLogger()) |
| Merge two portal link into a single one. | |
| Protected Types inherited from Acts::GridPortalLink | |
| enum class | FillDirection { loc0 , loc1 } |
| Helper enum to declare which local direction to fill. More... | |
| Protected Member Functions inherited from Acts::GridPortalLink | |
| GridPortalLink (std::shared_ptr< RegularSurface > surface, AxisDirection direction) | |
| Constructor from a surface and a direction, for initialization by derived class. | |
| std::unique_ptr< GridPortalLink > | extendTo2dImpl (const std::shared_ptr< CylinderSurface > &surface, const IAxis *other) const |
| Expand a 1D grid to a 2D one for a cylinder surface. | |
| std::unique_ptr< GridPortalLink > | extendTo2dImpl (const std::shared_ptr< DiscSurface > &surface, const IAxis *other) const |
| Expand a 1D grid to a 2D one for a disc surface. | |
| std::unique_ptr< GridPortalLink > | extendTo2dImpl (const std::shared_ptr< PlaneSurface > &surface, const IAxis *other) const |
| Expand a 1D grid to a 2D one for a plane surface. | |
| Protected Member Functions inherited from Acts::PortalLinkBase | |
| PortalLinkBase (std::shared_ptr< RegularSurface > surface) | |
| Constructor from a surface. | |
| Static Protected Member Functions inherited from Acts::GridPortalLink | |
| static void | checkConsistency (const IGrid &grid, AxisDirection direction, const CylinderSurface &cyl) |
| Helper function to check consistency for grid on a cylinder surface. | |
| static void | checkConsistency (const IGrid &grid, AxisDirection direction, const DiscSurface &disc) |
| Helper function to check consistency for grid on a disc surface. | |
| static void | checkConsistency (const IGrid &grid, AxisDirection direction, const PlaneSurface &plane) |
| Helper function to check consistency for grid on a plane surface. | |
| static void | fillGrid1dTo2d (FillDirection dir, const GridPortalLink &grid1d, GridPortalLink &grid2d) |
| Helper function to fill a 2D grid from a 1D grid, by extending all bins along the different direction. | |
| Static Protected Member Functions inherited from Acts::PortalLinkBase | |
| static void | checkMergePreconditions (const PortalLinkBase &a, const PortalLinkBase &b, AxisDirection direction) |
| Helper function to check a number of preconditions before merging is executed. | |
| Protected Attributes inherited from Acts::PortalLinkBase | |
| std::shared_ptr< RegularSurface > | m_surface |
| Surface associated with this portal link. | |
Concrete class deriving from GridPortalLink that boxes a concrete grid for lookup.
| Axes | The axis types of the grid |
| using Acts::GridPortalLinkT< Axes >::GridType = Grid<const TrackingVolume*, Axes...> |
The internal grid type.
| Acts::GridPortalLinkT< Axes >::GridPortalLinkT | ( | std::shared_ptr< RegularSurface > | surface, |
| AxisDirection | direction, | ||
| Axes &&... | axes ) |
Constructor from a surface, axes and direction.
| surface | The surface |
| direction | The binning direction |
| axes | The axes for the grid |
surface.
|
overridevirtual |
Get the number of dimensions of the grid.
Implements Acts::GridPortalLink.
|
overridevirtual |
Makes a 2D grid from a 1D grid by extending it using an optional axis.
| other | The axis to use for the missing direction, can be null for auto determination |
Implements Acts::GridPortalLink.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Lookup the tracking volume at a position on the surface.
| position | The local position |
Implements Acts::PortalLinkBase.
|
overridevirtual |
Lookup the tracking volume at a position on the surface.
| gctx | The geometry context |
| position | The local position |
| tolerance | The tolerance for the lookup |
Implements Acts::PortalLinkBase.
|
overridevirtual |
Set the volume on all grid bins.
| volume | The volume to set |
Implements Acts::GridPortalLink.
|
overridevirtual |
Prints an identification to the output stream.
| os | The output stream |
Implements Acts::PortalLinkBase.
|
staticconstexpr |
The dimension of the grid.