ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Utilities/BinnedArrayXD.hpp>
Public Member Functions | |
BinnedArrayXD (T object) | |
m_binUtility (nullptr) | |
BinnedArrayXD (const std::vector< TAP > &tapvector, std::unique_ptr< const BinUtility > bu) | |
BinnedArrayXD (const std::vector< std::vector< std::vector< T >>> &grid, std::unique_ptr< const BinUtility > bu) | |
BinnedArrayXD (const BinnedArrayXD< T > &barr)=delete | |
BinnedArrayXD & | operator= (const BinnedArrayXD< T > &barr)=delete |
~BinnedArrayXD () override=default | |
Destructor. | |
T | object (const Vector2D &lposition, std::array< size_t, 3 > &bins) const final |
T | object (const Vector2D &lposition) const override |
T | object (const Vector3D &position, std::array< size_t, 3 > &bins) const final |
T | object (const Vector3D &position) const override |
const std::vector< T > & | arrayObjects () const final |
const std::vector< std::vector < std::vector< T > > > & | objectGrid () const final |
std::vector< T > | objectCluster (const std::array< size_t, 3 > &binTriple) const override |
const BinUtility * | binUtility () const final |
Public Member Functions inherited from Acts::BinnedArray< T > | |
BinnedArray ()=default | |
Default Constructor - needed for inherited classes. | |
virtual | ~BinnedArray ()=default |
Virtual Destructor. | |
Private Types | |
using | TAP = std::pair< T, Vector3D > |
typedef the object and position for readability | |
Private Attributes | |
std::vector< std::vector < std::vector< T > > > | m_objectGrid |
the data store - a 3D array at default | |
std::vector< T > | m_arrayObjects |
Vector of unique Array objects. | |
std::unique_ptr< const BinUtility > | m_binUtility |
binUtility for retrieving and filling the Array | |
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
Definition at line 33 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 33 of file BinnedArrayXD.hpp
|
private |
typedef the object and position for readability
Definition at line 35 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 35 of file BinnedArrayXD.hpp
|
inline |
Constructor for single object
object | is the single object |
Definition at line 41 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 41 of file BinnedArrayXD.hpp
|
inline |
Constructor with std::vector and a BinUtility
tapvector | is a vector of object and binning position |
bu | is the unique bin utility for this binned array |
reserve the right amount of data
loop over the object & position for ordering
check for inside
fill the data
fill the unique m_arrayObjects
Definition at line 56 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 56 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_arrayObjects, Acts::BinnedArrayXD< T >::m_binUtility, and Acts::BinnedArrayXD< T >::m_objectGrid.
|
inline |
Constructor with a grid and a BinUtility
grid | is the prepared object grid |
bu | is the unique bin utility for this binned array |
reserve the right amount of data
loop over the object & position for ordering
fill the unique m_arrayObjects
Definition at line 88 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 88 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_arrayObjects, Acts::BinnedArrayXD< T >::m_binUtility, and Acts::BinnedArrayXD< T >::m_objectGrid.
|
delete |
Copy constructor
|
overridedefault |
Destructor.
|
inlinefinalvirtual |
Return all unqiue object
Implements Acts::BinnedArray< T >.
Definition at line 175 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 175 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_arrayObjects.
|
inlinefinalvirtual |
Return the BinUtility
Implements Acts::BinnedArray< T >.
Definition at line 232 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 232 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_binUtility.
|
inline |
fill the single object into the object grid
Definition at line 46 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 46 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_objectGrid, and Acts::BinnedArrayXD< T >::object().
|
inlinefinalvirtual |
Returns the object in the array from a local position
lposition | is the local position for the bin search |
bins | is the bin triple filled during this access |
Implements Acts::BinnedArray< T >.
Definition at line 133 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 133 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_binUtility, and Acts::BinnedArrayXD< T >::m_objectGrid.
Referenced by Acts::BinnedArrayXD< T >::m_binUtility(), Acts::BinnedArrayXD< T >::object(), and Acts::BinnedArrayXD< T >::objectCluster().
|
inlineoverridevirtual |
Same method without bins for backward compatibility
lposition | is the local position for finding the obect |
Reimplemented from Acts::BinnedArray< T >.
Definition at line 145 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 145 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::object().
|
inlinefinalvirtual |
Returns the object in the array from a global position
position | is the global position for the bin search |
bins | is the bins triple filled during access |
Implements Acts::BinnedArray< T >.
Definition at line 156 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 156 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_binUtility, and Acts::BinnedArrayXD< T >::m_objectGrid.
|
inlineoverridevirtual |
Same method without bins for backward compatibility
position | is the global position for the object finding |
Reimplemented from Acts::BinnedArray< T >.
Definition at line 168 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 168 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::object().
|
inlineoverridevirtual |
Returns the object according to the bin triple and their neighbour objects (if different)
binTriple | is the binning |
Implements Acts::BinnedArray< T >.
Definition at line 190 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 190 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_binUtility, Acts::BinnedArrayXD< T >::m_objectGrid, Acts::BinnedArrayXD< T >::object(), and T.
|
inlinefinalvirtual |
Return the object grid multiple entries are allowed and wanted
Implements Acts::BinnedArray< T >.
Definition at line 180 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 180 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_objectGrid.
|
delete |
Assignment operator
|
private |
Vector of unique Array objects.
Definition at line 238 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 238 of file BinnedArrayXD.hpp
Referenced by Acts::BinnedArrayXD< T >::arrayObjects(), and Acts::BinnedArrayXD< T >::BinnedArrayXD().
|
private |
binUtility for retrieving and filling the Array
Definition at line 240 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 240 of file BinnedArrayXD.hpp
Referenced by Acts::BinnedArrayXD< T >::BinnedArrayXD(), Acts::BinnedArrayXD< T >::binUtility(), Acts::BinnedArrayXD< T >::object(), and Acts::BinnedArrayXD< T >::objectCluster().
|
private |
the data store - a 3D array at default
Definition at line 236 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 236 of file BinnedArrayXD.hpp
Referenced by Acts::BinnedArrayXD< T >::BinnedArrayXD(), Acts::BinnedArrayXD< T >::m_binUtility(), Acts::BinnedArrayXD< T >::object(), Acts::BinnedArrayXD< T >::objectCluster(), and Acts::BinnedArrayXD< T >::objectGrid().