Belle II Software  release-08-01-10
Tools.h
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
24 #ifndef genfit_Tools_h
25 #define genfit_Tools_h
26 
27 #include <TVectorD.h>
28 #include <TMatrixD.h>
29 #include <TMatrixDSym.h>
30 
34 namespace genfit {
35 
36 class AbsHMatrix;
37 
38 namespace tools {
39 
43 void invertMatrix(const TMatrixDSym& mat, TMatrixDSym& inv, double* determinant = nullptr);
46 void invertMatrix(TMatrixDSym& mat, double* determinant = nullptr);
47 
51 bool transposedForwardSubstitution(const TMatrixD& R, TVectorD& b);
53 bool transposedForwardSubstitution(const TMatrixD& R, TMatrixD& b, int nCol);
55 bool transposedInvert(const TMatrixD& R, TMatrixD& inv);
56 
61 void QR(TMatrixD& A);
62 
68 void QR(TMatrixD& A, TVectorD& b);
69 
75 void
76 noiseMatrixSqrt(const TMatrixDSym& noise,
77  TMatrixD& noiseSqrt);
78 
83 void
84 kalmanPredictionCovSqrt(const TMatrixD& S,
85  const TMatrixD& F, const TMatrixD& Q,
86  TMatrixD& Snew);
87 
92 void
93 kalmanUpdateSqrt(const TMatrixD& S,
94  const TVectorD& res, const TMatrixD& R, const AbsHMatrix* H,
95  TVectorD& update, TMatrixD& SNew);
96 
97 } /* End of namespace tools */
98 } /* End of namespace genfit */
101 #endif // genfit_Tools_h
double R
typedef autogenerated by FFTW
Defines for I/O streams used for error and debug printing.