#include <BesPointErr.h>
|
00053 { 00054 C_Rho = 0, 00055 C_Zeta = 1, 00056 C_Phi = 2, 00057 NUM_CCOORDINATES = 3 00058 };
|
|
00053 { 00054 C_Rho = 0, 00055 C_Zeta = 1, 00056 C_Phi = 2, 00057 NUM_CCOORDINATES = 3 00058 };
|
|
00047 { 00048 Rho = 0, 00049 Theta = 1, 00050 Phi = 2, 00051 NUM_PCOORDINATES = 3 00052 };
|
|
00047 { 00048 Rho = 0, 00049 Theta = 1, 00050 Phi = 2, 00051 NUM_PCOORDINATES = 3 00052 };
|
|
00059 : HepPoint3D(), _covMatrix(3) {}
|
|
00060 : HepPoint3D(p), 00061 _covMatrix(3) {}
|
|
00062 : HepPoint3D(p), 00063 _covMatrix(3) { _covMatrix=covMat; }
|
|
00066 : HepPoint3D(),_covMatrix(3) {*this = v;}
|
|
00059 : HepPoint3D(), _covMatrix(3) {}
|
|
00060 : HepPoint3D(p), 00061 _covMatrix(3) {}
|
|
00062 : HepPoint3D(p), 00063 _covMatrix(3) { _covMatrix=covMat; }
|
|
00066 : HepPoint3D(),_covMatrix(3) {*this = v;}
|
|
00084 { return _covMatrix; }
|
|
00084 { return _covMatrix; }
|
|
|
|
00083 { 00084 // protect against 0's 00085 double xv = x()==0 ? FLT_MIN : x(); 00086 double yv = y()==0 ? FLT_MIN : y(); 00087 double zv = z()==0 ? FLT_MIN : z(); 00088 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3); 00089 DifArray pars(3,NUM_PCOORDINATES); 00090 pars[Rho] = sqrt(xDF*xDF + yDF*yDF + zDF*zDF); 00091 pars[Phi] = atan2(yDF,xDF); 00092 pars[Theta] = acos(zDF/pars[Rho]); 00093 return covMatrix().similarity(pars.jacobian()); 00094 }
|
|
|
|
00096 { 00097 // protect against 0's 00098 double xv = x()==0 ? FLT_MIN : x(); 00099 double yv = y()==0 ? FLT_MIN : y(); 00100 double zv = z()==0 ? FLT_MIN : z(); 00101 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3); 00102 DifArray pars(3,NUM_CCOORDINATES); 00103 pars[C_Rho] = sqrt(xDF*xDF + yDF*yDF ); 00104 pars[C_Phi] = atan2(yDF,xDF); 00105 pars[C_Zeta] = zDF; 00106 return covMatrix().similarity(pars.jacobian()); 00107 }
|
|
00069 { 00070 HepVector temp(3); 00071 temp[0] = diffPoint.x()-this->x(); 00072 temp[1] = diffPoint.y()-this->y(); 00073 temp[2] = diffPoint.z()-this->z(); 00074 return _covMatrix.determineChisq(temp); 00075 }
|
|
00069 { 00070 HepVector temp(3); 00071 temp[0] = diffPoint.x()-this->x(); 00072 temp[1] = diffPoint.y()-this->y(); 00073 temp[2] = diffPoint.z()-this->z(); 00074 return _covMatrix.determineChisq(temp); 00075 }
|
|
00085 { _covMatrix = v; }
|
|
00085 { _covMatrix = v; }
|
|
|