#include <BesVectorErr.h>
|
00050 { 00051 C_Rho = 0, 00052 C_Zeta = 1, 00053 C_Phi = 2, 00054 NUM_CCOORDINATES = 3 00055 };
|
|
00050 { 00051 C_Rho = 0, 00052 C_Zeta = 1, 00053 C_Phi = 2, 00054 NUM_CCOORDINATES = 3 00055 };
|
|
00043 { 00044 Rho = 0, 00045 Theta = 1, 00046 Phi = 2, 00047 NUM_PCOORDINATES = 3 00048 };
|
|
00043 { 00044 Rho = 0, 00045 Theta = 1, 00046 Phi = 2, 00047 NUM_PCOORDINATES = 3 00048 };
|
|
00057 : Hep3Vector(), _covMatrix(NUM_COORDINATES) {}
|
|
00060 : Hep3Vector(p), _covMatrix(NUM_COORDINATES) {}
|
|
00061 : Hep3Vector(p), 00062 _covMatrix(NUM_COORDINATES) { _covMatrix=covMat; }
|
|
00065 : Hep3Vector(v), 00066 _covMatrix(v.covMatrix()) {}
|
|
00057 : Hep3Vector(), _covMatrix(NUM_COORDINATES) {}
|
|
00060 : Hep3Vector(p), _covMatrix(NUM_COORDINATES) {}
|
|
00061 : Hep3Vector(p), 00062 _covMatrix(NUM_COORDINATES) { _covMatrix=covMat; }
|
|
00065 : Hep3Vector(v), 00066 _covMatrix(v.covMatrix()) {}
|
|
00121 { return _covMatrix; }
|
|
00121 { return _covMatrix; }
|
|
|
|
00056 { 00057 // protect against 0's 00058 double xv = x()==0 ? FLT_MIN : x(); 00059 double yv = y()==0 ? FLT_MIN : y(); 00060 double zv = z()==0 ? FLT_MIN : z(); 00061 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3); 00062 DifArray pars(3,NUM_PCOORDINATES); 00063 pars[Rho] = sqrt(xDF*xDF + yDF*yDF + zDF*zDF); 00064 pars[Phi] = atan2(yDF,xDF); 00065 pars[Theta] = acos(zDF/pars[Rho]); 00066 return covMatrix().similarity(pars.jacobian()); 00067 }
|
|
|
|
00069 { 00070 // protect against 0's 00071 double xv = x()==0 ? FLT_MIN : x(); 00072 double yv = y()==0 ? FLT_MIN : y(); 00073 double zv = z()==0 ? FLT_MIN : z(); 00074 DifNumber xDF(xv,X+1,3), yDF(yv,Y+1,3), zDF(zv,Z+1,3); 00075 DifArray pars(3,NUM_CCOORDINATES); 00076 pars[C_Rho] = sqrt(xDF*xDF + yDF*yDF); 00077 pars[C_Phi] = atan2(yDF,xDF); 00078 pars[C_Zeta] = zDF; 00079 return covMatrix().similarity(pars.jacobian()); 00080 }
|
|
|
|
00083 { 00084 HepVector temp(NUM_COORDINATES, 0); 00085 temp[0] = refVector.x()-this->x(); 00086 temp[1] = refVector.y()-this->y(); 00087 temp[2] = refVector.z()-this->z(); 00088 return _covMatrix.determineChisq(temp); 00089 }
|
|
00086 { 00087 Hep3Vector::operator+=(v); 00088 _covMatrix += v.covMatrix(); 00089 return *this; 00090 }
|
|
00086 { 00087 Hep3Vector::operator+=(v); 00088 _covMatrix += v.covMatrix(); 00089 return *this; 00090 }
|
|
00081 { 00082 Hep3Vector t = *this; 00083 return BesVectorErr( -t, _covMatrix); // _covMatrix remains unaltered 00084 }
|
|
00081 { 00082 Hep3Vector t = *this; 00083 return BesVectorErr( -t, _covMatrix); // _covMatrix remains unaltered 00084 }
|
|
00092 { 00093 Hep3Vector::operator-=(v); 00094 _covMatrix += v.covMatrix(); 00095 return *this; 00096 }
|
|
00092 { 00093 Hep3Vector::operator-=(v); 00094 _covMatrix += v.covMatrix(); 00095 return *this; 00096 }
|
|
00073 { 00074 if (this != &v) { 00075 Hep3Vector::operator=(v); 00076 _covMatrix = v.covMatrix(); 00077 } 00078 return *this; 00079 }
|
|
00073 { 00074 if (this != &v) { 00075 Hep3Vector::operator=(v); 00076 _covMatrix = v.covMatrix(); 00077 } 00078 return *this; 00079 }
|
|
00131 { _covMatrix = v; }
|
|
00131 { _covMatrix = v; }
|
|
|