FairRoot/PandaRoot
Functions
genfit::tools Namespace Reference

Functions

void invertMatrix (const TMatrixDSym &mat, TMatrixDSym &inv, double *determinant=NULL)
 Invert a matrix, throwing an Exception when inversion fails. Optional calculation of determinant. More...
 
void invertMatrix (TMatrixDSym &mat, double *determinant=NULL)
 Same, replacing its argument. More...
 
bool transposedForwardSubstitution (const TMatrixD &R, TVectorD &b)
 Solves R^t x = b, replacing b with the solution for x. R is assumed to be upper diagonal. More...
 
bool transposedForwardSubstitution (const TMatrixD &R, TMatrixD &b, int nCol)
 Same, for a column of the matrix b. More...
 
bool transposedInvert (const TMatrixD &R, TMatrixD &inv)
 Inverts the transpose of the upper right matrix R into inv. More...
 
void QR (TMatrixD &A)
 Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A. More...
 
void QR (TMatrixD &A, TVectorD &b)
 Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A. Also replaces b by Q'b where Q' is the transposed of Q. More...
 
void safeAverage (const TMatrixDSym &C1, const TMatrixDSym &C2, TMatrixDSym &result)
 This averages the covariance matrices C1, C2 in a numerically stable way by using matrix square roots. This code is in no way optimized so use with care if speed is a concern. More...
 

Function Documentation

void genfit::tools::invertMatrix ( const TMatrixDSym &  mat,
TMatrixDSym &  inv,
double *  determinant = NULL 
)

Invert a matrix, throwing an Exception when inversion fails. Optional calculation of determinant.

void genfit::tools::invertMatrix ( TMatrixDSym &  mat,
double *  determinant = NULL 
)

Same, replacing its argument.

void genfit::tools::QR ( TMatrixD A)

Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A.

Referenced by PndLmdCalStrip::DigiStripFromPoint(), and PndSdsCalcStripDif::GetStrips().

void genfit::tools::QR ( TMatrixD A,
TVectorD &  b 
)

Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A. Also replaces b by Q'b where Q' is the transposed of Q.

void genfit::tools::safeAverage ( const TMatrixDSym &  C1,
const TMatrixDSym &  C2,
TMatrixDSym &  result 
)

This averages the covariance matrices C1, C2 in a numerically stable way by using matrix square roots. This code is in no way optimized so use with care if speed is a concern.

bool genfit::tools::transposedForwardSubstitution ( const TMatrixD R,
TVectorD &  b 
)

Solves R^t x = b, replacing b with the solution for x. R is assumed to be upper diagonal.

bool genfit::tools::transposedForwardSubstitution ( const TMatrixD R,
TMatrixD b,
int  nCol 
)

Same, for a column of the matrix b.

bool genfit::tools::transposedInvert ( const TMatrixD R,
TMatrixD inv 
)

Inverts the transpose of the upper right matrix R into inv.