CMS 3D CMS Logo

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  bool calculate(const TrajectoryStateOnSurface & sta,
29  const TrajectoryStateOnSurface & stb) override;
30 
31  bool calculate(const FreeTrajectoryState & sta,
32  const FreeTrajectoryState & stb) override;
33 
34  virtual bool calculate(const GlobalTrajectoryParameters & sta,
35  const GlobalTrajectoryParameters & stb);
36 
37  bool status() const override {return status_;}
38 
43  std::pair<GlobalPoint, GlobalPoint> points() const override;
44 
46  GlobalPoint crossingPoint() const override;
47 
49  float distance() const override;
50 
51 
55  TwoTrackMinimumDistance * clone() const override {
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
std::pair< GlobalPoint, GlobalPoint > points() const override
std::pair< GlobalPoint, GlobalPoint > points_
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
TwoTrackMinimumDistanceHelixLine theTTMDhl
bool pointsHelixLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistance * clone() const override
TwoTrackMinimumDistance(const Mode m=FastMode)
bool status() const override
TwoTrackMinimumDistanceHelixHelix theTTMDhh
bool pointsLineLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
GlobalPoint crossingPoint() const override
float distance() const override
#define dso_internal
ClosestApproachInRPhi theIniAlgo
std::pair< double, double > pathLength() const
bool pointsHelixHelix(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistanceLineLine theTTMDll