CMS 3D CMS Logo

ThirdHitPredictionFromCircle.h
Go to the documentation of this file.
1 #ifndef ThirdHitPredictionFromCircle_H
2 #define ThirdHitPredictionFromCircle_H
3 
6 
9 
11 public:
12  using Scalar = double;
16 
18 
19  float phi(float curvature, float radius) const;
20  float angle(float curvature, float radius) const;
21 
22  Range operator()(Range curvature, float radius) const;
23 
24  Range curvature(double transverseIP) const;
25  double curvature(const Vector2D &thirdPoint) const;
26  double transverseIP(const Vector2D &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:
34  // using Vector2D=ThirdHitPredictionFromCircle::VectorF2D;
35  // using Scalar=float;
36 
37  HelixRZ() : circle(nullptr) {}
38  HelixRZ(const ThirdHitPredictionFromCircle *icircle, double iz1, double z2, double curv);
39 
40  Scalar zAtR(Scalar r) const;
41  Scalar rAtZ(Scalar z) const;
42 
43  static double maxCurvature(const ThirdHitPredictionFromCircle *circle, double z1, double z2, double z3);
44 
45  private:
49  };
50 
51 private:
52  friend class HelixRZ;
53 
54  Scalar invCenterOnAxis(const Vector2D &thirdPoint) const;
55 
58  float theTolerance;
59 };
60 
61 #endif
ThirdHitPredictionFromCircle::HelixRZ::circle
const ThirdHitPredictionFromCircle * circle
Definition: ThirdHitPredictionFromCircle.h:46
ThirdHitPredictionFromCircle::HelixRZ::HelixRZ
HelixRZ()
Definition: ThirdHitPredictionFromCircle.h:37
ThirdHitPredictionFromCircle::delta2
Scalar delta2
Definition: ThirdHitPredictionFromCircle.h:57
ThirdHitPredictionFromCircle::Scalar
double Scalar
Definition: ThirdHitPredictionFromCircle.h:12
ThirdHitPredictionFromCircle::HelixRZ::dzdu
Scalar dzdu
Definition: ThirdHitPredictionFromCircle.h:48
Basic3DVector.h
ThirdHitPredictionFromCircle::HelixRZ::radius
Scalar radius
Definition: ThirdHitPredictionFromCircle.h:48
ThirdHitPredictionFromCircle::HelixRZ::rAtZ
Scalar rAtZ(Scalar z) const
Definition: ThirdHitPredictionFromCircle.cc:262
ThirdHitPredictionFromCircle::p1
Vector2D p1
Definition: ThirdHitPredictionFromCircle.h:56
ThirdHitPredictionFromCircle::delta
Scalar delta
Definition: ThirdHitPredictionFromCircle.h:57
ThirdHitPredictionFromCircle::center
Vector2D center
Definition: ThirdHitPredictionFromCircle.h:56
ThirdHitPredictionFromCircle::Vector2D
Basic2DVector< Scalar > Vector2D
Definition: ThirdHitPredictionFromCircle.h:14
ThirdHitPredictionFromCircle::ThirdHitPredictionFromCircle
ThirdHitPredictionFromCircle(const GlobalPoint &P1, const GlobalPoint &P2, float tolerance)
Definition: ThirdHitPredictionFromCircle.cc:49
ThirdHitPredictionFromCircle::angle
float angle(float curvature, float radius) const
Definition: ThirdHitPredictionFromCircle.cc:79
ThirdHitPredictionFromCircle::HelixRZ::zAtR
Scalar zAtR(Scalar r) const
Definition: ThirdHitPredictionFromCircle.cc:234
ThirdHitPredictionFromCircle::operator()
Range operator()(Range curvature, float radius) const
Definition: ThirdHitPredictionFromCircle.cc:93
testProducerWithPsetDescEmpty_cfi.z2
z2
Definition: testProducerWithPsetDescEmpty_cfi.py:41
ThirdHitPredictionFromCircle::Range
PixelRecoRange< float > Range
Definition: ThirdHitPredictionFromCircle.h:13
ThirdHitPredictionFromCircle::curvature
Range curvature(double transverseIP) const
Definition: ThirdHitPredictionFromCircle.cc:102
ThirdHitPredictionFromCircle::HelixRZ::center
Vector2D center
Definition: ThirdHitPredictionFromCircle.h:47
DDAxes::z
Point3DBase< float, GlobalTag >
ThirdHitPredictionFromCircle::HelixRZ::curvature
Scalar curvature
Definition: ThirdHitPredictionFromCircle.h:48
ThirdHitPredictionFromCircle::phi
float phi(float curvature, float radius) const
Definition: ThirdHitPredictionFromCircle.cc:61
Basic2DVector< Scalar >
PixelRecoRange< float >
ThirdHitPredictionFromCircle::HelixRZ::Scalar
ThirdHitPredictionFromCircle::Scalar Scalar
Definition: ThirdHitPredictionFromCircle.h:33
ThirdHitPredictionFromCircle::theTolerance
float theTolerance
Definition: ThirdHitPredictionFromCircle.h:58
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:27
ThirdHitPredictionFromCircle::VectorF2D
Basic2DVector< float > VectorF2D
Definition: ThirdHitPredictionFromCircle.h:15
ThirdHitPredictionFromCircle::HelixRZ
Definition: ThirdHitPredictionFromCircle.h:30
alignCSCRings.r
r
Definition: alignCSCRings.py:93
ThirdHitPredictionFromCircle::transverseIP
double transverseIP(const Vector2D &thirdPoint) const
Definition: ThirdHitPredictionFromCircle.cc:181
Basic2DVector.h
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
ThirdHitPredictionFromCircle
Definition: ThirdHitPredictionFromCircle.h:10
ThirdHitPredictionFromCircle::HelixRZ::maxCurvature
static double maxCurvature(const ThirdHitPredictionFromCircle *circle, double z1, double z2, double z3)
Definition: ThirdHitPredictionFromCircle.cc:222
ThirdHitPredictionFromCircle::HelixRZ::seg
Scalar seg
Definition: ThirdHitPredictionFromCircle.h:48
ThirdHitPredictionFromCircle::invCenterOnAxis
Scalar invCenterOnAxis(const Vector2D &thirdPoint) const
Definition: ThirdHitPredictionFromCircle.cc:165
GlobalPoint.h
ThirdHitPredictionFromCircle::axis
Vector2D axis
Definition: ThirdHitPredictionFromCircle.h:56
PixelRecoRange.h
ThirdHitPredictionFromCircle::HelixRZ::z1
Scalar z1
Definition: ThirdHitPredictionFromCircle.h:48