#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 |
predicts phi range at a given radius r
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.
: thePhiAtVertex(phiAtVertex), theCurvature(curvature), theOriginRBound (originRBound), theTolerance(tolerance) { }
OuterHitPhiPrediction::Range OuterHitPhiPrediction::operator() | ( | float | radius | ) | const |
Definition at line 5 of file OuterHitPhiPrediction.cc.
References 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.
{ if( std::max(fabs(theCurvature.min()), fabs(theCurvature.max())) > 1./radius) return Range(-M_PI,M_PI); float Phi_r = asin(radius*theCurvature.max()/2 + theOriginRBound/radius); float curv0 = theCurvature.mean(); if (curv0 == 0.) { return Range( thePhiAtVertex.min() - Phi_r - theTolerance.left(), thePhiAtVertex.max() + Phi_r + theTolerance.right()); } else { float Phi_0 = asin(radius*curv0/2); float Phi_m = asin(radius*theCurvature.min()/2-theOriginRBound/radius); return Range( thePhiAtVertex.min() + Phi_0 + Phi_m - theTolerance.left(), thePhiAtVertex.max() + Phi_0 + Phi_r + theTolerance.right()); } }
void OuterHitPhiPrediction::setTolerance | ( | const Margin & | tolerance | ) | [inline] |
Definition at line 24 of file OuterHitPhiPrediction.h.
References theTolerance.
{ theTolerance = tolerance; }
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().