SND@LHC Software
Loading...
Searching...
No Matches
Tools.h File Reference
#include <TVectorD.h>
#include <TMatrixD.h>
#include <TMatrixDSym.h>
Include dependency graph for Tools.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  genfit
 Matrix inversion tools.
 
namespace  genfit::tools
 

Functions

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.
 
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.

 
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.
 
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.