1 #ifndef GlobalErrorType_H
2 #define GlobalErrorType_H
25 template <
class T,
class ErrorWeightType>
61 if (err.num_row() == 3)
65 throw cms::Exception(
"DetLogicError")<<
"Not 3x3 Error Matrix: set pointer to 0\n";
119 T r2 = aPoint.
perp2();
120 T x2 = aPoint.
x()*aPoint.
x();
121 T y2 = aPoint.
y()*aPoint.
y();
122 T
xy = aPoint.
x()*aPoint.
y();
124 return (1./r2)*(x2*
cxx() + 2.*xy*
cyx() + y2*
cyy());
126 return 0.5*(
cxx() +
cyy());
130 T r2 = aPoint.
perp2();
131 T x2 = aPoint.
x()*aPoint.
x();
132 T y2 = aPoint.
y()*aPoint.
y();
133 T
xy = aPoint.
x()*aPoint.
y();
135 return (1./(r2*r2))*(y2*
cxx() - 2.*xy*
cyx() + x2*
cyy());
AlgebraicSymMatrix33 theCartesianError
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
GlobalErrorBase operator-(const GlobalErrorBase &err) const
AlgebraicSymMatrix matrix() const
const AlgebraicSymMatrix33 & matrix_new() const
T phierr(const GlobalPoint &aPoint) const
GlobalErrorBase(const NullMatrix &)
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
Tag to request a null error matrix.
GlobalErrorBase operator+(const GlobalErrorBase &err) const
GlobalErrorBase(const AlgebraicSymMatrix33 &err)
GlobalErrorBase(T c11, T c21, T c22, T c31, T c32, T c33)
GlobalErrorBase(const AlgebraicSymMatrix &err)
T rerr(const GlobalPoint &aPoint) const
CLHEP::HepSymMatrix AlgebraicSymMatrix
Basic2DVector< T > xy() const