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