EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/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 34 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 34 of file BinnedArrayXD.hpp
|
private |
typedef the object and position for readability
Definition at line 36 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 36 of file BinnedArrayXD.hpp
|
inline |
Constructor for single object
object | is the single object |
Definition at line 42 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 42 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 57 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 57 of file BinnedArrayXD.hpp
References charm_jet_strange_helicity::bins, 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 89 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 89 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 176 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 176 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_arrayObjects.
|
inlinefinalvirtual |
Return the BinUtility
Implements Acts::BinnedArray< T >.
Definition at line 233 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 233 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_binUtility.
|
inline |
fill the single object into the object grid
Definition at line 47 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 47 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 134 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 134 of file BinnedArrayXD.hpp
References charm_jet_strange_helicity::bins, 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 146 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 146 of file BinnedArrayXD.hpp
References charm_jet_strange_helicity::bins, and 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 157 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 157 of file BinnedArrayXD.hpp
References charm_jet_strange_helicity::bins, Acts::BinnedArrayXD< T >::m_binUtility, Acts::BinnedArrayXD< T >::m_objectGrid, and Acts::VectorHelpers::position().
|
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 169 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 169 of file BinnedArrayXD.hpp
References charm_jet_strange_helicity::bins, and 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 191 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 191 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 181 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 181 of file BinnedArrayXD.hpp
References Acts::BinnedArrayXD< T >::m_objectGrid.
|
delete |
Assignment operator
|
private |
Vector of unique Array objects.
Definition at line 239 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 239 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 241 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 241 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 237 of file BinnedArrayXD.hpp.
View newest version in sPHENIX GitHub at line 237 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().