CMS 3D CMS Logo

TwoTrackMinimumDistanceHelixHelix.h
Go to the documentation of this file.
1 #ifndef _Tracker_TwoTrackMinimumDistanceHelixHelix_H_
2 #define _Tracker_TwoTrackMinimumDistanceHelixHelix_H_
3 
5 // #include <string>
6 // #include <sstream>
7 #include <utility>
8 
17 
19 public:
22 
25  const float qual = .001); // retval=true? error occured.
26 
27  std::pair<GlobalPoint, GlobalPoint> points() const { return std::pair<GlobalPoint, GlobalPoint>(pointG, pointH); }
28 
29  std::pair<double, double> pathLength() const { return std::pair<double, double>(pathG, pathH); }
30 
31  double firstAngle() const { return thepG; }
32  double secondAngle() const { return thepH; }
33 
34 private:
35  bool updateCoeffs(const GlobalPoint &, const GlobalPoint &);
36  bool oneIteration(double &, double &);
37 
38  // bool parallelTracks () const;
39  void finalPoints();
40 
41 private:
43  // the 'GH-track data' (constants)
45  // double thelambdaG, thelambdaH;
49  double thepG0, thepH0;
50 
51  // the variable stuff
52  // = the point we are currently looking at.
53  double thepG, thepH;
54  double thesinpG, thesinpH;
55  double thecospG, thecospH;
57  double pathG, pathH;
59 
62 };
63 #endif
bool updateCoeffs(const GlobalPoint &, const GlobalPoint &)
bool calculate(const GlobalTrajectoryParameters &, const GlobalTrajectoryParameters &, const float qual=.001)
std::pair< GlobalPoint, GlobalPoint > points() const
std::pair< double, double > pathLength() const