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 AlgebraicVector &aVector, bool charged=true)
 
 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
 
const AlgebraicVector vector_old () const
 

Private Attributes

TrackCharge theCharge
 
double theCurv
 
double theLip
 
double thePhi
 
double theTheta
 
double theTip
 
AlgebraicVector5 theVector
 
bool vectorIsAvailable
 

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 AlgebraicVector aVector,
bool  charged = true 
)
inlineexplicit

Definition at line 23 of file PerigeeTrajectoryParameters.h.

References theCharge, and theCurv.

23  :
24  theCurv(aVector[0]), theTheta(aVector[1]), thePhi(aVector[2]),
25  theTip(aVector[3]), theLip(aVector[4]), theVector(asSVector<5>(aVector)),
26  vectorIsAvailable(true)
27  {
28  if ( charged )
29  theCharge = theCurv>0 ? -1 : 1;
30  else
31  theCharge = 0;
32  }
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( const AlgebraicVector5 aVector,
bool  charged = true 
)
inlineexplicit

Definition at line 34 of file PerigeeTrajectoryParameters.h.

References theCharge, and theCurv.

PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( double  aCurv,
double  aTheta,
double  aPhi,
double  aTip,
double  aLip,
bool  charged = true 
)
inline

Member Function Documentation

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

The longitudinal impact parameter

Definition at line 90 of file PerigeeTrajectoryParameters.h.

References theLip.

double PerigeeTrajectoryParameters::phi ( void  ) const
inline
double PerigeeTrajectoryParameters::theta ( ) const
inline
double PerigeeTrajectoryParameters::transverseCurvature ( ) const
inline

The signed transverse curvature

Definition at line 66 of file PerigeeTrajectoryParameters.h.

References charge(), and theCurv.

double PerigeeTrajectoryParameters::transverseImpactParameter ( ) const
inline

The (signed) transverse impact parameter

Definition at line 84 of file PerigeeTrajectoryParameters.h.

References theTip.

Referenced by AddTvTrack::getSecondaryVertices().

const AlgebraicVector5& PerigeeTrajectoryParameters::vector ( ) const
inline
const AlgebraicVector PerigeeTrajectoryParameters::vector_old ( ) 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 98 of file PerigeeTrajectoryParameters.h.

References asHepVector(), and theVector.

Referenced by VertexFitterResult::fillParameters().

98 { return asHepVector(theVector); }
CLHEP::HepVector asHepVector(const ROOT::Math::SVector< double, N > &v)
Definition: Migration.h:43

Member Data Documentation

TrackCharge PerigeeTrajectoryParameters::theCharge
private

Definition at line 117 of file PerigeeTrajectoryParameters.h.

Referenced by charge(), and PerigeeTrajectoryParameters().

double PerigeeTrajectoryParameters::theCurv
private
double PerigeeTrajectoryParameters::theLip
private

Definition at line 116 of file PerigeeTrajectoryParameters.h.

Referenced by longitudinalImpactParameter(), and vector().

double PerigeeTrajectoryParameters::thePhi
private

Definition at line 116 of file PerigeeTrajectoryParameters.h.

Referenced by phi(), and vector().

double PerigeeTrajectoryParameters::theTheta
private

Definition at line 116 of file PerigeeTrajectoryParameters.h.

Referenced by theta(), and vector().

double PerigeeTrajectoryParameters::theTip
private

Definition at line 116 of file PerigeeTrajectoryParameters.h.

Referenced by transverseImpactParameter(), and vector().

AlgebraicVector5 PerigeeTrajectoryParameters::theVector
mutableprivate

Definition at line 118 of file PerigeeTrajectoryParameters.h.

Referenced by vector(), and vector_old().

bool PerigeeTrajectoryParameters::vectorIsAvailable
mutableprivate

Definition at line 119 of file PerigeeTrajectoryParameters.h.

Referenced by vector().