BesError Class Reference

#include <BesError.h>

List of all members.

Public Member Functions

 BesError ()
 BesError (int n)
 BesError (const HepSymMatrix &p)
 BesError (const BesError &v)
BesErroroperator= (const BesError &v)
BesErroroperator= (const HepSymMatrix &v)
double determineChisq (const HepVector &diff) const
BesErroroperator *= (double t)
BesErroroperator/= (double t)
BesErroroperator+= (const BesError &m2)
BesErroroperator-= (const BesError &m2)
BesError operator- ()
BesErroroperator+= (const HepSymMatrix &m2)
BesErroroperator-= (const HepSymMatrix &m2)
BesError operator- () const
BesErroroperator+= (const HepDiagMatrix &m2)
BesErroroperator-= (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
BesErrorsimilarityWith (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::ostreamoperator<< (std::ostream &out, const BesError &mat)
std::istreamoperator>> (std::istream &in, BesError &mat)


Detailed Description

Definition at line 46 of file BesError.h.


Constructor & Destructor Documentation

BesError::BesError (  )  [inline]

Definition at line 51 of file BesError.h.

00051 : HepSymMatrix() {}

BesError::BesError ( int  n  )  [inline]

Definition at line 53 of file BesError.h.

00053 : HepSymMatrix(n, 0)                            {}

BesError::BesError ( const HepSymMatrix &  p  )  [inline]

Definition at line 58 of file BesError.h.

00058 : HepSymMatrix(p)               {}

BesError::BesError ( const BesError v  )  [inline]

Definition at line 61 of file BesError.h.

References v.

00061 : HepSymMatrix() {*this = v;}


Member Function Documentation

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]

Definition at line 97 of file BesError.h.

00098     { return (BesError&) HepSymMatrix::operator*=(t); }

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     }

BesError& BesError::operator+= ( const BesError m2  )  [inline]

Definition at line 103 of file BesError.h.

References operator+=().

00104     {
00105       HepSymMatrix::operator+=(m2);
00106       return *this;
00107     }

BesError BesError::operator- (  )  const [inline]

Definition at line 134 of file BesError.h.

References subSeperate::temp.

00135     { BesError temp(*this); 
00136     return temp;}

BesError BesError::operator- (  )  [inline]

Definition at line 115 of file BesError.h.

References subSeperate::temp.

00116     { BesError temp(*this); 
00117       return temp; }

BesError& BesError::operator-= ( const HepDiagMatrix &  m2  )  [inline]

Definition at line 144 of file BesError.h.

00145     {
00146       HepSymMatrix::operator-=(m2);
00147       return *this;
00148     }

BesError& BesError::operator-= ( const HepSymMatrix &  m2  )  [inline]

Definition at line 128 of file BesError.h.

00129     {
00130       HepSymMatrix::operator-=(m2);
00131       return *this;
00132     }

BesError& BesError::operator-= ( const BesError m2  )  [inline]

Definition at line 109 of file BesError.h.

00110     {
00111       HepSymMatrix::operator-=(m2);
00112       return *this;
00113     }

BesError& BesError::operator/= ( double  t  )  [inline]

Definition at line 100 of file BesError.h.

00101     {return (BesError&) HepSymMatrix::operator/=(t); }

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     }

BesError& BesError::operator= ( const BesError v  )  [inline]

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]

Definition at line 170 of file BesError.h.

00171        { return this->HepSymMatrix::similarity( m1 ); }

double BesError::similarity ( const HepVector &  v  )  const [inline]

Definition at line 168 of file BesError.h.

00169        { return this->HepSymMatrix::similarity( v ); }

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     }

BesError BesError::similarity ( const BesError E  ) 

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 }

BesError & BesError::similarityWith ( const BesError m,
const HepMatrix &  m1 
)

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 }


Friends And Related Function Documentation

BesError operator * ( const BesError m1,
double  t 
) [friend]

Definition at line 162 of file BesError.cxx.

00163   {
00164     BesError mret = m1;
00165     mret *= t;
00166     return mret;
00167   }

BesError operator * ( double  t,
const BesError m1 
) [friend]

Definition at line 155 of file BesError.cxx.

00156   {
00157     BesError mret = m1;
00158     mret *= t;
00159     return mret;
00160   }

BesError operator+ ( const BesError m1,
const BesError m2 
) [friend]

Definition at line 183 of file BesError.cxx.

00184   {
00185     BesError mret = m1;
00186     mret += m2;
00187     return mret;
00188   }

BesError operator- ( const BesError m1,
const BesError m2 
) [friend]

Definition at line 190 of file BesError.cxx.

00191   {
00192     BesError mret = m1;
00193     mret -= m2;
00194     return mret;
00195   }

BesError operator/ ( const BesError m1,
double  t 
) [friend]

Definition at line 176 of file BesError.cxx.

00177   {
00178     BesError mret = m1;
00179     mret /= t;
00180     return mret;
00181   }

BesError operator/ ( double  t,
const BesError m1 
) [friend]

Definition at line 169 of file BesError.cxx.

00170   {
00171     BesError mret = m1;
00172     mret /= t;
00173     return mret;
00174   }

std::ostream& operator<< ( std::ostream out,
const BesError mat 
) [friend]

std::istream& operator>> ( std::istream in,
BesError mat 
) [friend]


Member Data Documentation

const double BesError::chisqUndef = -1. [static]

Definition at line 50 of file BesError.h.

Referenced by determineChisq().


Generated on Tue Nov 29 23:17:30 2016 for BOSS_7.0.2 by  doxygen 1.4.7