 |
Belle II Software
release-05-02-19
|
13 #include <tracking/trackFindingCDC/legendre/quadtree/QuadTreeProcessor.h>
14 #include <tracking/trackFindingCDC/legendre/precisionFunctions/PrecisionUtil.h>
16 #include <tracking/trackFindingCDC/numerics/LookupTable.h>
17 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
26 namespace TrackFindingCDC {
29 class AxialHitQuadTreeProcessor :
public QuadTreeProcessor<long, float, const CDCWireHit> {
56 const YSpan& curvSpan,
57 const LookupTable<Vector2D>* cosSinLookupTable);
105 void drawHits(std::vector<const CDCWireHit*> hits,
unsigned int color = 46)
const;
bool checkExtremum(QuadTree *node, const CDCWireHit *wireHit) const
Checks whether extremum point is located whithin QuadTree node's ranges.
AxialHitQuadTreeProcessor(int lastLevel, int seedLevel, const XYSpans &ranges, PrecisionUtil::PrecisionFunction precisionFunction)
Constructor.
const double c_curlCurv
The curvature above which the trajectory is considered a curler.
std::pair< XSpan, YSpan > XYSpans
This pair of spans describes the span of a node.
bool checkDerivative(QuadTree *node, const CDCWireHit *wireHit) const
Check derivative of the sinogram.
static const LookupTable< Vector2D > & getCosSinLookupTable()
Get the standard lookup table containing equally spaces unit vectors (cos, sin)
const LookupTable< Vector2D > * m_cosSinLookupTable
Pinned lookup table for precompute cosine and sine values.
bool isInNode(QuadTree *node, const CDCWireHit *wireHit) const final
Check whether hit belongs to the quadtree node:
Abstract base class for different kinds of events.
QuadTreeNode< long, float, Item > QuadTree
The used QuadTree.
XYSpans createChild(QuadTree *node, int i, int j) const final
Return the new ranges.
bool m_twoSidedPhaseSpace
Indicator whether the two sided phases space insertion check should be used This option should automa...
Vector2D m_localOrigin
Local origin on which the phase space coordinates are centered.
bool isLeaf(QuadTree *node) const final
lastLevel depends on curvature of the track candidate
std::function< double(double)> PrecisionFunction
Function type which is used for resolution calculations (resolution=f(curvature)) Takes a curvature v...
PrecisionUtil::PrecisionFunction m_precisionFunction
Lambda which holds resolution function for the quadtree.
typename QuadTree::YSpan YSpan
This pair describes the span in Y for a node.
static std::vector< float > createCurvBound(YSpan curvSpan, int lastLevel)
Constructs an array with the curvature bounds as generated by the default bin divisions.
void drawHits(std::vector< const CDCWireHit * > hits, unsigned int color=46) const
Draw QuadTree node.
void drawNode(QuadTree *node) const
Draw QuadTree node.