CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TwoTrackMinimumDistance.h
Go to the documentation of this file.
1 #ifndef _TwoTrackMinimumDistance_H_
2 #define _TwoTrackMinimumDistance_H_
3 
10 
21 public:
22  enum Mode { FastMode = 0, SlowMode = 1 };
23 
25  theModus = m;
26  status_ = false;
27  };
29 
30  bool calculate(const TrajectoryStateOnSurface& sta, const TrajectoryStateOnSurface& stb) override;
31 
32  bool calculate(const FreeTrajectoryState& sta, const FreeTrajectoryState& stb) override;
33 
34  virtual bool calculate(const GlobalTrajectoryParameters& sta, const GlobalTrajectoryParameters& stb);
35 
36  bool status() const override { return status_; }
37 
42  std::pair<GlobalPoint, GlobalPoint> points() const override;
43 
45  GlobalPoint crossingPoint() const override;
46 
48  float distance() const override;
49 
53  TwoTrackMinimumDistance* clone() const override { return new TwoTrackMinimumDistance(*this); }
54 
55  double firstAngle() const;
56  double secondAngle() const;
57  std::pair<double, double> pathLength() const;
58 
59 private:
60  enum Charge { hh, hl, ll };
67  bool status_;
68  std::pair<GlobalPoint, GlobalPoint> points_;
69 
73 };
74 
75 #endif
std::pair< GlobalPoint, GlobalPoint > points_
bool status() const override
GlobalPoint crossingPoint() const override
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
TwoTrackMinimumDistanceHelixLine theTTMDhl
bool pointsHelixLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistance(const Mode m=FastMode)
TwoTrackMinimumDistance * clone() const override
#define dso_internal
Definition: Visibility.h:13
std::pair< GlobalPoint, GlobalPoint > points() const override
TwoTrackMinimumDistanceHelixHelix theTTMDhh
bool pointsLineLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
ClosestApproachInRPhi theIniAlgo
std::pair< double, double > pathLength() const
float distance() const override
bool pointsHelixHelix(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
TwoTrackMinimumDistanceLineLine theTTMDll