CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ThirdHitPredictionFromCircle.h
Go to the documentation of this file.
1 #ifndef ThirdHitPredictionFromCircle_H
2 #define ThirdHitPredictionFromCircle_H
3 
6 
9 
10 
12 
13 public:
15 
17  float tolerance);
18 
19  double phi(double curvature, double radius) const;
20  double angle(double curvature, double radius) const;
21 
22  Range operator()(Range curvature, double radius) const;
23 
24  Range curvature(double transverseIP) const;
25  double curvature(const Basic2DVector<double> &thirdPoint) const;
26  double transverseIP(const Basic2DVector<double> &thirdPoint) const;
27 
28  // like PixelRecoLineRZ, but makes use of the bending computation
29  // from the circle fit to get an actual Helix propagation
30  class HelixRZ {
31  public:
32  HelixRZ() : circle(0) {}
34  double z1, double z2, double curvature);
35 
36  double zAtR(double r) const;
37  double rAtZ(double z) const;
38 
40  double z1, double z2, double z3);
41 
42  private:
44  double curvature, z1, seg, dzdu;
45  };
46 
47 private:
48  friend class HelixRZ;
49 
50  double invCenterOnAxis(const Basic2DVector<double> &thirdPoint) const;
51 
54 };
55 
56 #endif
double phi(double curvature, double radius) const
Range operator()(Range curvature, double radius) const
Range curvature(double transverseIP) const
Definition: DDAxes.h:10
double transverseIP(const Basic2DVector< double > &thirdPoint) const
double angle(double curvature, double radius) const
double invCenterOnAxis(const Basic2DVector< double > &thirdPoint) const
ThirdHitPredictionFromCircle(const GlobalPoint &P1, const GlobalPoint &P2, float tolerance)
static double maxCurvature(const ThirdHitPredictionFromCircle *circle, double z1, double z2, double z3)
const ThirdHitPredictionFromCircle * circle