#include <TrackingTools/TrajectoryParametrization/interface/PerigeeTrajectoryParameters.h>
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 AlgebraicVector5 & | vector () 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 |
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.
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters | ( | ) | [inline] |
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 }
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().
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); }
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] |
double PerigeeTrajectoryParameters::theTheta [private] |
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] |