CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DQM/EcalCommon/interface/MESetEcal.h

Go to the documentation of this file.
00001 #ifndef MESetEcal_H
00002 #define MESetEcal_H
00003 
00004 #include "MESet.h"
00005 
00006 namespace ecaldqm
00007 {
00008 
00009   class MESetEcal : public MESet
00010   {
00011   public :
00012     MESetEcal(std::string const&, MEData const&, int logicalDimensions_, bool _readOnly = false);
00013     ~MESetEcal();
00014 
00015     void book();
00016     bool retrieve() const;
00017 
00018     void fill(DetId const&, double _wx = 1., double _wy = 1., double _w = 1.);
00019     void fill(unsigned, double _wx = 1., double _wy = 1., double _w = 1.);
00020     void fill(double, double _wy = 1., double _w = 1.);
00021 
00022     void setBinContent(DetId const&, double, double _err = 0.);
00023     void setBinContent(unsigned, double, double _err = 0.);
00024 
00025     void setBinEntries(DetId const&, double);
00026     void setBinEntries(unsigned, double);
00027 
00028     double getBinContent(DetId const&, int _bin = 0) const;
00029     double getBinContent(unsigned, int _bin = 0) const;
00030 
00031     double getBinError(DetId const&, int _bin = 0) const;
00032     double getBinError(unsigned, int _bin = 0) const;
00033 
00034     double getBinEntries(DetId const&, int _bin = 0) const;
00035     double getBinEntries(unsigned, int _bin = 0) const;
00036 
00037     void reset(double _content = 0., double _err = 0., double _entries = 0.);
00038 
00039     std::vector<std::string> generateNames() const;
00040 
00041   protected :
00042     virtual void find_(uint32_t) const;
00043     virtual void fill_(double); // method for derived classes
00044 
00045     const unsigned logicalDimensions_;
00046 
00047     mutable uint32_t cacheId_;
00048     mutable std::pair<unsigned, std::vector<int> > cache_;
00049   };
00050 
00051 }
00052 
00053 #endif