CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TwoTrackMinimumDistance.h
Go to the documentation of this file.
1 #ifndef _TwoTrackMinimumDistance_H_
2 #define _TwoTrackMinimumDistance_H_
3 
9 
20 
21 public:
22 
23  enum Mode { FastMode=0, SlowMode=1 };
24 
27 
28  virtual bool calculate(const TrajectoryStateOnSurface & sta,
29  const TrajectoryStateOnSurface & stb);
30 
31  virtual bool calculate(const FreeTrajectoryState & sta,
32  const FreeTrajectoryState & stb);
33 
34  virtual bool calculate(const GlobalTrajectoryParameters & sta,
35  const GlobalTrajectoryParameters & stb);
36 
37  virtual bool status() const {return status_;}
38 
43  virtual std::pair<GlobalPoint, GlobalPoint> points() const;
44 
46  virtual GlobalPoint crossingPoint() const;
47 
49  virtual float distance() const;
50 
51 
55  virtual TwoTrackMinimumDistance * clone() const {
56  return new TwoTrackMinimumDistance(* this);
57  }
58 
59  double firstAngle() const;
60  double secondAngle() const;
61  std::pair <double, double> pathLength() const;
62 
63 private:
64  enum Charge { hh, hl, ll };
66  mutable Charge theCharge;
71  bool status_;
72  std::pair<GlobalPoint, GlobalPoint> points_;
73 
80 };
81 
82 #endif
virtual float distance() const
virtual bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb)
#define GCC11_FINAL
std::pair< GlobalPoint, GlobalPoint > points_
virtual GlobalPoint crossingPoint() const
TwoTrackMinimumDistanceHelixLine theTTMDhl
bool pointsHelixLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistance(const Mode m=FastMode)
TwoTrackMinimumDistanceHelixHelix theTTMDhh
bool pointsLineLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
virtual bool status() const
#define dso_internal
ClosestApproachInRPhi theIniAlgo
std::pair< double, double > pathLength() const
virtual std::pair< GlobalPoint, GlobalPoint > points() const
bool pointsHelixHelix(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistanceLineLine theTTMDll
virtual TwoTrackMinimumDistance * clone() const