 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
13 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
14 #include <tracking/trackFindingCDC/numerics/LookupTable.h>
24 namespace TrackFindingCDC {
29 class FlightTimeEstimator {
45 instance(std::unique_ptr<FlightTimeEstimator> replacement =
nullptr);
58 double absAlpha = std::fabs(alpha);
69 class CosmicRayFlightTimeEstimator :
public FlightTimeEstimator {
79 double deltaAlpha = pos2D.
angleWith(relPos2D);
81 double absAlpha = std::fabs(alpha);
double getFlightTime2D(const Vector2D &pos2D, double alpha, double beta=1) const override
Flight time estimator for cosmic ray events.
Vector3D m_triggerPoint
Trigger point of the cosmic ray setup.
HepGeom::Vector3D< double > Vector3D
3D Vector
LookupTable< float > m_firstPeriodAlphaFlightTimeFactor
Lookup table for the sinc function.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
virtual double getFlightTime2D(const Vector2D &, double, double=1) const
Default estimator for the flight time.
Concrete estimator for the regular beam event setup.
virtual ~FlightTimeEstimator()=default
Making the destructor virtual for this interface class.
Helper struct to provide consistent flight time estimation throughout the CDC track finding.
double getFlightTime2D(const Vector2D &pos2D, double alpha, double beta=1) const override
Flight time estimator for regular beam events.
Abstract base class for different kinds of events.
A three dimensional vector.
double cylindricalR() const
Gives the cylindrical radius of the vector. Same as norm()
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
static const FlightTimeEstimator & instance(std::unique_ptr< FlightTimeEstimator > replacement=nullptr)
Getter for the instance.
LookupTable< float > m_halfPeriodAlphaFlightTimeFactor
Lookup table for the sinc function.
CosmicRayFlightTimeEstimator(Vector3D triggerPoint=Vector3D(0, 0, 0))
Constructor also setting up the flight time lookup table.
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
BeamEventFlightTimeEstimator()
Constructor also setting up the flight time lookup table.