Go to the documentation of this file.00001 #ifndef __CINT__
00002 #ifndef BlockSolver_H
00003 #define BlockSolver_H
00004
00005 #include <map>
00006 #include <string>
00007 #include <vector>
00008
00009 #include "CLHEP/Matrix/GenMatrix.h"
00010 #include "CLHEP/Matrix/Matrix.h"
00011 #include "CLHEP/Matrix/Vector.h"
00012 #include "CLHEP/Random/RandGaussQ.h"
00013
00014 #include "Calibration/Tools/interface/InvMatrixCommonDefs.h"
00015
00025 struct BlockSolver
00026 {
00027 int operator () (const CLHEP::HepMatrix & matrix,
00028 const CLHEP::HepVector & vector,
00029 CLHEP::HepVector & result) ;
00030
00031 private :
00032
00034 void shrink (const CLHEP::HepMatrix & matrix,
00035 CLHEP::HepMatrix & solution,
00036 const CLHEP::HepVector & result,
00037 CLHEP::HepVector & input,
00038 const std::vector<int> & where) ;
00040 void pour (CLHEP::HepVector & result,
00041 const CLHEP::HepVector & output,
00042 const std::vector<int> & where) ;
00043
00044 } ;
00045
00046
00047 #endif
00048 #endif
00049