15 #ifndef _DIAGMatrix_H_
16 #define _DIAGMatrix_H_
24 #include "CLHEP/Matrix/defs.h"
25 #include "CLHEP/Matrix/GenMatrix.h"
64 const double &
operator()(
int row,
int col)
const;
68 double &
fast(
int row,
int col);
69 const double &
fast(
int row,
int col)
const;
136 double trace()
const;
184 std::vector<double > m;
186 std::vector<double,Alloc<double,25> > m;
189 #if defined(__sun) || !defined(__GNUG__)
195 static const double zero;
231 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
233 using namespace CLHEP;
236 #ifndef HEP_DEBUG_INLINE
237 #include "CLHEP/Matrix/DiagMatrix.icc"
Hep3Vector operator+(const Hep3Vector &, const Hep3Vector &)
HepDiagMatrix_row operator[](int)
HepDiagMatrix & operator-=(const HepDiagMatrix &m2)
HepDiagMatrix & operator+=(const HepDiagMatrix &m2)
HepLorentzVector operator/(const HepLorentzVector &, double a)
void assign(const HepMatrix &m2)
friend HepDiagMatrix operator+(const HepDiagMatrix &m1, const HepDiagMatrix &m2)
HepSymMatrix similarity(const HepMatrix &m1) const
HepDiagMatrix operator-() const
HepDiagMatrix & operator/=(double t)
const double & operator[](int) const
HepDiagMatrix sub(int min_row, int max_row) const
HepSymMatrix similarityT(const HepMatrix &m1) const
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
HepDiagMatrix & operator=(const HepDiagMatrix &m2)
double determinant() const
HepDiagMatrix apply(double(*f)(double, int, int)) const
friend HepDiagMatrix operator*(const HepDiagMatrix &m1, const HepDiagMatrix &m2)
HepDiagMatrix_row(HepDiagMatrix &, int)
double & fast(int row, int col)
HepDiagMatrix_row_const(const HepDiagMatrix &, int)
Hep3Vector operator-(const Hep3Vector &, const Hep3Vector &)
HepDiagMatrix inverse(int &ierr) const
double & operator()(int row, int col)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
HepDiagMatrix & operator*=(double t)