#include <RecoTracker/TkTrackingRegions/interface/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 |
Definition at line 10 of file OuterHitPhiPrediction.h.
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.
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) { }
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 }
Definition at line 24 of file OuterHitPhiPrediction.h.
References theTolerance.
Referenced by RectangularEtaPhiTrackingRegion::estimator().
00024 { theTolerance = tolerance; }
Range OuterHitPhiPrediction::theCurvature [private] |
float OuterHitPhiPrediction::theOriginRBound [private] |
Range OuterHitPhiPrediction::thePhiAtVertex [private] |
Margin OuterHitPhiPrediction::theTolerance [private] |
Definition at line 31 of file OuterHitPhiPrediction.h.
Referenced by operator()(), and setTolerance().