CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
L1MuonPixelTrackFitter::Circle Class Reference

#include <L1MuonPixelTrackFitter.h>

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.

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.

33  Point p1(h1); Point p2(h2); Vector dp = (p2-p1)/2.; int charge = theCurvature > 0 ? 1 : -1;
34  Vector ec = charge * dp.cross(Vector(0,0,1)).unit();
35  long double dist_tmp = 1./theCurvature/theCurvature - dp.perp2();
36  theValid = (dist_tmp > 0.);
37  theCenter = p1+dp + ec*sqrt( fabs(dist_tmp ) );
38  }
Vector3DBase< long double, GlobalTag > Vector
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
double charge(const std::vector< uint8_t > &Ampls)
T sqrt(T t)
Definition: SSEVec.h:48
math::XYZPoint Point
double p2[4]
Definition: TauolaWrapper.h:90
const long double & curvature() const
double p1[4]
Definition: TauolaWrapper.h:89

Member Function Documentation

const Point& L1MuonPixelTrackFitter::Circle::center ( ) const
inline
const long double& L1MuonPixelTrackFitter::Circle::curvature ( ) const
inline

Definition at line 41 of file L1MuonPixelTrackFitter.h.

References theCurvature.

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

Definition at line 39 of file L1MuonPixelTrackFitter.h.

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