EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::BinnedArray< T > Class Template Referenceabstract

#include <acts/blob/sPHENIX/Core/include/Acts/Utilities/BinnedArray.hpp>

+ Inheritance diagram for Acts::BinnedArray< T >:

Public Member Functions

 BinnedArray ()=default
 Default Constructor - needed for inherited classes.
 
virtual ~BinnedArray ()=default
 Virtual Destructor.
 
virtual T object (const Vector2D &lposition, std::array< size_t, 3 > &bins) const =0
 
virtual T object (const Vector2D &lposition) const
 
virtual T object (const Vector3D &position, std::array< size_t, 3 > &bin) const =0
 
virtual T object (const Vector3D &position) const
 
virtual std::vector< TobjectCluster (const std::array< size_t, 3 > &bin) const =0
 
virtual const std::vector< T > & arrayObjects () const =0
 
virtual const std::vector
< std::vector< std::vector< T > > > & 
objectGrid () const =0
 
virtual const BinUtilitybinUtility () const =0
 

Detailed Description

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

Pure virtual base class for Binned Array to avoid map searches

  • there is only one restriction: T must be of pointer type in order to be initialized withh nullptr and to allow for nullptr return type
  • the BinnedArray is designed for 0D, 1D, 2D, and 3D binning

Definition at line 31 of file BinnedArray.hpp.

View newest version in sPHENIX GitHub at line 31 of file BinnedArray.hpp

Constructor & Destructor Documentation

template<class T >
Acts::BinnedArray< T >::BinnedArray ( )
default

Default Constructor - needed for inherited classes.

template<class T >
virtual Acts::BinnedArray< T >::~BinnedArray ( )
virtualdefault

Virtual Destructor.

Member Function Documentation

template<class T >
virtual const std::vector<T>& Acts::BinnedArray< T >::arrayObjects ( ) const
pure virtual

Return all unqiue object

Note
this is the accessor to the
Returns
the vector of all array objects

Implemented in Acts::BinnedArrayXD< T >.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), ActsExamples::RootMaterialWriter::collectMaterial(), Acts::VolumeMaterialMapper::collectMaterialSurfaces(), Acts::JsonGeometryConverter::convertToRep(), Acts::GeometryView3D::drawTrackingVolume(), and Acts::SurfaceMaterialMapper::resolveMaterialSurfaces().

+ Here is the caller graph for this function:

template<class T >
virtual const BinUtility* Acts::BinnedArray< T >::binUtility ( ) const
pure virtual

Return the BinUtility

  • if returned 0 it is a 0D array
    Returns
    plain pointer to the bin utility

Implemented in Acts::BinnedArrayXD< T >.

template<class T >
virtual T Acts::BinnedArray< T >::object ( const Vector2D lposition,
std::array< size_t, 3 > &  bins 
) const
pure virtual

Returns the object in the associated bin according the local position

Parameters
lpositionis the local position for the object retrieval
binsis the bin triple to filled
Returns
the object according to the estimated bin

Implemented in Acts::BinnedArrayXD< T >.

Referenced by Acts::BinnedArray< T >::object().

+ Here is the caller graph for this function:

template<class T >
virtual T Acts::BinnedArray< T >::object ( const Vector2D lposition) const
inlinevirtual

Same method without bins for backward compatibility

Parameters
lpositionis the local position for finding the obect
Returns
the object according to the estimated bin

Reimplemented in Acts::BinnedArrayXD< T >.

Definition at line 51 of file BinnedArray.hpp.

View newest version in sPHENIX GitHub at line 51 of file BinnedArray.hpp

References charm_jet_strange_helicity::bins, and Acts::BinnedArray< T >::object().

+ Here is the call graph for this function:

template<class T >
virtual T Acts::BinnedArray< T >::object ( const Vector3D position,
std::array< size_t, 3 > &  bin 
) const
pure virtual

Returns the object in the associated bin according the local position

Parameters
positionis the global position for the object retrieval
binis the bin triple filled
Returns
the object according to the estimated bin

Implemented in Acts::BinnedArrayXD< T >.

template<class T >
virtual T Acts::BinnedArray< T >::object ( const Vector3D position) const
inlinevirtual

Same method without bins for backward compatibility

Parameters
positionis the global position for the object finding
Returns
the object according to the estimated bin

Reimplemented in Acts::BinnedArrayXD< T >.

Definition at line 70 of file BinnedArray.hpp.

View newest version in sPHENIX GitHub at line 70 of file BinnedArray.hpp

References charm_jet_strange_helicity::bins, and Acts::BinnedArray< T >::object().

+ Here is the call graph for this function:

template<class T >
virtual std::vector<T> Acts::BinnedArray< T >::objectCluster ( const std::array< size_t, 3 > &  bin) const
pure virtual

Returns the object found through global position search and their neighbor objects

Parameters
binis the binning
Returns
a vector of unique objects

Implemented in Acts::BinnedArrayXD< T >.

template<class T >
virtual const std::vector<std::vector<std::vector<T> > >& Acts::BinnedArray< T >::objectGrid ( ) const
pure virtual

Return the object grid multiple entries are allowed

Returns
the object grid

Implemented in Acts::BinnedArrayXD< T >.


The documentation for this class was generated from the following file: