CMS 3D CMS Logo

TwoTrackMinimumDistanceHelixLine.h
Go to the documentation of this file.
1 #ifndef _Tracker_TwoTrackMinimumDistanceHelixLine_H_
2 #define _Tracker_TwoTrackMinimumDistanceHelixLine_H_
3 
6 #include <utility>
16 
18 
19 public:
20 
24 
25 
34  const float qual=.0001 ); // retval=true? error occured.
35 
41  std::pair <GlobalPoint, GlobalPoint> points() const;
42  std::pair <double, double> pathLength() const;
43 
44  double firstAngle() const;
45  double secondAngle() const;
46 
47 private:
51  double X, Y, Z, px, py, pz, px2, py2, pz2, baseFct, baseDer;
53  double thePhiH;
54  double Hn, Ln;
55  double aa,bb,cc,dd,ee,ff;
56 
58  bool updateCoeffs();
59  void finalPoints() const;
60  bool oneIteration(double & thePhiH, double & fct, double & derivative ) const;
62  mutable double tL, linePath, helixPath;
63  mutable bool pointsUpdated;
64 
65 };
66 #endif
Derivative< X, A >::type derivative(const A &_)
Definition: Derivative.h:18
bool oneIteration(double &thePhiH, double &fct, double &derivative) const
std::pair< double, double > pathLength() const
std::pair< GlobalPoint, GlobalPoint > points() const
bool calculate(const GlobalTrajectoryParameters &, const GlobalTrajectoryParameters &, const float qual=.0001)