CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ExtendedPerigeeTrajectoryError.h
Go to the documentation of this file.
1 #ifndef ExtendedPerigeeTrajectoryError_H
2 #define ExtendedPerigeeTrajectoryError_H
3 
6 
8 public:
10 
12  : cov(covariance), weightAvailable(false), vl(true) {}
13 
18  bool isValid() const { return vl; }
19 
20  bool weightIsAvailable() const { return weightAvailable; }
21 
22  const AlgebraicSymMatrix66& covarianceMatrix() const { return cov; }
23 
25  error = 0;
26  if (!weightIsAvailable()) {
27  weight = cov.Inverse(error);
28  if (error != 0)
29  LogDebug("RecoVertex/ExtendedPerigeeTrajectoryError") << "unable to invert covariance matrix\n";
30  weightAvailable = true;
31  }
32  return weight;
33  }
34 
35 private:
38  mutable bool weightAvailable;
39  mutable bool vl;
40 };
41 #endif
const AlgebraicSymMatrix66 & covarianceMatrix() const
ExtendedPerigeeTrajectoryError(const AlgebraicSymMatrix66 &covariance)
const AlgebraicSymMatrix66 & weightMatrix(int &error) const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
#define LogDebug(id)