CMS 3D CMS Logo

PerigeeTrajectoryError.h
Go to the documentation of this file.
1 #ifndef PerigeeTrajectoryError_H
2 #define PerigeeTrajectoryError_H
3 
15 {
16 
17 public:
18 
20  // ~PerigeeTrajectoryError() {}
21 
22  /*
23  PerigeeTrajectoryError(AlgebraicSymMatrix aPerigeeError):
24  thePerigeeError(asSMatrix<5>(aPerigeeError)), weightIsAvailable(false) {}
25  */
27  thePerigeeError(aPerigeeError), weightIsAvailable(false) {
28 
29  }
30 
31 
36 
37 
43  {
45  error = inverseError;
46  return thePerigeeWeight;
47  }
48 
49  void calculateWeightMatrix() const;
50 
51  double transverseCurvatureError() const {return sqrt(thePerigeeError(0,0));}
52 
57  double thetaError() const {return sqrt(thePerigeeError(1,1));}
58 
63  double phiError() const {return sqrt(thePerigeeError(2,2));}
64 
69  double transverseImpactParameterError() const {return sqrt(thePerigeeError(3,3));}
70 
75  double longitudinalImpactParameterError() const {return sqrt(thePerigeeError(4,4));}
76 
77 
78 private:
81  mutable int inverseError;
82  mutable bool weightIsAvailable;
83 
84 };
85 #endif
AlgebraicSymMatrix55 thePerigeeWeight
double longitudinalImpactParameterError() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
T sqrt(T t)
Definition: SSEVec.h:18
PerigeeTrajectoryError(const AlgebraicSymMatrix55 &aPerigeeError)
double transverseImpactParameterError() const
const AlgebraicSymMatrix55 & covarianceMatrix() const
const AlgebraicSymMatrix55 & weightMatrix(int &error) const
AlgebraicSymMatrix55 thePerigeeError
double transverseCurvatureError() const
#define UNLIKELY(x)
Definition: Likely.h:21