CMS 3D CMS Logo

L1MuonPixelTrackFitter::Circle Class Reference

#include <RecoMuon/TrackerSeedGenerator/interface/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 (const GlobalPoint &h1, const GlobalPoint &h2, double curvature)
 Circle ()
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

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.


Constructor & Destructor Documentation

L1MuonPixelTrackFitter::Circle::Circle (  )  [inline]

Definition at line 31 of file L1MuonPixelTrackFitter.h.

00031 : theValid(false) {}

L1MuonPixelTrackFitter::Circle::Circle ( const GlobalPoint h1,
const GlobalPoint h2,
double  curvature 
) [inline]

Definition at line 32 of file L1MuonPixelTrackFitter.h.

References Vector3DBase< T, FrameTag >::cross(), p1, p2, PV3DBase< T, PVType, FrameType >::perp2(), funct::sqrt(), theCenter, theCurvature, and theValid.

00032                                                                           :theCurvature(curvature){
00033       Point p1(h1); Point p2(h2); Vector dp = (p2-p1)/2.; int charge = theCurvature > 0 ? 1 : -1;
00034       Vector ec = charge * dp.cross(Vector(0,0,1)).unit();
00035       long double dist_tmp = 1./theCurvature/theCurvature - dp.perp2();
00036       theValid = (dist_tmp > 0.);
00037       theCenter = p1+dp + ec*sqrt( fabs(dist_tmp ) );
00038     }


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().

00040 { return theCenter; }

const long double& L1MuonPixelTrackFitter::Circle::curvature (  )  const [inline]

Definition at line 41 of file L1MuonPixelTrackFitter.h.

References theCurvature.

00041 { return theCurvature; }

bool L1MuonPixelTrackFitter::Circle::isValid ( void   )  const [inline]

Definition at line 39 of file L1MuonPixelTrackFitter.h.

References theValid.

00039 { return theValid; }


Member Data Documentation

Point L1MuonPixelTrackFitter::Circle::theCenter [private]

Definition at line 45 of file L1MuonPixelTrackFitter.h.

Referenced by center(), and Circle().

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.

Referenced by Circle(), and isValid().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:26:57 2009 for CMSSW by  doxygen 1.5.4