Template Class BinnedArrayXD

Inheritance Relationships

Base Type

Class Documentation

template<class T>
class Acts::BinnedArrayXD : public Acts::BinnedArray<T>

Avoiding a map search, the templated BinnedArray class can help ordereing geometrical objects by providing a dedicated BinUtility.

This can be 0D, 1D, 2D, and 3D in regular binning

the type of Binning is given defined through the BinUtility

Public Functions

BinnedArrayXD(T object)

Constructor for single object.

Template Parameters
  • object: is the single object

BinnedArrayXD(const std::vector<TAP> &tapvector, std::unique_ptr<const BinUtility> bu)

Constructor with std::vector and a BinUtility.

  • fills the internal data structur

Parameters
  • tapvector: is a vector of object and binning position

  • bu: is the unique bin utility for this binned array

BinnedArrayXD(const std::vector<std::vector<std::vector<T>>> &grid, std::unique_ptr<const BinUtility> bu)

Constructor with a grid and a BinUtility.

Parameters
  • grid: is the prepared object grid

  • bu: is the unique bin utility for this binned array

BinnedArrayXD(const BinnedArrayXD<T> &barr) = delete

Copy constructor.

  • not allowed, use the same array

~BinnedArrayXD() override = default

Destructor.

const std::vector<T> &arrayObjects() const final

Return all unqiue object.

Return

vector of unique array objects

const BinUtility *binUtility() const final

Return the BinUtility.

Return

plain pointer to the bin utility of this array

T object(const Vector2 &lposition, std::array<size_t, 3> &bins) const final

Returns the object in the array from a local position.

Return

is the object in that bin

Parameters
  • lposition: is the local position for the bin search

  • bins: is the bin triple filled during this access

T object(const Vector2 &lposition) const override

Same method without bins for backward compatibility.

Return

the object according to the estimated bin

Parameters
  • lposition: is the local position for finding the obect

T object(const Vector3 &position, std::array<size_t, 3> &bins) const final

Returns the object in the array from a global position.

Return

is the object in that bin

Parameters
  • position: is the global position for the bin search

  • bins: is the bins triple filled during access

T object(const Vector3 &position) const override

Same method without bins for backward compatibility.

Return

the object according to the estimated bin

Parameters
  • position: is the global position for the object finding

const std::vector<std::vector<std::vector<T>>> &objectGrid() const final

Return the object grid multiple entries are allowed and wanted.

Return

internal object grid

BinnedArrayXD &operator=(const BinnedArrayXD<T> &barr) = delete

Assignment operator.

  • not allowed, use the same array