Belle II Software  release-08-01-10
OffOriginExtension Class Reference

Class performs extension (adding new hits) of given candidate using conformal transformation w.r.t point on the trajectory. More...

#include <OffOriginExtension.h>

Inheritance diagram for OffOriginExtension:
Collaboration diagram for OffOriginExtension:

Public Member Functions

 OffOriginExtension (std::vector< const CDCWireHit * > allAxialWireHits, double levelPrecision=9)
 Constructor.
 
void operator() (const std::vector< const CDCWireHit * > &inputWireHits, void *qt) final
 Main entry point for the post processing call from the QuadTreeProcessor.
 
std::vector< const CDCWireHit * > roadSearch (const std::vector< const CDCWireHit * > &wireHits)
 Perform transformation for set of given hits; reference position taken as POCA of the fitted trajectory.
 
std::vector< const CDCWireHit * > getHitsWRTtoRefPos (const Vector2D &refPos, float curv, float theta)
 Get hits which are compatible with given trajectory. More...
 
const std::vector< CDCTrack > & getTracks () const
 Get the collected tracks.
 

Protected Attributes

std::vector< const CDCWireHit * > m_allAxialWireHits
 Pool of all axial hits from which the road search may select additional hits.
 
std::vector< CDCTrackm_tracks
 Collected tracks.
 

Private Attributes

double m_levelPrecision
 Precision level for the width of the off origin hough search.
 

Detailed Description

Class performs extension (adding new hits) of given candidate using conformal transformation w.r.t point on the trajectory.

Definition at line 26 of file OffOriginExtension.h.

Member Function Documentation

◆ getHitsWRTtoRefPos()

std::vector< const CDCWireHit * > getHitsWRTtoRefPos ( const Vector2D refPos,
float  curv,
float  theta 
)

Get hits which are compatible with given trajectory.

Parameters
refPosdefines 2D reference position with respect to which transformation will be performed
curvcurvarute of the track trajectory
thetaangle between x-axis and vector to the center of the circle which represents trajectory
Returns
vector of CDCWireHit objects which satisfy legendre transformation with respect to the given parameters

Definition at line 98 of file OffOriginExtension.cc.

99 {
100  float thetaPrecision = 3.1415 / (pow(2., m_levelPrecision + 1));
101  float curvPrecision = 0.15 / (pow(2., m_levelPrecision));
102 
103  using YSpan = AxialHitQuadTreeProcessor::YSpan;
104  YSpan curvSpan{curv - curvPrecision, curv + curvPrecision};
105  LookupTable<Vector2D> thetaSpan(&Vector2D::Phi, 1, theta - thetaPrecision, theta + thetaPrecision);
106 
107  AxialHitQuadTreeProcessor qtProcessor(refPos, curvSpan, &thetaSpan);
108  qtProcessor.seed(m_allAxialWireHits);
109 
110  std::vector<const CDCWireHit*> newWireHits = qtProcessor.getAssignedItems();
111  return newWireHits;
112 }
std::vector< const CDCWireHit * > m_allAxialWireHits
Pool of all axial hits from which the road search may select additional hits.
Class which holds precomputed values of a function.
Definition: LookupTable.h:50
double m_levelPrecision
Precision level for the width of the off origin hough search.
typename QuadTree::YSpan YSpan
This pair describes the span in Y for a node.
static Vector2D Phi(const double phi)
Constucts a unit vector with azimuth angle equal to phi.
Definition: Vector2D.h:71

The documentation for this class was generated from the following files: