#include <BesPointErr.h>
Public Types | |
Rho = 0 | |
Theta = 1 | |
Phi = 2 | |
NUM_PCOORDINATES = 3 | |
C_Rho = 0 | |
C_Zeta = 1 | |
C_Phi = 2 | |
NUM_CCOORDINATES = 3 | |
enum | PolarCoordinateIndex { Rho = 0, Theta = 1, Phi = 2, NUM_PCOORDINATES = 3 } |
enum | CylindricalCoordinateIndex { C_Rho = 0, C_Zeta = 1, C_Phi = 2, NUM_CCOORDINATES = 3 } |
Public Member Functions | |
BesPointErr () | |
BesPointErr (const HepPoint3D &p) | |
BesPointErr (const HepPoint3D &p, const BesError &covMat) | |
BesPointErr (const BesPointErr &v) | |
double | determineChisq (const HepPoint3D &diffPoint) const |
BesError | covRTPMatrix () const |
BesError | covRZPMatrix () const |
const BesError & | covMatrix () const |
void | setCovMatrix (const BesError &v) |
Private Attributes | |
BesError | _covMatrix |
Definition at line 44 of file BesPointErr.h.
Definition at line 53 of file BesPointErr.h.
00053 { 00054 C_Rho = 0, 00055 C_Zeta = 1, 00056 C_Phi = 2, 00057 NUM_CCOORDINATES = 3 00058 };
Definition at line 47 of file BesPointErr.h.
00047 { 00048 Rho = 0, 00049 Theta = 1, 00050 Phi = 2, 00051 NUM_PCOORDINATES = 3 00052 };
BesPointErr::BesPointErr | ( | ) | [inline] |
BesPointErr::BesPointErr | ( | const HepPoint3D & | p | ) | [inline] |
BesPointErr::BesPointErr | ( | const HepPoint3D & | p, | |
const BesError & | covMat | |||
) | [inline] |
Definition at line 62 of file BesPointErr.h.
References _covMatrix.
00062 : HepPoint3D(p), 00063 _covMatrix(3) { _covMatrix=covMat; }
BesPointErr::BesPointErr | ( | const BesPointErr & | v | ) | [inline] |
Definition at line 66 of file BesPointErr.h.
References v.
00066 : HepPoint3D(),_covMatrix(3) {*this = v;}
const BesError& BesPointErr::covMatrix | ( | ) | const [inline] |
Definition at line 84 of file BesPointErr.h.
References _covMatrix.
Referenced by covRTPMatrix(), covRZPMatrix(), and operator<<().
00084 { return _covMatrix; }
BesError BesPointErr::covRTPMatrix | ( | ) | const |
Definition at line 83 of file BesPointErr.cxx.
References covMatrix(), DifArray::jacobian(), NUM_PCOORDINATES, Phi, Rho, BesError::similarity(), Theta, and x.
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 }
BesError BesPointErr::covRZPMatrix | ( | ) | const |
Definition at line 96 of file BesPointErr.cxx.
References C_Phi, C_Rho, C_Zeta, covMatrix(), DifArray::jacobian(), NUM_CCOORDINATES, BesError::similarity(), and x.
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 }
double BesPointErr::determineChisq | ( | const HepPoint3D & | diffPoint | ) | const [inline] |
Definition at line 68 of file BesPointErr.h.
References _covMatrix, BesError::determineChisq(), subSeperate::temp, and x.
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 }
void BesPointErr::setCovMatrix | ( | const BesError & | v | ) | [inline] |
Definition at line 85 of file BesPointErr.h.
References _covMatrix, and v.
Referenced by operator>>().
00085 { _covMatrix = v; }
BesError BesPointErr::_covMatrix [private] |
Definition at line 91 of file BesPointErr.h.
Referenced by BesPointErr(), covMatrix(), determineChisq(), and setCovMatrix().