CMS 3D CMS Logo

OuterHitPhiPrediction Class Reference

predicts phi range at a given radius r More...

#include <RecoTracker/TkTrackingRegions/interface/OuterHitPhiPrediction.h>

List of all members.

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 10 of file OuterHitPhiPrediction.h.


Member Typedef Documentation

typedef TkTrackingRegionsMargin<float> OuterHitPhiPrediction::Margin

Definition at line 14 of file OuterHitPhiPrediction.h.

typedef PixelRecoRange<float> OuterHitPhiPrediction::Range

Definition at line 13 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 16 of file OuterHitPhiPrediction.h.

00021     : thePhiAtVertex(phiAtVertex), theCurvature(curvature),
00022       theOriginRBound (originRBound), theTolerance(tolerance) { } 


Member Function Documentation

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

Definition at line 5 of file OuterHitPhiPrediction.cc.

References TkTrackingRegionsMargin< T >::left(), max, PixelRecoRange< T >::max(), PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), TkTrackingRegionsMargin< T >::right(), theCurvature, theOriginRBound, thePhiAtVertex, and theTolerance.

00006 {
00007 
00008   if( std::max(fabs(theCurvature.min()), fabs(theCurvature.max())) > 1./radius) 
00009       return Range(-M_PI,M_PI); 
00010   
00011   float Phi_r = asin(radius*theCurvature.max()/2 + theOriginRBound/radius);
00012   float curv0 = theCurvature.mean();
00013 
00014   if (curv0 == 0.) {
00015     return Range( thePhiAtVertex.min() - Phi_r - theTolerance.left(),
00016                   thePhiAtVertex.max() + Phi_r + theTolerance.right());
00017   } 
00018   else {
00019     float Phi_0 = asin(radius*curv0/2);
00020     float Phi_m = asin(radius*theCurvature.min()/2-theOriginRBound/radius);
00021     return Range( thePhiAtVertex.min() + Phi_0 + Phi_m - theTolerance.left(),
00022                   thePhiAtVertex.max() + Phi_0 + Phi_r + theTolerance.right());
00023   } 
00024 }

void OuterHitPhiPrediction::setTolerance ( const Margin tolerance  )  [inline]

Definition at line 24 of file OuterHitPhiPrediction.h.

References theTolerance.

Referenced by RectangularEtaPhiTrackingRegion::estimator().

00024 { theTolerance = tolerance; }


Member Data Documentation

Range OuterHitPhiPrediction::theCurvature [private]

Definition at line 29 of file OuterHitPhiPrediction.h.

Referenced by operator()().

float OuterHitPhiPrediction::theOriginRBound [private]

Definition at line 30 of file OuterHitPhiPrediction.h.

Referenced by operator()().

Range OuterHitPhiPrediction::thePhiAtVertex [private]

Definition at line 28 of file OuterHitPhiPrediction.h.

Referenced by operator()().

Margin OuterHitPhiPrediction::theTolerance [private]

Definition at line 31 of file OuterHitPhiPrediction.h.

Referenced by operator()(), and setTolerance().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:25 2009 for CMSSW by  doxygen 1.5.4