#include <BesError.h>
Public Member Functions | |
BesError () | |
BesError (int n) | |
BesError (const HepSymMatrix &p) | |
BesError (const BesError &v) | |
BesError & | operator= (const BesError &v) |
BesError & | operator= (const HepSymMatrix &v) |
double | determineChisq (const HepVector &diff) const |
BesError & | operator *= (double t) |
BesError & | operator/= (double t) |
BesError & | operator+= (const BesError &m2) |
BesError & | operator-= (const BesError &m2) |
BesError | operator- () |
BesError & | operator+= (const HepSymMatrix &m2) |
BesError & | operator-= (const HepSymMatrix &m2) |
BesError | operator- () const |
BesError & | operator+= (const HepDiagMatrix &m2) |
BesError & | operator-= (const HepDiagMatrix &m2) |
BesError | similarity (const HepRotation &rot) const |
BesError | similarity (const HepLorentzRotation &rot) const |
BesError | similarity (const BesError &E) |
BesError | similarity (const HepMatrix &m1) const |
BesError & | similarityWith (const BesError &m, const HepMatrix &m1) |
double | similarity (const HepVector &v) const |
HepSymMatrix | similarity (const HepSymMatrix &m1) const |
Static Public Attributes | |
static const double | chisqUndef = -1. |
Friends | |
BesError | operator * (double t, const BesError &m1) |
BesError | operator * (const BesError &m1, double t) |
BesError | operator/ (double t, const BesError &m1) |
BesError | operator/ (const BesError &m1, double t) |
BesError | operator+ (const BesError &m1, const BesError &m2) |
BesError | operator- (const BesError &m1, const BesError &m2) |
std::ostream & | operator<< (std::ostream &out, const BesError &mat) |
std::istream & | operator>> (std::istream &in, BesError &mat) |
Definition at line 46 of file BesError.h.
BesError::BesError | ( | ) | [inline] |
BesError::BesError | ( | int | n | ) | [inline] |
BesError::BesError | ( | const HepSymMatrix & | p | ) | [inline] |
BesError::BesError | ( | const BesError & | v | ) | [inline] |
double BesError::determineChisq | ( | const HepVector & | diff | ) | const |
Definition at line 109 of file BesError.cxx.
References chisqUndef, and genRecEmupikp::i.
Referenced by BesVectorErr::determineChisq(), and BesPointErr::determineChisq().
00110 { 00111 int ierr; 00112 HepMatrix dMat(diff.num_row(), 1); 00113 00114 for (int i = 0; i < diff.num_row(); i++) dMat[i][0] = diff[i]; 00115 00116 double chisq = (inverse(ierr).similarityT(dMat))[0][0]; 00117 00118 if (ierr == 0) return chisq; 00119 else return chisqUndef; 00120 }
BesError& BesError::operator *= | ( | double | t | ) | [inline] |
BesError& BesError::operator+= | ( | const HepDiagMatrix & | m2 | ) | [inline] |
Definition at line 138 of file BesError.h.
References operator+=().
00139 { 00140 HepSymMatrix::operator+=(m2); 00141 return *this; 00142 }
BesError& BesError::operator+= | ( | const HepSymMatrix & | m2 | ) | [inline] |
Definition at line 122 of file BesError.h.
References operator+=().
00123 { 00124 HepSymMatrix::operator+=(m2); 00125 return *this; 00126 }
Definition at line 103 of file BesError.h.
References operator+=().
00104 { 00105 HepSymMatrix::operator+=(m2); 00106 return *this; 00107 }
BesError BesError::operator- | ( | ) | const [inline] |
BesError BesError::operator- | ( | ) | [inline] |
BesError& BesError::operator-= | ( | const HepDiagMatrix & | m2 | ) | [inline] |
BesError& BesError::operator-= | ( | const HepSymMatrix & | m2 | ) | [inline] |
BesError& BesError::operator/= | ( | double | t | ) | [inline] |
BesError& BesError::operator= | ( | const HepSymMatrix & | v | ) | [inline] |
Definition at line 71 of file BesError.h.
00072 { 00073 if (this != &v) { 00074 HepSymMatrix::operator=(v); 00075 } 00076 return *this; 00077 }
Definition at line 63 of file BesError.h.
References v.
00064 { 00065 if (this != &v) { 00066 HepSymMatrix::operator=(v); 00067 } 00068 return *this; 00069 }
HepSymMatrix BesError::similarity | ( | const HepSymMatrix & | m1 | ) | const [inline] |
double BesError::similarity | ( | const HepVector & | v | ) | const [inline] |
BesError BesError::similarity | ( | const HepMatrix & | m1 | ) | const [inline] |
Definition at line 157 of file BesError.h.
References similarityWith().
00158 { 00159 BesError mret(m1.num_row()); 00160 mret.similarityWith(*this, m1); 00161 return mret; 00162 }
Definition at line 75 of file BesError.cxx.
00076 { 00077 BesError mret(HepSymMatrix::similarity(E)); 00078 return mret; 00079 }
BesError BesError::similarity | ( | const HepLorentzRotation & | rot | ) | const |
Definition at line 63 of file BesError.cxx.
References similarity(), and w.
00064 { 00065 HepMatrix mat(4,4); 00066 mat(1,1)=rot.xx(); mat(1,2)=rot.xy(); mat(1,3)=rot.xz(); mat(1,4)=rot.xt(); 00067 mat(2,1)=rot.yx(); mat(2,2)=rot.yy(); mat(2,3)=rot.yz(); mat(2,4)=rot.yt(); 00068 mat(3,1)=rot.zx(); mat(3,2)=rot.zy(); mat(3,3)=rot.zz(); mat(3,4)=rot.zt(); 00069 mat(4,1)=rot.tx(); mat(4,2)=rot.ty(); mat(4,3)=rot.tz(); mat(4,4)=rot.tt(); 00070 00071 HepSymMatrix w = similarity(mat); 00072 return w; 00073 }
BesError BesError::similarity | ( | const HepRotation & | rot | ) | const |
Definition at line 51 of file BesError.cxx.
References w.
Referenced by BesVectorErr::covRTPMatrix(), BesPointErr::covRTPMatrix(), BesVectorErr::covRZPMatrix(), BesPointErr::covRZPMatrix(), and similarity().
00052 { 00053 HepMatrix mat(3,3); 00054 mat(1,1)=rot.xx(); mat(1,2)=rot.xy(); mat(1,3)=rot.xz(); 00055 mat(2,1)=rot.yx(); mat(2,2)=rot.yy(); mat(2,3)=rot.yz(); 00056 mat(3,1)=rot.zx(); mat(3,2)=rot.zy(); mat(3,3)=rot.zz(); 00057 00058 HepSymMatrix w = similarity(mat); 00059 return w; 00060 }
Definition at line 81 of file BesError.cxx.
References subSeperate::temp.
Referenced by similarity().
00083 { 00084 assert(num_row() == m1.num_row()); 00085 HepMatrix temp = m1*mat; 00086 register double tmp; 00087 00088 for (int r = 0; r < num_row(); r++) { 00089 for (int c = 0; c <= r; c++) { 00090 tmp = 0.; 00091 for (int k = 0; k < m1.num_col(); k++) { 00092 tmp += temp[r][k]*m1[c][k]; 00093 } 00094 (*this)[r][c] = tmp; 00095 } 00096 } 00097 return *this; 00098 }
Definition at line 183 of file BesError.cxx.
00184 { 00185 BesError mret = m1; 00186 mret += m2; 00187 return mret; 00188 }
Definition at line 190 of file BesError.cxx.
00191 { 00192 BesError mret = m1; 00193 mret -= m2; 00194 return mret; 00195 }
std::ostream& operator<< | ( | std::ostream & | out, | |
const BesError & | mat | |||
) | [friend] |
std::istream& operator>> | ( | std::istream & | in, | |
BesError & | mat | |||
) | [friend] |
const double BesError::chisqUndef = -1. [static] |