EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Utilities/BinUtility.hpp>
Public Member Functions | |
BinUtility () | |
Constructor for equidistant. | |
BinUtility (const Transform3D &tForm) | |
BinUtility (const BinningData &bData, const Transform3D &tForm=Transform3D::Identity()) | |
BinUtility (size_t bins, float min, float max, BinningOption opt=open, BinningValue value=binX, const Transform3D &tForm=Transform3D::Identity()) | |
BinUtility (std::vector< float > &bValues, BinningOption opt=open, BinningValue value=binPhi, const Transform3D &tForm=Transform3D::Identity()) | |
BinUtility (const BinUtility &sbu) | |
BinUtility & | operator= (const BinUtility &sbu) |
BinUtility & | operator+= (const BinUtility &gbu) |
~BinUtility ()=default | |
Virtual Destructor. | |
const std::vector< BinningData > & | binningData () const |
return the binning data vector | |
size_t | bins () const |
Return the total number of bins. | |
std::array< size_t, 3 > | binTriple (const Vector3D &position) const |
size_t | bin (const Vector3D &position, size_t ba=0) const |
std::vector< size_t > | neighbourRange (const Vector3D &position, size_t ba=0) const |
int | nextDirection (const Vector3D &position, const Vector3D &direction, size_t ba=0) const |
size_t | bin (const Vector2D &lposition, size_t ba=0) const |
bool | inside (const Vector3D &position) const |
bool | inside (const Vector2D &lposition) const |
size_t | dimensions () const |
size_t | max (size_t ba=0) const |
size_t | bins (size_t ba) const |
const Transform3D & | transform () const |
BinningValue | binningValue (size_t ba=0) const |
size_t | serialize (const std::array< size_t, 3 > &bin) const |
std::ostream & | toStream (std::ostream &sl) const |
Private Attributes | |
std::vector< BinningData > | m_binningData |
Transform3D | m_transform |
vector of BinningData | |
Transform3D | m_itransform |
shared transform | |
The BinUtility class that translated global and local position into a bins of a BinnedArray, most performant is equidistant binning without a transform, however, optionally a transform can be provided, e.g. for binning on shifted object, the transform is usually shared with the geometric object the Array is defined on, for performance reasons, also the inverse transform is stored.
Definition at line 31 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 31 of file BinUtility.hpp
|
inline |
Constructor for equidistant.
Definition at line 34 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 34 of file BinUtility.hpp
References m_binningData.
|
inline |
Constructor with only a Transform3D
tForm | is the local to global transform |
Definition at line 44 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 44 of file BinUtility.hpp
References m_binningData.
|
inline |
Constructor from BinningData directly
bData | is the provided binning data |
tForm | is the (optional) transform |
Definition at line 53 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 53 of file BinUtility.hpp
References m_binningData.
|
inline |
Constructor for equidistant
bins | is the number of bins |
min | in the minimal value |
max | is the maximal value |
opt | is the binning option : open, closed |
value | is the binninb value : binX, binY, binZ, etc. |
tForm | is the (optional) transform |
Definition at line 68 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 68 of file BinUtility.hpp
References m_binningData, and value.
|
inline |
Constructor for arbitrary
bValues | is the boundary values of the binning |
opt | is the binning option : open, closed |
value | is the binninb value : binX, binY, binZ, etc. |
tForm | is the (optional) transform |
Definition at line 82 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 82 of file BinUtility.hpp
References m_binningData, and value.
|
inline |
Copy constructor
sbu | is the source bin utility |
Definition at line 93 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 93 of file BinUtility.hpp
|
default |
Virtual Destructor.
|
inline |
Bin from a 3D vector (already in binning frame)
position | is the 3D position to be evaluated |
ba | is the bin dimension |
Definition at line 160 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 160 of file BinUtility.hpp
References m_binningData, and m_itransform.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), linit(), lmcmnd(), lmidat(), lmsimp(), neighbourRange(), pollinit(), pybook(), pydump(), pyfact(), pyfill(), pyhist(), pynull(), pyoper(), and pyplot().
|
inline |
Bin from a 2D vector (following local parameters defintitions)
You need to make sure that the local position is actually in the binning frame of the BinUtility
lposition | is the local position to be set |
ba | is the bin dimension |
Definition at line 225 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 225 of file BinUtility.hpp
References m_binningData.
|
inline |
return the binning data vector
Definition at line 129 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 129 of file BinUtility.hpp
References m_binningData.
Referenced by Acts::adjustBinUtility(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::createGrid2D(), Acts::createGrid3D(), Acts::detail::findLocalTopAndBottomEnd(), operator+=(), Acts::JsonGeometryConverter::surfaceMaterialToJson(), and ActsExamples::RootMaterialWriter::write().
|
inline |
The type/value of the binning
ba | is the binaccessor |
Definition at line 301 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 301 of file BinUtility.hpp
References m_binningData.
|
inline |
Return the total number of bins.
Definition at line 132 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 132 of file BinUtility.hpp
References bins().
Referenced by Acts::AccumulatedSurfaceMaterial::AccumulatedSurfaceMaterial(), bins(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::JsonGeometryConverter::jsonToSurfaceMaterial(), max(), and ActsExamples::RootMaterialWriter::write().
|
inline |
Number of bins
ba | is the binaccessor |
Definition at line 284 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 284 of file BinUtility.hpp
References bins(), and m_binningData.
|
inline |
Bin-triple fast access
position | is the 3D position to be evaluated |
transform or not
now get the bins
return the triple
Definition at line 141 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 141 of file BinUtility.hpp
References m_binningData, m_itransform, and Acts::VectorHelpers::position().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
First bin maximal value
Definition at line 265 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 265 of file BinUtility.hpp
References m_binningData.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::JsonGeometryConverter::jsonToVolumeMaterial().
|
inline |
Check if bin is inside from Vector2D - optional transform applied
position | is the global position to be evaluated |
transform or not
Definition at line 235 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 235 of file BinUtility.hpp
References Acts::BinningData::inside(), m_binningData, m_itransform, and Acts::VectorHelpers::position().
|
inline |
Check if bin is inside from Vector2D - no optional transform applied
lposition | is the local position to be evaluated |
Definition at line 252 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 252 of file BinUtility.hpp
References m_binningData.
|
inline |
First bin maximal value
ba | is the binaccessor |
Definition at line 272 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 272 of file BinUtility.hpp
References bins(), and m_binningData.
Referenced by Acts::InterpolatedMaterialMap< Mapper_t >::toStream().
|
inline |
Bin neighbour range this method calls the increment/decreement methods the bin itself is also contained, so if not an edge-case this would be | n | c | p |
position | is the position for the neighbour Range test |
ba | is the binning accessor |
Definition at line 178 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 178 of file BinUtility.hpp
References bin(), and m_binningData.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Return the oder direction for fast interlinking
position | is the global position for the next search |
direction | is the global position for the next search |
ba | is the bin accessor |
Definition at line 206 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 206 of file BinUtility.hpp
References m_binningData.
Referenced by Acts::Layer::nextLayer().
|
inline |
Operator++ to make multidimensional BinUtility
gbu | is the additional BinUtility to be chosen |
Definition at line 113 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 113 of file BinUtility.hpp
References binningData(), m_binningData, m_itransform, m_transform, and transform().
|
inline |
Assignment operator
sbu | is the source bin utility |
Definition at line 101 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 101 of file BinUtility.hpp
References m_binningData, m_itransform, and m_transform.
|
inline |
Serialize the bin triple
bin | is the bin to be serialized |
Definition at line 312 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 312 of file BinUtility.hpp
References m_binningData.
|
inline |
Output Method for std::ostream, to be overloaded by child classes
sl | is the ostream to be dumped into |
Definition at line 326 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 326 of file BinUtility.hpp
References Acts::equidistant, and m_binningData.
Referenced by Acts::operator<<().
|
inline |
Transform applied to global positions before lookup
Definition at line 294 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 294 of file BinUtility.hpp
References m_transform.
Referenced by Acts::createGrid2D(), Acts::createGrid3D(), operator+=(), and Acts::JsonGeometryConverter::surfaceMaterialToJson().
|
private |
Definition at line 352 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 352 of file BinUtility.hpp
Referenced by bin(), binningData(), binningValue(), bins(), binTriple(), BinUtility(), dimensions(), inside(), max(), neighbourRange(), nextDirection(), operator+=(), operator=(), serialize(), and toStream().
|
private |
shared transform
Definition at line 354 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 354 of file BinUtility.hpp
Referenced by bin(), binTriple(), inside(), operator+=(), and operator=().
|
private |
vector of BinningData
Definition at line 353 of file BinUtility.hpp.
View newest version in sPHENIX GitHub at line 353 of file BinUtility.hpp
Referenced by operator+=(), operator=(), and transform().