|
ACTS
Experiment-independent tracking
|
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. More...
#include <Acts/Utilities/BinUtility.hpp>
Public Member Functions | |
| BinUtility () | |
| Constructor for equidistant. | |
| BinUtility (BinUtility &&sbu)=default | |
| Move constructor. | |
| BinUtility (const BinningData &bData, const Transform3 &tForm=Transform3::Identity()) | |
| Constructor from BinningData directly. | |
| BinUtility (const BinUtility &sbu)=default | |
| Copy constructor. | |
| BinUtility (const DirectedProtoAxis &dpAxis) | |
| Create from a DirectedProtoAxis. | |
| BinUtility (const std::vector< DirectedProtoAxis > &dpAxes) | |
| Create from several DirectedProtoAxis objects. | |
| BinUtility (const Transform3 &tForm) | |
| Constructor with only a Transform3. | |
| BinUtility (std::size_t bins, float min, float max, BinningOption opt=open, AxisDirection value=AxisDirection::AxisX, const Transform3 &tForm=Transform3::Identity()) | |
| Constructor for equidistant. | |
| BinUtility (std::vector< float > &bValues, BinningOption opt=open, AxisDirection value=AxisDirection::AxisPhi, const Transform3 &tForm=Transform3::Identity()) | |
| Constructor for arbitrary. | |
| ~BinUtility ()=default | |
| Virtual Destructor. | |
| std::size_t | bin (const Vector2 &lposition, std::size_t ba=0) const |
| Bin from a 2D vector (following local parameters definitions). | |
| std::size_t | bin (const Vector3 &position, std::size_t ba=0) const |
| Bin from a 3D vector (already in binning frame). | |
| const std::vector< BinningData > & | binningData () const |
| Return the binning data vector. | |
| AxisDirection | binningValue (std::size_t ba=0) const |
| The type/value of the binning. | |
| std::size_t | bins () const |
| Return the total number of bins. | |
| std::size_t | bins (std::size_t ba) const |
| Number of bins. | |
| std::array< std::size_t, 3 > | binTriple (const Vector3 &position) const |
| Bin-triple fast access. | |
| std::size_t | dimensions () const |
| First bin maximal value. | |
| bool | inside (const Vector3 &position) const |
| Check if bin is inside from Vector2 - optional transform applied. | |
| std::size_t | max (std::size_t ba=0) const |
| First bin maximal value. | |
| int | nextDirection (const Vector3 &position, const Vector3 &direction, std::size_t ba=0) const |
| Return the other direction for fast interlinking. | |
| BinUtility & | operator+= (const BinUtility &gbu) |
| Operator+= to make multidimensional BinUtility. | |
| BinUtility & | operator= (BinUtility &&)=default |
| Move assignment operator. | |
| BinUtility & | operator= (const BinUtility &sbu) |
| Assignment operator. | |
| bool | operator== (const BinUtility &other) const |
| Equality operator. | |
| std::size_t | serialize (const std::array< std::size_t, 3 > &bin) const |
| Serialize the bin triple. | |
| std::ostream & | toStream (std::ostream &sl, const std::string &indent="") const |
| Output Method for std::ostream, to be overloaded by child classes. | |
| std::string | toString (const std::string &indent="") const |
| Output into a string. | |
| const Transform3 & | transform () const |
| Transform applied to global positions before lookup. | |
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.
| Acts::BinUtility::BinUtility | ( | ) |
Constructor for equidistant.
|
explicit |
Constructor with only a Transform3.
| tForm | is the local to global transform |
|
explicit |
Constructor from BinningData directly.
| bData | is the provided binning data |
| tForm | is the (optional) transform |
| Acts::BinUtility::BinUtility | ( | std::size_t | bins, |
| float | min, | ||
| float | max, | ||
| BinningOption | opt = open, | ||
| AxisDirection | value = AxisDirection::AxisX, | ||
| const Transform3 & | tForm = Transform3::Identity() ) |
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 axis direction : AxisX, AxisY, AxisZ, etc. |
| tForm | is the (optional) transform |
|
explicit |
Constructor for arbitrary.
| bValues | is the boundary values of the binning |
| opt | is the binning option : open, closed |
| value | is the axis direction : AxisX, AxisY, AxisZ, etc. |
| tForm | is the (optional) transform |
|
default |
Copy constructor.
| sbu | is the source bin utility |
|
default |
Move constructor.
| sbu | is the source bin utility |
|
explicit |
Create from a DirectedProtoAxis.
| dpAxis | the DirectedProtoAxis to be used |
|
explicit |
Create from several DirectedProtoAxis objects.
| dpAxes | the DirectedProtoAxis to be used with axis directions |
|
default |
Virtual Destructor.
| std::size_t Acts::BinUtility::bin | ( | const Vector2 & | lposition, |
| std::size_t | ba = 0 ) const |
Bin from a 2D vector (following local parameters definitions).
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 |
| std::size_t Acts::BinUtility::bin | ( | const Vector3 & | position, |
| std::size_t | ba = 0 ) const |
Bin from a 3D vector (already in binning frame).
| position | is the 3D position to be evaluated |
| ba | is the bin dimension |
| const std::vector< BinningData > & Acts::BinUtility::binningData | ( | ) | const |
Return the binning data vector.
| AxisDirection Acts::BinUtility::binningValue | ( | std::size_t | ba = 0 | ) | const |
The type/value of the binning.
| ba | is the binaccessor |
| std::size_t Acts::BinUtility::bins | ( | ) | const |
Return the total number of bins.
| std::size_t Acts::BinUtility::bins | ( | std::size_t | ba | ) | const |
Number of bins.
| ba | is the binaccessor |
| std::array< std::size_t, 3 > Acts::BinUtility::binTriple | ( | const Vector3 & | position | ) | const |
Bin-triple fast access.
| position | is the 3D position to be evaluated |
| std::size_t Acts::BinUtility::dimensions | ( | ) | const |
First bin maximal value.
| bool Acts::BinUtility::inside | ( | const Vector3 & | position | ) | const |
Check if bin is inside from Vector2 - optional transform applied.
| position | is the global position to be evaluated |
| std::size_t Acts::BinUtility::max | ( | std::size_t | ba = 0 | ) | const |
First bin maximal value.
| ba | is the binaccessor |
| int Acts::BinUtility::nextDirection | ( | const Vector3 & | position, |
| const Vector3 & | direction, | ||
| std::size_t | ba = 0 ) const |
Return the other 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 |
| BinUtility & Acts::BinUtility::operator+= | ( | const BinUtility & | gbu | ) |
Operator+= to make multidimensional BinUtility.
| gbu | is the additional BinUtility to be chosen |
|
default |
Move assignment operator.
| BinUtility & Acts::BinUtility::operator= | ( | const BinUtility & | sbu | ) |
Assignment operator.
| sbu | is the source bin utility |
| bool Acts::BinUtility::operator== | ( | const BinUtility & | other | ) | const |
Equality operator.
| other | The other BinUtility to compare with |
| std::size_t Acts::BinUtility::serialize | ( | const std::array< std::size_t, 3 > & | bin | ) | const |
Serialize the bin triple.
| bin | is the bin to be serialized |
| std::ostream & Acts::BinUtility::toStream | ( | std::ostream & | sl, |
| const std::string & | indent = "" ) const |
Output Method for std::ostream, to be overloaded by child classes.
| sl | is the ostream to be dumped into |
| indent | the current indentation |
| std::string Acts::BinUtility::toString | ( | const std::string & | indent = "" | ) | const |
Output into a string.
| indent | the current indentation |
| const Transform3 & Acts::BinUtility::transform | ( | ) | const |
Transform applied to global positions before lookup.