CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ExtendedPerigeeTrajectoryError.h
Go to the documentation of this file.
1 #ifndef ExtendedPerigeeTrajectoryError_H
2 #define ExtendedPerigeeTrajectoryError_H
3 
6 
8 {
9 public:
11  {}
12 
14  cov(covariance),weightAvailable(false),
15  vl(true)
16  {}
17 
18 
23  bool isValid() const
24  {return vl;}
25 
26  bool weightIsAvailable() const
27  {return weightAvailable;}
28 
30  {return cov;}
31 
33  {
34  error = 0;
35  if(! weightIsAvailable()) {
36  weight = cov.Inverse(error);
37  if(error != 0) LogDebug("RecoVertex/ExtendedPerigeeTrajectoryError")
38  << "unable to invert covariance matrix\n";
39  weightAvailable = true;
40  }
41  return weight;
42  }
43 
44 private:
47  mutable bool weightAvailable;
48  mutable bool vl;
49 };
50 #endif
#define LogDebug(id)
const AlgebraicSymMatrix66 & covarianceMatrix() const
ExtendedPerigeeTrajectoryError(const AlgebraicSymMatrix66 &covariance)
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
const AlgebraicSymMatrix66 & weightMatrix(int &error) const
volatile std::atomic< bool > shutdown_flag false