CMS 3D CMS Logo

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

#include <PerigeeTrajectoryParameters.h>

Public Member Functions

TrackCharge charge () const
 
double longitudinalImpactParameter () const
 
 PerigeeTrajectoryParameters ()
 
 PerigeeTrajectoryParameters (const AlgebraicVector5 &aVector, bool charged=true)
 
 PerigeeTrajectoryParameters (double aCurv, double aTheta, double aPhi, double aTip, double aLip, bool charged=true)
 
double phi () const
 
double theta () const
 
double transverseCurvature () const
 
double transverseImpactParameter () const
 
const AlgebraicVector5vector () const
 

Private Attributes

TrackCharge theCharge
 
AlgebraicVector5 theVector
 

Detailed Description

Class providing access to the Perigee parameters of a trajectory. These parameters consist of
rho : charged particles: transverse curvature (signed)
neutral particles: inverse magnitude of transverse momentum
theta, phi, transverse impact parameter (signed), longitudinal i.p.

Definition at line 16 of file PerigeeTrajectoryParameters.h.

Constructor & Destructor Documentation

PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( )
inline

Definition at line 21 of file PerigeeTrajectoryParameters.h.

21 {}
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( const AlgebraicVector5 aVector,
bool  charged = true 
)
inlineexplicit

Definition at line 25 of file PerigeeTrajectoryParameters.h.

References theCharge, and theVector.

25  :
26  theVector(aVector) {
27  if ( charged )
28  theCharge = theVector[0]>0 ? -1 : 1;
29  else
30  theCharge = 0;
31  }
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( double  aCurv,
double  aTheta,
double  aPhi,
double  aTip,
double  aLip,
bool  charged = true 
)
inline

Definition at line 33 of file PerigeeTrajectoryParameters.h.

References theCharge, and theVector.

34  {
35  theVector[0] = aCurv;
36  theVector[1] = aTheta;
37  theVector[2] = aPhi;
38  theVector[3] = aTip;
39  theVector[4] = aLip;
40 
41  if ( charged )
42  theCharge = aCurv>0 ? -1 : 1;
43  else
44  theCharge = 0;
45  }

Member Function Documentation

TrackCharge PerigeeTrajectoryParameters::charge ( void  ) const
inline
double PerigeeTrajectoryParameters::longitudinalImpactParameter ( ) const
inline

The longitudinal impact parameter

Definition at line 81 of file PerigeeTrajectoryParameters.h.

References theVector.

81 {return theVector[4];}
double PerigeeTrajectoryParameters::phi ( void  ) const
inline
double PerigeeTrajectoryParameters::theta ( void  ) const
inline
double PerigeeTrajectoryParameters::transverseCurvature ( ) const
inline

The signed transverse curvature

Definition at line 57 of file PerigeeTrajectoryParameters.h.

References charge(), and theVector.

57 {return ((charge()!=0)?theVector[0]:0.);}
double PerigeeTrajectoryParameters::transverseImpactParameter ( ) const
inline

The (signed) transverse impact parameter

Definition at line 75 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by HLTMuon::analyze(), and AddTvTrack::getSecondaryVertices().

75 {return theVector[3];}
const AlgebraicVector5& PerigeeTrajectoryParameters::vector ( ) const
inline

returns the perigee parameters as a vector. The order of the parameters are:
transverse curvature (signed), theta, phi, transverse impact parameter (signed), longitudinal i.p.

Definition at line 89 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by VertexFitterResult::fillParameters(), MatcherUsingTracksAlgorithm::getChi2(), PerigeeRefittedTrackState::parameters(), PerigeeConversions::positionFromPerigee(), PerigeeLinearizedTrackState::predictedStateMomentumParameters(), and PerigeeLinearizedTrackState::predictedStateParameters().

89 { return theVector;}

Member Data Documentation

TrackCharge PerigeeTrajectoryParameters::theCharge
private

Definition at line 94 of file PerigeeTrajectoryParameters.h.

Referenced by charge(), and PerigeeTrajectoryParameters().

AlgebraicVector5 PerigeeTrajectoryParameters::theVector
private