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);
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