CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TwoBodyDecayParameters.h
Go to the documentation of this file.
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayParameters_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayParameters_h
3 
13 
14 
16 {
17 
18 public:
19 
21  enum ParameterName { x = 0, y = 1, z = 2, px = 3, py = 4, pz = 5, theta = 6, phi = 7, mass = 8 };
22 
23  enum { dimension = 9 };
24 
27 
29  theParameters( param ), theCovariance( cov ) {}
30 
33 
35  theParameters( other.parameters() ), theCovariance( other.covariance() ) {}
36 
38 
40  inline const AlgebraicVector & parameters( void ) const { return theParameters; }
41 
43  inline const AlgebraicSymMatrix & covariance( void ) const { return theCovariance; }
44 
46  inline double operator[]( ParameterName name ) const { return theParameters[name]; }
47 
49  inline double operator()( ParameterName name ) const { return theParameters[name]; }
50 
52  inline const AlgebraicVector sub( ParameterName first, ParameterName last ) const { return theParameters.sub( first+1, last+1 ); }
53 
54  inline bool hasError( void ) const { return ( theCovariance.num_row() != 0 ); }
55 
56 private:
57 
60 
61 };
62 
63 #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.