15 #ifndef _DIAGMatrix_H_ 16 #define _DIAGMatrix_H_ 24 #include "CLHEP/Matrix/defs.h" 25 #include "CLHEP/Matrix/GenMatrix.h" 39 class HepDiagMatrix:
public HepGenMatrix {
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;
142 double trace()
const;
190 std::vector<double >
m;
192 std::vector<double,Alloc<double,25> > m;
195 #if defined(__sun) || !defined(__GNUG__) 201 static const double zero;
237 #ifdef ENABLE_BACKWARDS_COMPATIBILITY 239 using namespace CLHEP;
242 #ifndef HEP_DEBUG_INLINE 243 #include "CLHEP/Matrix/DiagMatrix.icc"
HepDiagMatrix & operator=(const HepDiagMatrix &hm2)
HepLorentzVector operator/(const HepLorentzVector &, double a)
friend class HepSymMatrix
HepSymMatrix similarityT(const HepMatrix &hm1) const
HepDiagMatrix & operator/=(double t)
HepDiagMatrix sub(int min_row, int max_row) const
friend HepDiagMatrix operator+(const HepDiagMatrix &hm1, const HepDiagMatrix &hm2)
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
HepSymMatrix similarity(const HepMatrix &hm1) const
HepDiagMatrix & operator-=(const HepDiagMatrix &hm2)
void assign(const HepMatrix &hm2)
friend class HepDiagMatrix_row_const
HepDiagMatrix & operator+=(const HepDiagMatrix &hm2)
HepDiagMatrix_row(HepDiagMatrix &, int)
double determinant() const
double & fast(int row, int col)
HepDiagMatrix operator-() const
double & operator()(int row, int col)
HepDiagMatrix apply(double(*f)(double, int, int)) const
HepDiagMatrix inverse() const
friend HepDiagMatrix operator*(const HepDiagMatrix &hm1, const HepDiagMatrix &hm2)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
friend class HepDiagMatrix_row
HepDiagMatrix & operator*=(double t)