CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OuterHitPhiPrediction.cc
Go to the documentation of this file.
1 #include <cmath>
3 
6 {
7 
8  auto invr = 1.f/radius;
10  return Range(-M_PI,M_PI);
11 
12  float Phi_r = std::asin(radius*theCurvature.max()*0.5f + theOriginRBound*invr);
13 
14  if (theCurvature.max() == -theCurvature.min())
15  return Range( thePhiAtVertex.min() - Phi_r - theTolerance.left(),
16  thePhiAtVertex.max() + Phi_r + theTolerance.right());
17 
18  float curv0 = theCurvature.mean();
19  float Phi_0 = std::asin(radius*curv0*0.5f);
20  float Phi_m = std::asin(radius*theCurvature.min()*0.5f-theOriginRBound*invr);
21  return Range( thePhiAtVertex.min() + Phi_0 + Phi_m - theTolerance.left(),
22  thePhiAtVertex.max() + Phi_0 + Phi_r + theTolerance.right());
23 
24 }
T max() const
T min() const
const T & max(const T &a, const T &b)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
PixelRecoRange< float > Range
#define M_PI
T mean() const
Range operator()(float radius) const