CMS 3D CMS Logo

TwoTrackMinimumDistanceHelixHelix.h

Go to the documentation of this file.
00001 #ifndef _Tracker_TwoTrackMinimumDistanceHelixHelix_H_
00002 #define _Tracker_TwoTrackMinimumDistanceHelixHelix_H_
00003 
00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00005 // #include <string>
00006 // #include <sstream>
00007 // #include <utility>
00008 
00016 class GlobalTrajectoryParameters;
00017 
00018 class TwoTrackMinimumDistanceHelixHelix {
00019 
00020 public:
00021   TwoTrackMinimumDistanceHelixHelix();
00022   ~TwoTrackMinimumDistanceHelixHelix();
00023 
00024   bool calculate( const GlobalTrajectoryParameters &,
00025       const GlobalTrajectoryParameters &,
00026       const float qual=.001 ); // retval=true? error occured.
00027 
00028   std::pair <GlobalPoint, GlobalPoint> points() const;
00029   std::pair <double, double> pathLength() const;
00030 
00031   double firstAngle() const;
00032   double secondAngle() const;
00033 
00034 private:
00035   bool updateCoeffs( const GlobalPoint & , const GlobalPoint & );
00036   bool oneIteration ( double &, double & ) const;
00037 
00038   inline bool parallelTracks () const;
00039   void finalPoints() const;
00040 
00041 private:
00042   GlobalTrajectoryParameters *theH, *theG;
00043   // the 'GH-track data' (constants)
00044   double thea, theb, thec1, thec2, thed1, thed2, thee1, thee2, theg, theh;
00045   double thelambdaG, thelambdaH;
00046   double thetanlambdaG, thetanlambdaH;
00047   double thesinpG0, thecospG0;
00048   double thesinpH0, thecospH0;
00049   double thepG0, thepH0;
00050 
00051   // the variable stuff
00052   // = the point we are currently looking at.
00053   mutable double thepG, thepH;
00054   mutable double thesinpG, thesinpH;
00055   mutable double thecospG, thecospH;
00056   mutable GlobalPoint pointG, pointH;
00057   mutable double pathG, pathH;
00058   mutable bool pointsUpdated;
00059 
00060   double themaxjump, thesingjac;
00061   int themaxiter;
00062 
00063 };
00064 #endif

Generated on Tue Jun 9 17:48:24 2009 for CMSSW by  doxygen 1.5.4