CMS 3D CMS Logo

TwoBodyDecayParameters.h
Go to the documentation of this file.
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayParameters_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayParameters_h
3 
13 
15 public:
17  enum ParameterName { x = 0, y = 1, z = 2, px = 3, py = 4, pz = 5, theta = 6, phi = 7, mass = 8 };
18 
19  enum { dimension = 9 };
20 
22 
24  : theParameters(param), theCovariance(cov) {}
25 
27 
29  : theParameters(other.parameters()), theCovariance(other.covariance()) {}
30 
32 
34  inline const AlgebraicVector &parameters(void) const { return theParameters; }
35 
37  inline const AlgebraicSymMatrix &covariance(void) const { return theCovariance; }
38 
40  inline double operator[](ParameterName name) const { return theParameters[name]; }
41 
43  inline double operator()(ParameterName name) const { return theParameters[name]; }
44 
47  return theParameters.sub(first + 1, last + 1);
48  }
49 
50  inline bool hasError(void) const { return (theCovariance.num_row() != 0); }
51 
52 private:
55 };
56 
57 #endif
ParameterName
Define order of parameters.
TwoBodyDecayParameters(const TwoBodyDecayParameters &other)
const AlgebraicVector & parameters(void) const
Get decay parameters.
TwoBodyDecayParameters(const AlgebraicVector &param)
TwoBodyDecayParameters(const AlgebraicVector &param, const AlgebraicSymMatrix &cov)
AlgebraicSymMatrix theCovariance
CLHEP::HepVector AlgebraicVector
const AlgebraicVector sub(ParameterName first, ParameterName last) const
Get specified range of decay parameters.
double operator()(ParameterName name) const
Get specified decay parameter.
const AlgebraicSymMatrix & covariance(void) const
Get error matrix.
CLHEP::HepSymMatrix AlgebraicSymMatrix
double operator[](ParameterName name) const
Get specified decay parameter.