CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h

Go to the documentation of this file.
00001 #ifndef __CINT__
00002 #ifndef VEcalCalibBlock_H
00003 #define VEcalCalibBlock_H
00004 
00005 #include <map>
00006 #include <string>
00007 #include <vector>
00008 
00017 class VEcalCalibBlock
00018 {
00019   public :
00020   
00022     VEcalCalibBlock (int numberOfElements) :
00023       m_numberOfElements (numberOfElements) {} ;
00025     virtual ~VEcalCalibBlock () {} ;
00026     
00028     virtual void Fill (std::map<int,double>::const_iterator,
00029                        std::map<int,double>::const_iterator,
00030                        double pTk,
00031                        double pSubtract,
00032                        double sigma = 1.) = 0 ;
00033 
00035     virtual void reset () = 0 ;
00037     float at (const unsigned int index) { return m_coefficients[index] ; }
00039     virtual int solve (int usingBlockSolver, double min, double max) = 0 ;
00040 
00041   protected :  
00042 
00044     unsigned int m_numberOfElements ;
00046     std::map<unsigned int, float> m_coefficients ;
00047 } ;
00048 
00049 
00050 #endif
00051 #endif
00052