CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 21 of file GlobalErrorBaseExtended.h.

21 {}
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 28 of file GlobalErrorBaseExtended.h.

34  {
35  theCartesianError(0,0)=c11;
36  theCartesianError(1,0)=c21;
37  theCartesianError(2,0)=c31;
38  theCartesianError(3,0)=c41;
39  theCartesianError(4,0)=c51;
40  theCartesianError(5,0)=c61;
41 
42  theCartesianError(1,1)=c22;
43  theCartesianError(2,1)=c32;
44  theCartesianError(3,1)=c42;
45  theCartesianError(4,1)=c52;
46  theCartesianError(5,1)=c62;
47 
48  theCartesianError(2,2)=c33;
49  theCartesianError(3,2)=c43;
50  theCartesianError(4,2)=c53;
51  theCartesianError(5,2)=c63;
52 
53  theCartesianError(3,3)=c44;
54  theCartesianError(4,3)=c54;
55  theCartesianError(5,3)=c64;
56 
57  theCartesianError(4,4)=c55;
58  theCartesianError(5,4)=c65;
59 
60  theCartesianError(5,5)=c66;
61  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::GlobalErrorBaseExtended ( const AlgebraicSymMatrix66 err)
inline

Definition at line 63 of file GlobalErrorBaseExtended.h.

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

Definition at line 66 of file GlobalErrorBaseExtended.h.

66  {
67  theCartesianError(0,0)=err[0][0];
68  theCartesianError(1,0)=err[1][0];
69  theCartesianError(2,0)=err[2][0];
70  theCartesianError(3,0)=0;
71  theCartesianError(4,0)=0;
72  theCartesianError(5,0)=0;
73 
74  theCartesianError(1,1)=err[1][1];
75  theCartesianError(2,1)=err[2][1];
76  theCartesianError(3,1)=0;
77  theCartesianError(4,1)=0;
78  theCartesianError(5,1)=0;
79 
80  theCartesianError(2,2)=err[2][2];
81  theCartesianError(3,2)=0;
82  theCartesianError(4,2)=0;
83  theCartesianError(5,2)=0;
84 
85  theCartesianError(3,3)=0;
86  theCartesianError(4,3)=0;
87  theCartesianError(5,3)=0;
88 
89  theCartesianError(4,4)=0;
90  theCartesianError(5,4)=0;
91 
92  theCartesianError(5,5)=0;
93  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
GlobalErrorBaseExtended< T, ErrorWeightType >::~GlobalErrorBaseExtended ( )
inline

Definition at line 95 of file GlobalErrorBaseExtended.h.

95 {}

Member Function Documentation

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

Definition at line 157 of file GlobalErrorBaseExtended.h.

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

Definition at line 109 of file GlobalErrorBaseExtended.h.

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

Definition at line 129 of file GlobalErrorBaseExtended.h.

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

Definition at line 145 of file GlobalErrorBaseExtended.h.

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

Definition at line 161 of file GlobalErrorBaseExtended.h.

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

Definition at line 169 of file GlobalErrorBaseExtended.h.

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

Definition at line 113 of file GlobalErrorBaseExtended.h.

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

Definition at line 133 of file GlobalErrorBaseExtended.h.

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

Definition at line 149 of file GlobalErrorBaseExtended.h.

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

Definition at line 165 of file GlobalErrorBaseExtended.h.

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

Definition at line 173 of file GlobalErrorBaseExtended.h.

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

Definition at line 177 of file GlobalErrorBaseExtended.h.

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

Definition at line 117 of file GlobalErrorBaseExtended.h.

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

Definition at line 137 of file GlobalErrorBaseExtended.h.

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

Definition at line 153 of file GlobalErrorBaseExtended.h.

153  {
154  return theCartesianError(5,2);
155  }
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

Definition at line 105 of file GlobalErrorBaseExtended.h.

Referenced by TrackerGeomDet::setAlignmentPositionError().

105  {
106  return theCartesianError(2,0);
107  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::czy ( ) const
inline

Definition at line 125 of file GlobalErrorBaseExtended.h.

Referenced by TrackerGeomDet::setAlignmentPositionError().

125  {
126  return theCartesianError(2,1);
127  }
AlgebraicSymMatrix66 theCartesianError
template<class T, class ErrorWeightType>
T GlobalErrorBaseExtended< T, ErrorWeightType >::czz ( ) const
inline

Definition at line 141 of file GlobalErrorBaseExtended.h.

Referenced by TrackerGeomDet::setAlignmentPositionError(), and AlignmentPositionError::valid().

141  {
142  return theCartesianError(2,2);
143  }
AlgebraicSymMatrix66 theCartesianError
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 185 of file GlobalErrorBaseExtended.h.

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

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

Definition at line 188 of file GlobalErrorBaseExtended.h.

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

Definition at line 216 of file GlobalErrorBaseExtended.h.

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

Definition at line 219 of file GlobalErrorBaseExtended.h.

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

Definition at line 205 of file GlobalErrorBaseExtended.h.

205  {
206  T r2 = aPoint.perp2();
207  T x2 = aPoint.x()*aPoint.x();
208  T y2 = aPoint.y()*aPoint.y();
209  T xy = aPoint.x()*aPoint.y();
210  if (r2 != 0)
211  return std::max<T>(0, (1./(r2*r2))*(y2*cxx() - 2.*xy*cyx() + x2*cyy()));
212  else
213  return 0;
214  }
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 193 of file GlobalErrorBaseExtended.h.

193  {
194  T r2 = aPoint.perp2();
195  T x2 = aPoint.x()*aPoint.x();
196  T y2 = aPoint.y()*aPoint.y();
197  T xy = aPoint.x()*aPoint.y();
198  if(r2 != 0)
199  return std::max<T>(0, (1./r2)*(x2*cxx() + 2.*xy*cyx() + y2*cyy()));
200  else
201  return 0.5*(cxx() + cyy());
202  }
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 225 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-().