#include <L1MuonPixelTrackFitter.h>
Public Types | |
typedef Point3DBase< long double, GlobalTag > | Point |
typedef Vector3DBase< long double, GlobalTag > | Vector |
Public Member Functions | |
const Point & | center () const |
Circle () | |
Circle (const GlobalPoint &h1, const GlobalPoint &h2, double curvature) | |
const long double & | curvature () const |
bool | isValid () const |
Private Attributes | |
Point | theCenter |
long double | theCurvature |
bool | theValid |
Definition at line 27 of file L1MuonPixelTrackFitter.h.
typedef Point3DBase< long double, GlobalTag> L1MuonPixelTrackFitter::Circle::Point |
Definition at line 30 of file L1MuonPixelTrackFitter.h.
typedef Vector3DBase< long double, GlobalTag> L1MuonPixelTrackFitter::Circle::Vector |
Definition at line 29 of file L1MuonPixelTrackFitter.h.
L1MuonPixelTrackFitter::Circle::Circle | ( | ) | [inline] |
Definition at line 31 of file L1MuonPixelTrackFitter.h.
: theValid(false) {}
L1MuonPixelTrackFitter::Circle::Circle | ( | const GlobalPoint & | h1, |
const GlobalPoint & | h2, | ||
double | curvature | ||
) | [inline] |
Definition at line 32 of file L1MuonPixelTrackFitter.h.
References DeDxDiscriminatorTools::charge(), Vector3DBase< T, FrameTag >::cross(), p1, p2, PV3DBase< T, PVType, FrameType >::perp2(), mathSSE::sqrt(), theCenter, theCurvature, and theValid.
:theCurvature(curvature){ Point p1(h1); Point p2(h2); Vector dp = (p2-p1)/2.; int charge = theCurvature > 0 ? 1 : -1; Vector ec = charge * dp.cross(Vector(0,0,1)).unit(); long double dist_tmp = 1./theCurvature/theCurvature - dp.perp2(); theValid = (dist_tmp > 0.); theCenter = p1+dp + ec*sqrt( fabs(dist_tmp ) ); }
const Point& L1MuonPixelTrackFitter::Circle::center | ( | ) | const [inline] |
Definition at line 40 of file L1MuonPixelTrackFitter.h.
References theCenter.
Referenced by L1MuonPixelTrackFitter::valPhi(), and L1MuonPixelTrackFitter::valTip().
{ return theCenter; }
const long double& L1MuonPixelTrackFitter::Circle::curvature | ( | ) | const [inline] |
Definition at line 41 of file L1MuonPixelTrackFitter.h.
References theCurvature.
{ return theCurvature; }
bool L1MuonPixelTrackFitter::Circle::isValid | ( | void | ) | const [inline] |
Definition at line 45 of file L1MuonPixelTrackFitter.h.
long double L1MuonPixelTrackFitter::Circle::theCurvature [private] |
Definition at line 44 of file L1MuonPixelTrackFitter.h.
Referenced by Circle(), and curvature().
bool L1MuonPixelTrackFitter::Circle::theValid [private] |
Definition at line 43 of file L1MuonPixelTrackFitter.h.