8#include <tracking/trackFindingCDC/findlets/minimal/TrackFlightTimeAdjuster.h>
10#include <tracking/trackingUtilities/eventdata/tracks/CDCTrack.h>
12#include <tracking/trackFindingCDC/eventdata/utils/FlightTimeEstimator.h>
18using namespace TrackFindingCDC;
19using namespace TrackingUtilities;
23 return "Adjusts the flight time of tracks relative to the flight time zero location";
32 const double alpha = pos2D.
angleWith(dir2D);
33 const double beta = 1;
34 const double flightTime2D =
36 const double flightTime3D = flightTime2D * hypot2(1, startTrajectory3D.
getTanLambda());
38 track.setStartTrajectory3D(startTrajectory3D);
virtual double getFlightTime2D(const TrackingUtilities::Vector2D &, double, double=1) const
Default estimator for the flight time.
static const FlightTimeEstimator & instance(std::unique_ptr< FlightTimeEstimator > replacement=nullptr)
Getter for the instance.
void apply(std::vector< TrackingUtilities::CDCTrack > &tracks) final
Adjust the flight time of the given tracks.
std::string getDescription() final
Short description of the findlet.
Class representing a sequence of three dimensional reconstructed hits.
Particle full three dimensional trajectory.
Vector3D getFlightDirection3DAtSupport() const
Get the unit momentum at the start point of the trajectory.
double getTanLambda() const
Getter for the slope of z over the transverse travel distance s.
void setFlightTime(double flightTime)
Setter for the time when the particle reached the support point position.
Vector3D getSupport() const
Getter for the support point of the trajectory in global coordinates, where arcLength2D = 0.
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
Abstract base class for different kinds of events.