CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
GlobalErrorBaseExtended< T, ErrorWeightType > Class Template Reference

#include <GlobalErrorBaseExtended.h>

Classes

class  NullMatrix
 Tag to request a null error matrix. More...
 

Public Member Functions

T cphixphix () const
 
T cphixx () const
 
T cphixy () const
 
T cphixz () const
 
T cphiyphix () const
 
T cphiyphiy () const
 
T cphiyx () const
 
T cphiyy () const
 
T cphiyz () const
 
T cphizphix () const
 
T cphizphiy () const
 
T cphizphiz () const
 
T cphizx () const
 
T cphizy () const
 
T cphizz () const
 
T cxx () const
 
T cyx () const
 
T cyy () const
 
T czx () const
 
T czy () const
 
T czz () const
 
 GlobalErrorBaseExtended ()
 
 GlobalErrorBaseExtended (const NullMatrix &)
 
 GlobalErrorBaseExtended (T c11, T c21, T c31, T c41, T c51, T c61, T c22, T c32, T c42, T c52, T c62, T c33, T c43, T c53, T c63, T c44, T c54, T c64, T c55, T c65, T c66)
 
 GlobalErrorBaseExtended (const AlgebraicSymMatrix66 &err)
 
 GlobalErrorBaseExtended (const AlgebraicSymMatrix33 &err)
 
const AlgebraicSymMatrix66matrix () const
 
const AlgebraicSymMatrix66matrix_new () const
 
GlobalErrorBaseExtended operator+ (const GlobalErrorBaseExtended &err) const
 
GlobalErrorBaseExtended operator- (const GlobalErrorBaseExtended &err) const
 
T phierr (const GlobalPoint &aPoint) const
 
T rerr (const GlobalPoint &aPoint) const
 
 ~GlobalErrorBaseExtended ()
 

Private Attributes

AlgebraicSymMatrix66 theCartesianError
 

Detailed Description

template<class T, class ErrorWeightType>
class GlobalErrorBaseExtended< T, ErrorWeightType >

Definition at line 13 of file GlobalErrorBaseExtended.h.

Constructor & Destructor Documentation

template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( )
inline
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( const NullMatrix )
inline

Definition at line 19 of file GlobalErrorBaseExtended.h.

19 {}
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( T  c11,
T  c21,
T  c31,
T  c41,
T  c51,
T  c61,
T  c22,
T  c32,
T  c42,
T  c52,
T  c62,
T  c33,
T  c43,
T  c53,
T  c63,
T  c44,
T  c54,
T  c64,
T  c55,
T  c65,
T  c66 
)
inline

Constructor. The symmetric matrix stored as a lower triangular matrix

Definition at line 25 of file GlobalErrorBaseExtended.h.

45  {
46  theCartesianError(0, 0) = c11;
47  theCartesianError(1, 0) = c21;
48  theCartesianError(2, 0) = c31;
49  theCartesianError(3, 0) = c41;
50  theCartesianError(4, 0) = c51;
51  theCartesianError(5, 0) = c61;
52 
53  theCartesianError(1, 1) = c22;
54  theCartesianError(2, 1) = c32;
55  theCartesianError(3, 1) = c42;
56  theCartesianError(4, 1) = c52;
57  theCartesianError(5, 1) = c62;
58 
59  theCartesianError(2, 2) = c33;
60  theCartesianError(3, 2) = c43;
61  theCartesianError(4, 2) = c53;
62  theCartesianError(5, 2) = c63;
63 
64  theCartesianError(3, 3) = c44;
65  theCartesianError(4, 3) = c54;
66  theCartesianError(5, 3) = c64;
67 
68  theCartesianError(4, 4) = c55;
69  theCartesianError(5, 4) = c65;
70 
71  theCartesianError(5, 5) = c66;
72  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( const AlgebraicSymMatrix66 err)
inline

Definition at line 74 of file GlobalErrorBaseExtended.h.

74 : theCartesianError(err) {}
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( const AlgebraicSymMatrix33 err)
inline

Definition at line 76 of file GlobalErrorBaseExtended.h.

76  {
77  theCartesianError(0, 0) = err[0][0];
78  theCartesianError(1, 0) = err[1][0];
79  theCartesianError(2, 0) = err[2][0];
80  theCartesianError(3, 0) = 0;
81  theCartesianError(4, 0) = 0;
82  theCartesianError(5, 0) = 0;
83 
84  theCartesianError(1, 1) = err[1][1];
85  theCartesianError(2, 1) = err[2][1];
86  theCartesianError(3, 1) = 0;
87  theCartesianError(4, 1) = 0;
88  theCartesianError(5, 1) = 0;
89 
90  theCartesianError(2, 2) = err[2][2];
91  theCartesianError(3, 2) = 0;
92  theCartesianError(4, 2) = 0;
93  theCartesianError(5, 2) = 0;
94 
95  theCartesianError(3, 3) = 0;
96  theCartesianError(4, 3) = 0;
97  theCartesianError(5, 3) = 0;
98 
99  theCartesianError(4, 4) = 0;
100  theCartesianError(5, 4) = 0;
101 
102  theCartesianError(5, 5) = 0;
103  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::~GlobalErrorBaseExtended ( )
inline

Definition at line 105 of file GlobalErrorBaseExtended.h.

105 {}

Member Function Documentation

template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphixphix ( ) const
inline

Definition at line 137 of file GlobalErrorBaseExtended.h.

137 { return theCartesianError(3, 3); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphixx ( ) const
inline

Definition at line 113 of file GlobalErrorBaseExtended.h.

113 { return theCartesianError(3, 0); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphixy ( ) const
inline

Definition at line 123 of file GlobalErrorBaseExtended.h.

123 { return theCartesianError(3, 1); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphixz ( ) const
inline

Definition at line 131 of file GlobalErrorBaseExtended.h.

131 { return theCartesianError(3, 2); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphiyphix ( ) const
inline

Definition at line 139 of file GlobalErrorBaseExtended.h.

139 { return theCartesianError(4, 3); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphiyphiy ( ) const
inline

Definition at line 143 of file GlobalErrorBaseExtended.h.

143 { return theCartesianError(4, 4); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphiyx ( ) const
inline

Definition at line 115 of file GlobalErrorBaseExtended.h.

115 { return theCartesianError(4, 0); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphiyy ( ) const
inline

Definition at line 125 of file GlobalErrorBaseExtended.h.

125 { return theCartesianError(4, 1); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphiyz ( ) const
inline

Definition at line 133 of file GlobalErrorBaseExtended.h.

133 { return theCartesianError(4, 2); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizphix ( ) const
inline

Definition at line 141 of file GlobalErrorBaseExtended.h.

141 { return theCartesianError(5, 3); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizphiy ( ) const
inline

Definition at line 145 of file GlobalErrorBaseExtended.h.

145 { return theCartesianError(5, 4); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizphiz ( ) const
inline

Definition at line 147 of file GlobalErrorBaseExtended.h.

147 { return theCartesianError(5, 5); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizx ( ) const
inline

Definition at line 117 of file GlobalErrorBaseExtended.h.

117 { return theCartesianError(5, 0); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizy ( ) const
inline

Definition at line 127 of file GlobalErrorBaseExtended.h.

127 { return theCartesianError(5, 1); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cphizz ( ) const
inline

Definition at line 135 of file GlobalErrorBaseExtended.h.

135 { return theCartesianError(5, 2); }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cxx ( ) const
inline
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cyx ( ) const
inline
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::cyy ( ) const
inline
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::czx ( ) const
inline
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::czy ( ) const
inline
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::czz ( ) const
inline
template<class T, class ErrorWeightType>
const AlgebraicSymMatrix66& GlobalErrorBaseExtended< T, ErrorWeightType >::matrix ( void  ) const
inline

Access method to the matrix, /return The SymMatrix

Definition at line 153 of file GlobalErrorBaseExtended.h.

Referenced by AlignableDet::alignmentErrors(), AlignableBeamSpot::alignmentErrors(), AlignableDetUnit::alignmentErrors(), and ErrorFrameTransformer::transform46().

153 { return theCartesianError; }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
const AlgebraicSymMatrix66& GlobalErrorBaseExtended< T, ErrorWeightType >::matrix_new ( ) const
inline

Definition at line 154 of file GlobalErrorBaseExtended.h.

154 { return theCartesianError; }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended GlobalErrorBaseExtended< T, ErrorWeightType >::operator+ ( const GlobalErrorBaseExtended< T, ErrorWeightType > &  err) const
inline

Definition at line 180 of file GlobalErrorBaseExtended.h.

template<class T, class ErrorWeightType>
GlobalErrorBaseExtended GlobalErrorBaseExtended< T, ErrorWeightType >::operator- ( const GlobalErrorBaseExtended< T, ErrorWeightType > &  err) const
inline

Definition at line 183 of file GlobalErrorBaseExtended.h.

template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::phierr ( const GlobalPoint aPoint) const
inline

Definition at line 169 of file GlobalErrorBaseExtended.h.

169  {
170  T r2 = aPoint.perp2();
171  T x2 = aPoint.x() * aPoint.x();
172  T y2 = aPoint.y() * aPoint.y();
173  T xy = aPoint.x() * aPoint.y();
174  if (r2 != 0)
175  return std::max<T>(0, (1. / (r2 * r2)) * (y2 * cxx() - 2. * xy * cyx() + x2 * cyy()));
176  else
177  return 0;
178  }
T y() const
Definition: PV3DBase.h:63
T perp2() const
Definition: PV3DBase.h:71
long double T
T x() const
Definition: PV3DBase.h:62
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::rerr ( const GlobalPoint aPoint) const
inline

Definition at line 157 of file GlobalErrorBaseExtended.h.

157  {
158  T r2 = aPoint.perp2();
159  T x2 = aPoint.x() * aPoint.x();
160  T y2 = aPoint.y() * aPoint.y();
161  T xy = aPoint.x() * aPoint.y();
162  if (r2 != 0)
163  return std::max<T>(0, (1. / r2) * (x2 * cxx() + 2. * xy * cyx() + y2 * cyy()));
164  else
165  return 0.5 * (cxx() + cyy());
166  }
T y() const
Definition: PV3DBase.h:63
T perp2() const
Definition: PV3DBase.h:71
long double T
T x() const
Definition: PV3DBase.h:62

Member Data Documentation

template<class T, class ErrorWeightType>
AlgebraicSymMatrix66 GlobalErrorBaseExtended< T, ErrorWeightType >::theCartesianError
private

Definition at line 188 of file GlobalErrorBaseExtended.h.

Referenced by GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphixphix(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphixx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphixy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphixz(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphiyphix(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphiyphiy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphiyx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphiyy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphiyz(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizphix(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizphiy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizphiz(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cphizz(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cxx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cyx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::cyy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::czx(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::czy(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::czz(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::GlobalErrorBaseExtended(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::matrix(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::matrix_new(), GlobalErrorBaseExtended< double, ErrorMatrixTag >::operator+(), and GlobalErrorBaseExtended< double, ErrorMatrixTag >::operator-().