CMS 3D CMS Logo

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() [1/3]

PerigeeTrajectoryParameters::PerigeeTrajectoryParameters ( )
inline

Definition at line 18 of file PerigeeTrajectoryParameters.h.

18 {}

◆ PerigeeTrajectoryParameters() [2/3]

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

Definition at line 20 of file PerigeeTrajectoryParameters.h.

References theCharge, and theVector.

20  : theVector(aVector) {
21  if (charged)
22  theCharge = theVector[0] > 0 ? -1 : 1;
23  else
24  theCharge = 0;
25  }

◆ PerigeeTrajectoryParameters() [3/3]

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

Definition at line 27 of file PerigeeTrajectoryParameters.h.

References simKBmtfDigis_cfi::aPhi, theCharge, and theVector.

27  {
28  theVector[0] = aCurv;
29  theVector[1] = aTheta;
30  theVector[2] = aPhi;
31  theVector[3] = aTip;
32  theVector[4] = aLip;
33 
34  if (charged)
35  theCharge = aCurv > 0 ? -1 : 1;
36  else
37  theCharge = 0;
38  }

Member Function Documentation

◆ charge()

TrackCharge PerigeeTrajectoryParameters::charge ( void  ) const
inline

◆ longitudinalImpactParameter()

double PerigeeTrajectoryParameters::longitudinalImpactParameter ( ) const
inline

The longitudinal impact parameter

Definition at line 74 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by PrimaryVertexValidation::analyze().

74 { return theVector[4]; }

◆ phi()

double PerigeeTrajectoryParameters::phi ( void  ) const
inline

◆ theta()

double PerigeeTrajectoryParameters::theta ( void  ) const
inline

The theta angle

Definition at line 56 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by PerigeeLinearizedTrackState::computeChargedJacobians(), and Tau.Tau::zImpact().

56 { return theVector[1]; }

◆ transverseCurvature()

double PerigeeTrajectoryParameters::transverseCurvature ( ) const
inline

The signed transverse curvature

Definition at line 50 of file PerigeeTrajectoryParameters.h.

References charge(), and theVector.

50 { return ((charge() != 0) ? theVector[0] : 0.); }

◆ transverseImpactParameter()

double PerigeeTrajectoryParameters::transverseImpactParameter ( ) const
inline

The (signed) transverse impact parameter

Definition at line 68 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by PrimaryVertexValidation::analyze().

68 { return theVector[3]; }

◆ vector()

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 82 of file PerigeeTrajectoryParameters.h.

References theVector.

Referenced by tauImpactParameter::ParticleBuilder::createTrackParticle(), VertexFitterResult::fillParameters(), PerigeeRefittedTrackState::parameters(), PerigeeLinearizedTrackState::predictedStateMomentumParameters(), and PerigeeLinearizedTrackState::predictedStateParameters().

82 { return theVector; }

Member Data Documentation

◆ theCharge

TrackCharge PerigeeTrajectoryParameters::theCharge
private

Definition at line 86 of file PerigeeTrajectoryParameters.h.

Referenced by charge(), and PerigeeTrajectoryParameters().

◆ theVector

AlgebraicVector5 PerigeeTrajectoryParameters::theVector
private