ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/TrackingTools/PatternTools/interface/TwoTrackMinimumDistanceLineLine.h
Revision: 1.1
Committed: Fri Nov 25 16:38:24 2011 UTC (13 years, 5 months ago) by econte
Content type: text/plain
Branch: MAIN
CVS Tags: TBD2011, TBD_2011, HEAD
Log Message:
new IPHC alignment

File Contents

# User Rev Content
1 econte 1.1 /* $Id: TwoTrackMinimumDistanceLineLine.h,v 1.2 2008/05/02 19:52:24 burkett Exp $ */
2     #ifndef _Tracker_TwoTrackMinimumDistanceLineLine_H_
3     #define _Tracker_TwoTrackMinimumDistanceLineLine_H_
4    
5     #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
6     #include <string>
7     #include <sstream>
8     #include <utility>
9    
10     /** \class TwoTrackMinimumDistanceLineLine
11     * This is a helper class for TwoTrackMinimumDistance.
12     * No user should need direct access to this class.
13     * Exact solution.
14     */
15    
16     class GlobalTrajectoryParameters;
17    
18     class TwoTrackMinimumDistanceLineLine {
19    
20     public:
21     /**
22     * Calculates the point of closest approach on the two tracks.
23     * \return false in case of success<br>
24     * true in case of failure. Possible failures:<br>
25     * - Either of the Trajectories are charged
26     * - Either of the Trajectories is of zero momentum
27     * - Trajectories are parallel
28     */
29    
30     bool calculate( const GlobalTrajectoryParameters &,
31     const GlobalTrajectoryParameters &); // retval=true? error occured.
32    
33     std::pair <GlobalPoint, GlobalPoint> points() const;
34     std::pair <double, double> pathLength() const;
35    
36     double firstAngle() const {return phiG;}
37     double secondAngle() const {return phiH;}
38     private:
39     double phiH, phiG;
40     double pathG, pathH;
41     GlobalPoint gPos, hPos;
42     };
43     #endif