CMS 3D CMS Logo

PerigeeTrajectoryParameters Class Reference

Class providing access to the Perigee parameters of a trajectory. More...

#include <TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryParameters.h>

List of all members.

Public Member Functions

TrackCharge charge () const
 The charge.
double longitudinalImpactParameter () const
 The longitudinal impact parameter.
 PerigeeTrajectoryParameters (double aCurv, double aTheta, double aPhi, double aTip, double aLip, bool charged=true)
 PerigeeTrajectoryParameters (const AlgebraicVector5 &aVector, bool charged=true)
 PerigeeTrajectoryParameters (const AlgebraicVector &aVector, bool charged=true)
 PerigeeTrajectoryParameters ()
double phi () const
 The phi angle.
double theta () const
 The theta angle.
double transverseCurvature () const
 The signed transverse curvature.
double transverseImpactParameter () const
 The (signed) transverse impact parameter.
const AlgebraicVector5vector () const
const AlgebraicVector vector_old () const
 returns the perigee parameters as a vector.

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.

00021 {}

PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( const AlgebraicVector aVector,
bool  charged = true 
) [inline, explicit]

Definition at line 23 of file PerigeeTrajectoryParameters.h.

References theCharge, and theCurv.

00023                                                                                            :
00024        theCurv(aVector[0]), theTheta(aVector[1]), thePhi(aVector[2]),
00025        theTip(aVector[3]), theLip(aVector[4]), theVector(asSVector<5>(aVector)), 
00026        vectorIsAvailable(true)
00027   {
00028     if ( charged )
00029       theCharge = theCurv>0 ? -1 : 1;
00030     else
00031       theCharge = 0;
00032   }

PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( const AlgebraicVector5 aVector,
bool  charged = true 
) [inline, explicit]

Definition at line 34 of file PerigeeTrajectoryParameters.h.

References theCharge, and theCurv.

00034                                                                                             :
00035        theCurv(aVector[0]), theTheta(aVector[1]), thePhi(aVector[2]),
00036        theTip(aVector[3]), theLip(aVector[4]), theVector(aVector), 
00037        vectorIsAvailable(true)
00038   {
00039     if ( charged )
00040       theCharge = theCurv>0 ? -1 : 1;
00041     else
00042       theCharge = 0;
00043   }

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

Definition at line 45 of file PerigeeTrajectoryParameters.h.

References theCharge, and theCurv.

00046                                                                             :
00047     theCurv(aCurv), theTheta(aTheta), thePhi(aPhi), theTip(aTip), theLip(aLip),
00048     vectorIsAvailable(false)
00049   {
00050     if ( charged )
00051       theCharge = theCurv>0 ? -1 : 1;
00052     else
00053       theCharge = 0;
00054   }


Member Function Documentation

TrackCharge PerigeeTrajectoryParameters::charge ( void   )  const [inline]

The charge.

Definition at line 60 of file PerigeeTrajectoryParameters.h.

References theCharge.

Referenced by TrajectoryStateClosestToPoint::calculateFTS(), TrajectoryStateClosestToPoint::charge(), PerigeeConversions::chargeFromPerigee(), and transverseCurvature().

00060 {return theCharge;}

double PerigeeTrajectoryParameters::longitudinalImpactParameter (  )  const [inline]

The longitudinal impact parameter.

Definition at line 90 of file PerigeeTrajectoryParameters.h.

References theLip.

Referenced by MuonStandaloneAlgorithm::produce().

00090 {return theLip;}

double PerigeeTrajectoryParameters::phi ( void   )  const [inline]

The phi angle.

Definition at line 78 of file PerigeeTrajectoryParameters.h.

References thePhi.

Referenced by PerigeeConversions::momentumFromPerigee(), PerigeeRefittedTrackState::momentumVector(), PerigeeLinearizedTrackState::predictedStateMomentumParameters(), and MuonStandaloneAlgorithm::produce().

00078 {return thePhi;}

double PerigeeTrajectoryParameters::theta (  )  const [inline]

The theta angle.

Definition at line 72 of file PerigeeTrajectoryParameters.h.

References theTheta.

Referenced by PerigeeConversions::momentumFromPerigee(), PerigeeRefittedTrackState::momentumVector(), PerigeeLinearizedTrackState::predictedStateMomentumParameters(), MuonStandaloneAlgorithm::produce(), and MuonTrackingRegionBuilder::region().

00072 {return theTheta;}

double PerigeeTrajectoryParameters::transverseCurvature (  )  const [inline]

The signed transverse curvature.

Definition at line 66 of file PerigeeTrajectoryParameters.h.

References charge(), and theCurv.

Referenced by MuonStandaloneAlgorithm::produce().

00066 {return ((charge()!=0)?theCurv:0.);}

double PerigeeTrajectoryParameters::transverseImpactParameter (  )  const [inline]

The (signed) transverse impact parameter.

Definition at line 84 of file PerigeeTrajectoryParameters.h.

References theTip.

Referenced by MuonStandaloneAlgorithm::produce().

00084 {return theTip;}

const AlgebraicVector5& PerigeeTrajectoryParameters::vector (  )  const [inline]

Definition at line 100 of file PerigeeTrajectoryParameters.h.

References theCurv, theLip, thePhi, theTheta, theTip, theVector, and vectorIsAvailable.

Referenced by PerigeeRefittedTrackState::momentumVector(), PerigeeRefittedTrackState::parameters(), PerigeeConversions::positionFromPerigee(), PerigeeLinearizedTrackState::predictedStateMomentumParameters(), and PerigeeLinearizedTrackState::predictedStateParameters().

00101   {
00102     if (!vectorIsAvailable) {
00103       //theVector = AlgebraicVector5();
00104       theVector[0] = theCurv;
00105       theVector[1] = theTheta;
00106       theVector[2] = thePhi;
00107       theVector[3] = theTip;
00108       theVector[4] = theLip;
00109       vectorIsAvailable = true;
00110     }
00111     return theVector;
00112   }

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

00098 { return asHepVector(theVector); }


Member Data Documentation

TrackCharge PerigeeTrajectoryParameters::theCharge [private]

Definition at line 117 of file PerigeeTrajectoryParameters.h.

Referenced by charge(), and PerigeeTrajectoryParameters().

double PerigeeTrajectoryParameters::theCurv [private]

Definition at line 116 of file PerigeeTrajectoryParameters.h.

Referenced by PerigeeTrajectoryParameters(), transverseCurvature(), and vector().

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 [mutable, private]

Definition at line 118 of file PerigeeTrajectoryParameters.h.

Referenced by vector(), and vector_old().

bool PerigeeTrajectoryParameters::vectorIsAvailable [mutable, private]

Definition at line 119 of file PerigeeTrajectoryParameters.h.

Referenced by vector().


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