#include <PerigeeTrajectoryError.h>
Public Member Functions | |
void | calculateWeightMatrix () const |
const AlgebraicSymMatrix55 & | covarianceMatrix () const |
const AlgebraicSymMatrix | covarianceMatrix_old () const |
double | longitudinalImpactParameterError () const |
PerigeeTrajectoryError () | |
PerigeeTrajectoryError (const AlgebraicSymMatrix55 &aPerigeeError) | |
PerigeeTrajectoryError (AlgebraicSymMatrix aPerigeeError) | |
double | phiError () const |
double | thetaError () const |
double | transverseCurvatureError () const |
double | transverseImpactParameterError () const |
const AlgebraicSymMatrix55 & | weightMatrix (int &error) const |
const AlgebraicSymMatrix | weightMatrix_old (int &error) const |
~PerigeeTrajectoryError () | |
Private Attributes | |
int | inverseError |
AlgebraicSymMatrix55 | thePerigeeError |
AlgebraicSymMatrix55 | thePerigeeWeight |
bool | weightIsAvailable |
Class providing access to the Perigee parameters of a trajectory. These parameters consist of
transverse curvature (signed), theta, phi, transverse impact parameter (signed), longitudinal i.p.
Definition at line 14 of file PerigeeTrajectoryError.h.
PerigeeTrajectoryError::PerigeeTrajectoryError | ( | ) | [inline] |
Definition at line 19 of file PerigeeTrajectoryError.h.
{}
PerigeeTrajectoryError::~PerigeeTrajectoryError | ( | ) | [inline] |
Definition at line 20 of file PerigeeTrajectoryError.h.
{}
PerigeeTrajectoryError::PerigeeTrajectoryError | ( | AlgebraicSymMatrix | aPerigeeError | ) | [inline] |
Definition at line 22 of file PerigeeTrajectoryError.h.
: thePerigeeError(asSMatrix<5>(aPerigeeError)), weightIsAvailable(false) {}
PerigeeTrajectoryError::PerigeeTrajectoryError | ( | const AlgebraicSymMatrix55 & | aPerigeeError | ) | [inline] |
Definition at line 25 of file PerigeeTrajectoryError.h.
: thePerigeeError(aPerigeeError), weightIsAvailable(false) { }
void PerigeeTrajectoryError::calculateWeightMatrix | ( | ) | const |
Definition at line 5 of file PerigeeTrajectoryError.cc.
References inverseError, invertPosDefMatrix(), thePerigeeError, thePerigeeWeight, and weightIsAvailable.
Referenced by weightMatrix(), and weightMatrix_old().
{ inverseError = invertPosDefMatrix(thePerigeeError, thePerigeeWeight) ? 0 : 1; weightIsAvailable = true; }
const AlgebraicSymMatrix55& PerigeeTrajectoryError::covarianceMatrix | ( | ) | const [inline] |
Definition at line 36 of file PerigeeTrajectoryError.h.
References thePerigeeError.
Referenced by PerigeeRefittedTrackState::covariance(), PerigeeConversions::curvilinearError(), PerigeeLinearizedTrackState::predictedStateError(), and PerigeeLinearizedTrackState::predictedStateMomentumError().
{return thePerigeeError;}
const AlgebraicSymMatrix PerigeeTrajectoryError::covarianceMatrix_old | ( | ) | const [inline] |
The covariance matrix
Definition at line 35 of file PerigeeTrajectoryError.h.
References asHepMatrix(), and thePerigeeError.
{return asHepMatrix(thePerigeeError);}
double PerigeeTrajectoryError::longitudinalImpactParameterError | ( | ) | const [inline] |
The longitudinal impact parameter
Definition at line 86 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(4,4));}
double PerigeeTrajectoryError::phiError | ( | ) | const [inline] |
The phi angle
Definition at line 74 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors(), and MuonTrackingRegionBuilder::region().
{return sqrt(thePerigeeError(2,2));}
double PerigeeTrajectoryError::thetaError | ( | ) | const [inline] |
The theta angle
Definition at line 68 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors(), and MuonTrackingRegionBuilder::region().
{return sqrt(thePerigeeError(1,1));}
double PerigeeTrajectoryError::transverseCurvatureError | ( | ) | const [inline] |
Definition at line 62 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(0,0));}
double PerigeeTrajectoryError::transverseImpactParameterError | ( | ) | const [inline] |
The (signed) transverse impact parameter
Definition at line 80 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(3,3));}
const AlgebraicSymMatrix55& PerigeeTrajectoryError::weightMatrix | ( | int & | error | ) | const [inline] |
The weight matrix (inverse of the covariance matrix) The error variable is 0 in case of success.
Definition at line 53 of file PerigeeTrajectoryError.h.
References calculateWeightMatrix(), inverseError, thePerigeeWeight, and weightIsAvailable.
Referenced by PerigeeLinearizedTrackState::predictedStateWeight().
{ if (!weightIsAvailable) calculateWeightMatrix(); error = inverseError; return thePerigeeWeight; }
const AlgebraicSymMatrix PerigeeTrajectoryError::weightMatrix_old | ( | int & | error | ) | const [inline] |
The weight matrix (inverse of the covariance matrix) The error variable is 0 in case of success.
Definition at line 43 of file PerigeeTrajectoryError.h.
References asHepMatrix(), calculateWeightMatrix(), inverseError, thePerigeeWeight, and weightIsAvailable.
{ if (!weightIsAvailable) calculateWeightMatrix(); error = inverseError; return asHepMatrix(thePerigeeWeight); }
int PerigeeTrajectoryError::inverseError [mutable, private] |
Definition at line 92 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), weightMatrix(), and weightMatrix_old().
Definition at line 90 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), covarianceMatrix(), covarianceMatrix_old(), longitudinalImpactParameterError(), phiError(), thetaError(), transverseCurvatureError(), and transverseImpactParameterError().
AlgebraicSymMatrix55 PerigeeTrajectoryError::thePerigeeWeight [mutable, private] |
Definition at line 91 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), weightMatrix(), and weightMatrix_old().
bool PerigeeTrajectoryError::weightIsAvailable [mutable, private] |
Definition at line 93 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), weightMatrix(), and weightMatrix_old().