CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

L1MuonPixelTrackFitter::Circle Class Reference

#include <L1MuonPixelTrackFitter.h>

List of all members.

Public Types

typedef Point3DBase< long
double, GlobalTag
Point
typedef Vector3DBase< long
double, GlobalTag
Vector

Public Member Functions

const Pointcenter () 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

Detailed Description

Definition at line 27 of file L1MuonPixelTrackFitter.h.


Member Typedef Documentation

Definition at line 30 of file L1MuonPixelTrackFitter.h.

Definition at line 29 of file L1MuonPixelTrackFitter.h.


Constructor & Destructor Documentation

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 ) );
    }

Member Function Documentation

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 39 of file L1MuonPixelTrackFitter.h.

References theValid.

{ return theValid; }

Member Data Documentation

Definition at line 45 of file L1MuonPixelTrackFitter.h.

Referenced by center(), and Circle().

Definition at line 44 of file L1MuonPixelTrackFitter.h.

Referenced by Circle(), and curvature().

Definition at line 43 of file L1MuonPixelTrackFitter.h.

Referenced by Circle(), and isValid().