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 
26 
27  virtual bool calculate(const TrajectoryStateOnSurface & sta,
28  const TrajectoryStateOnSurface & stb);
29 
30  virtual bool calculate(const FreeTrajectoryState & sta,
31  const FreeTrajectoryState & stb);
32 
33  virtual bool calculate(const GlobalTrajectoryParameters & sta,
34  const GlobalTrajectoryParameters & stb);
35 
36  virtual bool status() const {return status_;}
37 
42  virtual std::pair<GlobalPoint, GlobalPoint> points() const;
43 
45  virtual GlobalPoint crossingPoint() const;
46 
48  virtual float distance() const;
49 
50 
54  virtual TwoTrackMinimumDistance * clone() const {
55  return new TwoTrackMinimumDistance(* this);
56  }
57 
58  double firstAngle() const;
59  double secondAngle() const;
60  std::pair <double, double> pathLength() const;
61 
62 private:
63  enum Charge { hh, hl, ll };
65  mutable Charge theCharge;
70  bool status_;
71  std::pair<GlobalPoint, GlobalPoint> points_;
72 
74  const GlobalTrajectoryParameters & stb);
76  const GlobalTrajectoryParameters & stb);
78  const GlobalTrajectoryParameters & stb);
79 };
80 
81 #endif
virtual float distance() const
virtual bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb)
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
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