1 #ifndef _TwoTrackMinimumDistance_H_
2 #define _TwoTrackMinimumDistance_H_
23 enum Mode { FastMode=0, SlowMode=1 };
37 virtual bool status()
const {
return status_;}
43 virtual std::pair<GlobalPoint, GlobalPoint>
points()
const;
55 virtual TwoTrackMinimumDistance *
clone()
const {
56 return new TwoTrackMinimumDistance(*
this);
59 double firstAngle()
const;
60 double secondAngle()
const;
61 std::pair <double, double> pathLength()
const;
72 std::pair<GlobalPoint, GlobalPoint>
points_;
virtual float distance() const =0
ClosestApproachInRPhi theIniAlgo
TwoTrackMinimumDistanceHelixLine theTTMDhl
TwoTrackMinimumDistanceLineLine theTTMDll
virtual TwoTrackMinimumDistance * clone() const
TwoTrackMinimumDistance(const Mode m=FastMode)
~TwoTrackMinimumDistance()
virtual std::pair< GlobalPoint, GlobalPoint > points() const =0
virtual bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb)=0
TwoTrackMinimumDistanceHelixHelix theTTMDhh
std::pair< GlobalPoint, GlobalPoint > points_
virtual bool status() const
virtual GlobalPoint crossingPoint() const =0
Unlimited (trivial) bounds.