CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Calibration/EcalCalibAlgos/interface/BlockSolver.h

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