ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::IGrid Class Referenceabstract

Base class for all grid types. More...

#include <Acts/Utilities/Grid.hpp>

Inheritance diagram for Acts::IGrid:
[legend]

Public Member Functions

virtual ~IGrid ()=default
virtual boost::container::small_vector< const IAxis *, 3 > axes () const =0
 Get a dynamically sized vector of axis objects for inspection.
virtual std::size_t dimensions () const =0
 Get the number of dimensions of the grid.
virtual std::type_info const & valueType () const =0
 Get the type of the values stored in the grid.

Protected Member Functions

virtual std::any atLocalBinsAny (AnyIndexType indices) const =0
 Get the value of a bin for a given set of indices.
virtual std::any atLocalBinsAny (AnyIndexType indices)=0
 Get the value of a bin for a given set of indices.
virtual void toStream (std::ostream &os) const =0
using AnyIndexType = boost::container::small_vector<std::size_t, 3>
 Type-erased interface to access the contents of the grid.
using AnyPointType = boost::container::small_vector<double, 3>
 Type alias for dynamic point type (coordinates as vector of doubles).
virtual AnyPointType lowerLeftBinEdgeAny (AnyIndexType indices) const =0
 Get the lower left edge of a bin for a given set of indices.
virtual AnyPointType upperRightBinEdgeAny (AnyIndexType indices) const =0
 Get the upper right edge of a bin for a given set of indices.
virtual AnyPointType binCenterAny (AnyIndexType indices) const =0
 Get the center of a bin for a given set of indices.
virtual AnyIndexType numLocalBinsAny () const =0
 Get the number of local bins for a given set of indices.

Detailed Description

Base class for all grid types.

Member Typedef Documentation

◆ AnyIndexType

using Acts::IGrid::AnyIndexType = boost::container::small_vector<std::size_t, 3>

Type-erased interface to access the contents of the grid.

Note
This interface has non-negligible runtime overhead due to packing and unpacking from/to std::any and the dynamically sized index and point types. USE WITH CARE!

◆ AnyPointType

using Acts::IGrid::AnyPointType = boost::container::small_vector<double, 3>

Type alias for dynamic point type (coordinates as vector of doubles).

Constructor & Destructor Documentation

◆ ~IGrid()

virtual Acts::IGrid::~IGrid ( )
virtualdefault

Member Function Documentation

◆ atLocalBinsAny() [1/2]

◆ atLocalBinsAny() [2/2]

◆ axes()

◆ binCenterAny()

◆ dimensions()

◆ lowerLeftBinEdgeAny()

◆ numLocalBinsAny()

◆ toStream()

◆ upperRightBinEdgeAny()

◆ valueType()