CMS 3D CMS Logo

PerigeeTrajectoryError.h
Go to the documentation of this file.
1 #ifndef PerigeeTrajectoryError_H
2 #define PerigeeTrajectoryError_H
3 
15 public:
17  // ~PerigeeTrajectoryError() {}
18 
19  /*
20  PerigeeTrajectoryError(AlgebraicSymMatrix aPerigeeError):
21  thePerigeeError(asSMatrix<5>(aPerigeeError)), weightIsAvailable(false) {}
22  */
24  : thePerigeeError(aPerigeeError), weightIsAvailable(false) {}
25 
30 
36  if
38  error = inverseError;
39  return thePerigeeWeight;
40  }
41 
42  void calculateWeightMatrix() const;
43 
44  double transverseCurvatureError() const { return sqrt(thePerigeeError(0, 0)); }
45 
50  double thetaError() const { return sqrt(thePerigeeError(1, 1)); }
51 
56  double phiError() const { return sqrt(thePerigeeError(2, 2)); }
57 
62  double transverseImpactParameterError() const { return sqrt(thePerigeeError(3, 3)); }
63 
68  double longitudinalImpactParameterError() const { return sqrt(thePerigeeError(4, 4)); }
69 
70 private:
73  mutable int inverseError;
74  mutable bool weightIsAvailable;
75 };
76 #endif
AlgebraicSymMatrix55 thePerigeeWeight
double longitudinalImpactParameterError() const
T sqrt(T t)
Definition: SSEVec.h:19
PerigeeTrajectoryError(const AlgebraicSymMatrix55 &aPerigeeError)
double transverseImpactParameterError() const
const AlgebraicSymMatrix55 & covarianceMatrix() const
const AlgebraicSymMatrix55 & weightMatrix(int &error) const
AlgebraicSymMatrix55 thePerigeeError
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
double transverseCurvatureError() const
#define UNLIKELY(x)
Definition: Likely.h:21