CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
OuterHitPhiPrediction Class Reference

#include <OuterHitPhiPrediction.h>

Public Types

typedef
TkTrackingRegionsMargin< float > 
Margin
 
typedef PixelRecoRange< float > Range
 

Public Member Functions

Range operator() (float radius) const
 
 OuterHitPhiPrediction (const Range &phiAtVertex, const Range &curvature, float originRBound, const Margin &tolerance=Margin(0, 0))
 
void setTolerance (const Margin &tolerance)
 

Private Attributes

Range theCurvature
 
float theOriginRBound
 
Range thePhiAtVertex
 
Margin theTolerance
 

Detailed Description

predicts phi range at a given radius r

Definition at line 11 of file OuterHitPhiPrediction.h.

Member Typedef Documentation

Definition at line 15 of file OuterHitPhiPrediction.h.

Definition at line 14 of file OuterHitPhiPrediction.h.

Constructor & Destructor Documentation

OuterHitPhiPrediction::OuterHitPhiPrediction ( const Range phiAtVertex,
const Range curvature,
float  originRBound,
const Margin tolerance = Margin(0,0) 
)
inline

Definition at line 17 of file OuterHitPhiPrediction.h.

22  : thePhiAtVertex(phiAtVertex), theCurvature(curvature),
23  theOriginRBound (originRBound), theTolerance(tolerance) { }
T curvature(T InversePt, const edm::EventSetup &iSetup)

Member Function Documentation

OuterHitPhiPrediction::Range OuterHitPhiPrediction::operator() ( float  radius) const

Definition at line 5 of file OuterHitPhiPrediction.cc.

References funct::abs(), f, TkTrackingRegionsMargin< T >::left(), M_PI, max(), PixelRecoRange< T >::max(), PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), CosmicsPD_Skims::radius, TkTrackingRegionsMargin< T >::right(), theCurvature, theOriginRBound, thePhiAtVertex, and theTolerance.

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
Definition: BFit3D.cc:3
T mean() const
void OuterHitPhiPrediction::setTolerance ( const Margin tolerance)
inline

Definition at line 25 of file OuterHitPhiPrediction.h.

25 { theTolerance = tolerance; }

Member Data Documentation

Range OuterHitPhiPrediction::theCurvature
private

Definition at line 30 of file OuterHitPhiPrediction.h.

Referenced by operator()().

float OuterHitPhiPrediction::theOriginRBound
private

Definition at line 31 of file OuterHitPhiPrediction.h.

Referenced by operator()().

Range OuterHitPhiPrediction::thePhiAtVertex
private

Definition at line 29 of file OuterHitPhiPrediction.h.

Referenced by operator()().

Margin OuterHitPhiPrediction::theTolerance
private

Definition at line 32 of file OuterHitPhiPrediction.h.

Referenced by operator()().