File indexing completed on 2024-04-06 11:59:28
0001 #ifndef __CINT__
0002 #ifndef BlockSolver_H
0003 #define BlockSolver_H
0004
0005 #include <map>
0006 #include <string>
0007 #include <vector>
0008
0009 #include "CLHEP/Matrix/GenMatrix.h"
0010 #include "CLHEP/Matrix/Matrix.h"
0011 #include "CLHEP/Matrix/Vector.h"
0012 #include "CLHEP/Random/RandGaussQ.h"
0013
0014 #include "Calibration/Tools/interface/InvMatrixCommonDefs.h"
0015
0016
0017
0018
0019
0020
0021 struct BlockSolver {
0022 int operator()(const CLHEP::HepMatrix& matrix, const CLHEP::HepVector& vector, CLHEP::HepVector& result);
0023
0024 private:
0025
0026 void shrink(const CLHEP::HepMatrix& matrix,
0027 CLHEP::HepMatrix& solution,
0028 const CLHEP::HepVector& result,
0029 CLHEP::HepVector& input,
0030 const std::vector<int>& where);
0031
0032 void pour(CLHEP::HepVector& result, const CLHEP::HepVector& output, const std::vector<int>& where);
0033 };
0034
0035 #endif
0036 #endif