36 #ifndef G4ErrorMatrix_hh
37 #define G4ErrorMatrix_hh
136 typedef std::vector<G4double >::const_iterator G4ErrorMatrixConstIter;
170 static void error(
const char *
s);
224 std::vector<G4double > m;
312 #include "G4ErrorMatrix.icc"
void house_with_update(G4ErrorMatrix *a, G4int row=1, G4int col=1)
virtual G4int num_row() const
G4ErrorMatrix dsum(const G4ErrorMatrix &, const G4ErrorMatrix &)
void back_solve(const G4ErrorMatrix &R, G4ErrorMatrix *b)
const G4double & operator[](G4int) const
G4ErrorMatrix inverse(G4int &ierr) const
std::vector< ExP01TrackerHit * > a
virtual G4int num_col() const
void givens(G4double a, G4double b, G4double *c, G4double *s)
BasicVector3D< float > operator-(const BasicVector3D< float > &v)
BasicVector3D< float > operator+(const BasicVector3D< float > &v)
void col_givens(G4ErrorMatrix *A, G4double c, G4double s, G4int k1, G4int k2, G4int row_min=1, G4int row_max=0)
friend void back_solve(const G4ErrorMatrix &R, G4ErrorMatrix *b)
friend void col_house(G4ErrorMatrix *, const G4ErrorMatrix &, G4double, G4int, G4int, G4int, G4int)
friend void tridiagonal(G4ErrorSymMatrix *a, G4ErrorMatrix *hsm)
G4ErrorMatrix & operator*=(G4double t)
G4ErrorMatrix & operator=(const G4ErrorMatrix &m2)
std::vector< G4double >::const_iterator G4ErrorMatrixConstIter
G4ErrorMatrix_row_const(const G4ErrorMatrix &, G4int)
G4ErrorMatrix sub(G4int min_row, G4int max_row, G4int min_col, G4int max_col) const
friend void house_with_update2(G4ErrorSymMatrix *a, G4ErrorMatrix *v, G4int row, G4int col)
friend G4ErrorMatrix operator*(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2)
virtual void invert(G4int &ierr)
double A(double temperature)
friend void row_givens(G4ErrorMatrix *A, G4double c, G4double s, G4int k1, G4int k2, G4int colmin, G4int colmax)
friend G4ErrorMatrix operator+(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2)
void row_givens(G4ErrorMatrix *A, G4double c, G4double s, G4int k1, G4int k2, G4int col_min=1, G4int col_max=0)
void col_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4double vnormsq, G4int row, G4int col, G4int row_start, G4int col_start)
G4ErrorMatrix & operator/=(G4double t)
void row_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4double vnormsq, G4int row, G4int col, G4int row_start, G4int col_start)
static void error(const char *s)
std::vector< G4double >::iterator G4ErrorMatrixIter
G4ErrorMatrix apply(G4double(*f)(G4double, G4int, G4int)) const
friend void row_house(G4ErrorMatrix *, const G4ErrorMatrix &, G4double, G4int, G4int, G4int, G4int)
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
BasicVector3D< float > operator*(const BasicVector3D< float > &v, double a)
virtual G4int num_size() const
virtual void invertHaywood4(G4int &ierr)
void qr_decomp(G4ErrorMatrix *A, G4ErrorMatrix *hsm)
G4double determinant() const
friend void col_givens(G4ErrorMatrix *A, G4double c, G4double s, G4int k1, G4int k2, G4int rowmin, G4int rowmax)
BasicVector3D< float > operator/(const BasicVector3D< float > &v, double a)
virtual void invertHaywood6(G4int &ierr)
G4ErrorMatrix_row operator[](G4int)
virtual void invertHaywood5(G4int &ierr)
friend G4ErrorMatrix qr_solve(G4ErrorMatrix *, const G4ErrorMatrix &b)
G4ErrorMatrix operator-() const
virtual const G4double & operator()(G4int row, G4int col) const
G4ErrorMatrix qr_inverse(const G4ErrorMatrix &A)
G4ErrorMatrix & operator+=(const G4ErrorMatrix &m2)
G4ErrorMatrix & operator-=(const G4ErrorMatrix &m2)
G4double & operator[](G4int)
static constexpr double m2
friend void house_with_update(G4ErrorMatrix *a, G4int row, G4int col)
G4ErrorMatrix_row(G4ErrorMatrix &, G4int)
G4ErrorMatrix qr_solve(const G4ErrorMatrix &A, const G4ErrorMatrix &b)