CMS 3D CMS Logo

VEcalCalibBlock.h
Go to the documentation of this file.
1 #ifndef __CINT__
2 #ifndef VEcalCalibBlock_H
3 #define VEcalCalibBlock_H
4 
5 #include <map>
6 #include <string>
7 #include <vector>
8 
14 public:
16  VEcalCalibBlock(int numberOfElements) : m_numberOfElements(numberOfElements) {}
18  virtual ~VEcalCalibBlock() {}
19 
21  virtual void Fill(std::map<int, double>::const_iterator,
22  std::map<int, double>::const_iterator,
23  double pTk,
24  double pSubtract,
25  double sigma = 1.) = 0;
26 
28  virtual void reset() = 0;
30  float at(const unsigned int index) { return m_coefficients[index]; }
32  virtual int solve(int usingBlockSolver, double min, double max) = 0;
33 
34 protected:
36  unsigned int m_numberOfElements;
38  std::map<unsigned int, float> m_coefficients;
39 };
40 
41 #endif
42 #endif
element for the single ECAL block intercalibration
virtual void reset()=0
reset the chi2 matrices
virtual int solve(int usingBlockSolver, double min, double max)=0
solve the chi2 linear system
std::map< unsigned int, float > m_coefficients
map of coefficients
unsigned int m_numberOfElements
The only parameter!
float at(const unsigned int index)
retrieve the coefficients
virtual void Fill(std::map< int, double >::const_iterator, std::map< int, double >::const_iterator, double pTk, double pSubtract, double sigma=1.)=0
insert an entry
VEcalCalibBlock(int numberOfElements)
ctor
virtual ~VEcalCalibBlock()
dtor