ATLAS Offline Software
|
#include <BinningData.h>
Public Member Functions | |
BinningData (const BinningData &)=default | |
BinningData (BinningData &&)=default | |
BinningData & | operator= (const BinningData &)=default |
BinningData & | operator= (BinningData &&)=default |
~BinningData ()=default | |
BinningData (BinningType bType, BinningOption bOption, BinningValue bValue, size_t bBins, float bMin, float bMax, float bStep, float bSubStep=0, std::vector< float > bBoundaries=std::vector< float >()) | |
Constructor with arguments. More... | |
BinningData (BinningOption bOption, float bRefPhi, const std::vector< std::pair< int, float >> &bBoundaries) | |
Constructor for binH type : non-equidistant binning assumed. More... | |
float | value (const Amg::Vector2D &lposition) const |
take the right float value - assumes the correct local position expression More... | |
float | value (const Amg::Vector3D &position) const |
take the right float value More... | |
float | gaugePhi (float phi) const |
gauge phi More... | |
std::pair< float, float > | valueH (const Amg::Vector2D &lposition) const |
take float values for binH More... | |
std::pair< float, float > | valueH (const Amg::Vector3D &position) const |
take float values for binH More... | |
bool | inside (const Amg::Vector3D &position) const |
Check if bin is inside from Vector3D. More... | |
bool | inside (const Amg::Vector2D &lp) const |
Check if bin is inside from Vector2D. More... | |
size_t | searchLocal (const Amg::Vector2D &lposition) const |
generic search from a 2D position — corresponds to local coordinate schema More... | |
size_t | searchGlobal (const Amg::Vector3D &position) const |
generic search from a 3D position More... | |
size_t | search (float value) const |
generic search - forwards to correct function pointer More... | |
size_t | searchH (std::pair< double, double > value) const |
generic search - forwards to correct function pointer More... | |
size_t | entry (const Amg::Vector3D &position) const |
the entry bin More... | |
size_t | next (const Amg::Vector3D &position, const Amg::Vector3D &dir) const |
the next bin : gives -1 if the next one is outside More... | |
std::pair< size_t, float > | distanceToNext (const Amg::Vector3D &position, const Amg::Vector3D &dir) const |
distance to the next bin : gives -1 if the next one is outside More... | |
LayerOrder | orderDirection (const Amg::Vector3D &position, const Amg::Vector3D &dir) const |
layer order is needed for value H binning More... | |
float | binPosition (size_t bin, float pos) const |
bin->BinningValue navigation : pos=+-1. More... | |
Public Attributes | |
BinningType | type |
holding all the data for binning calculatuion More... | |
BinningOption | option |
BinningValue | binvalue |
size_t | bins |
float | min |
float | max |
float | step |
float | subStep |
float | refphi |
std::vector< float > | boundaries |
std::vector< std::pair< int, float > > | hbounds |
Static Private Member Functions | |
static size_t | searchEaquidstantWithBoundary (float value, const BinningData &bData) |
Equidistant search : equidist 0. More... | |
static size_t | searchBiequidistantWithBoundary (float value, const BinningData &bData) |
Biequidistant search : biequidist 1. More... | |
static size_t | searchInVectorWithBoundary (float value, const BinningData &bData) |
Linear search in vector - superior in O(10) searches: arbitraty 2. More... | |
static size_t | binarySearchWithBoundary (float value, const BinningData &bData) |
A binary search with underflow/overflow - faster than vector search for O(50) objects. More... | |
static size_t | searchInVectorWithMixedBoundary (std::pair< float, float > val, const BinningData &bData) |
Search in mixed vector - linear in O-10 bins, otherwise binary. More... | |
Private Attributes | |
size_t(* | m_functionPtr )(float, const BinningData &) |
the pointer to the function to be used More... | |
size_t(* | m_mixPtr )(std::pair< float, float >, const BinningData &) |
This class holds all the data necessary for the bin calculation
phi has a very particular behaviour:
Definition at line 46 of file BinningData.h.
|
default |
|
default |
|
default |
|
inline |
|
inline |
Constructor for binH type : non-equidistant binning assumed.
Definition at line 101 of file BinningData.h.
|
inlinestaticprivate |
A binary search with underflow/overflow - faster than vector search for O(50) objects.
Definition at line 384 of file BinningData.h.
|
inline |
bin->BinningValue navigation : pos=+-1.
edges/ 0. bin center
Definition at line 305 of file BinningData.h.
|
inline |
distance to the next bin : gives -1 if the next one is outside
Definition at line 250 of file BinningData.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
default |
|
default |
|
inline |
|
inline |
generic search - forwards to correct function pointer
Definition at line 214 of file BinningData.h.
|
inlinestaticprivate |
|
inlinestaticprivate |
Equidistant search : equidist 0.
Definition at line 324 of file BinningData.h.
|
inline |
|
inline |
generic search - forwards to correct function pointer
Definition at line 221 of file BinningData.h.
|
inlinestaticprivate |
Linear search in vector - superior in O(10) searches: arbitraty 2.
Definition at line 359 of file BinningData.h.
|
inlinestaticprivate |
Search in mixed vector - linear in O-10 bins, otherwise binary.
Definition at line 418 of file BinningData.h.
|
inline |
|
inline |
take the right float value - assumes the correct local position expression
Definition at line 120 of file BinningData.h.
|
inline |
|
inline |
take float values for binH
Definition at line 157 of file BinningData.h.
|
inline |
take float values for binH
Definition at line 163 of file BinningData.h.
size_t Trk::BinningData::bins |
Definition at line 53 of file BinningData.h.
BinningValue Trk::BinningData::binvalue |
Definition at line 52 of file BinningData.h.
std::vector<float> Trk::BinningData::boundaries |
Definition at line 59 of file BinningData.h.
std::vector<std::pair<int, float> > Trk::BinningData::hbounds |
Definition at line 60 of file BinningData.h.
|
private |
the pointer to the function to be used
Definition at line 320 of file BinningData.h.
|
private |
Definition at line 321 of file BinningData.h.
float Trk::BinningData::max |
Definition at line 55 of file BinningData.h.
float Trk::BinningData::min |
Definition at line 54 of file BinningData.h.
BinningOption Trk::BinningData::option |
Definition at line 51 of file BinningData.h.
float Trk::BinningData::refphi |
Definition at line 58 of file BinningData.h.
float Trk::BinningData::step |
Definition at line 56 of file BinningData.h.
float Trk::BinningData::subStep |
Definition at line 57 of file BinningData.h.
BinningType Trk::BinningData::type |
holding all the data for binning calculatuion
Definition at line 50 of file BinningData.h.