CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OuterHitPhiPrediction.cc
Go to the documentation of this file.
3 
5  auto arc = radius * theCurvature.max() * 0.5f + theOriginRBound / radius;
6 
7  auto Phi_r = unsafe_asin07<5>(arc);
8  return Range(thePhiAtVertex.min() - Phi_r - theTolerance, thePhiAtVertex.max() + Phi_r + theTolerance);
9 }
10 
11 // in case somebody comes with a RELEVANT use case...
13  auto invr = 1.f / radius;
15  return Range(-M_PI, M_PI);
16 
17  float Phi_r = std::asin(radius * theCurvature.max() * 0.5f + theOriginRBound * invr);
18 
19  if (theCurvature.max() == -theCurvature.min())
20  return Range(thePhiAtVertex.min() - Phi_r - theTolerance, thePhiAtVertex.max() + Phi_r + theTolerance);
21 
22  float curv0 = theCurvature.mean();
23  float Phi_0 = std::asin(radius * curv0 * 0.5f);
24  float Phi_m = std::asin(radius * theCurvature.min() * 0.5f - theOriginRBound * invr);
25  return Range(thePhiAtVertex.min() + Phi_0 + Phi_m - theTolerance,
26  thePhiAtVertex.max() + Phi_0 + Phi_r + theTolerance);
27 }
Range sym(float radius) const
T max() const
T min() const
Range asym(float radius) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
#define M_PI
T mean() const
PixelRecoRange< float > Range