Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:12

0001 #ifndef StatusManager_H
0002 #define StatusManager_H
0003 
0004 #include <cstdint>
0005 #include <iostream>
0006 #include <map>
0007 #include <vector>
0008 
0009 #include "CondFormats/EcalObjects/interface/EcalDQMChannelStatus.h"
0010 #include "CondFormats/EcalObjects/interface/EcalDQMTowerStatus.h"
0011 
0012 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
0013 
0014 namespace ecaldqm {
0015 
0016   class StatusManager {
0017   public:
0018     StatusManager();
0019     ~StatusManager() {}
0020 
0021     void readFromStream(std::istream &, EcalElectronicsMapping const *);
0022     void readFromObj(EcalDQMChannelStatus const &, EcalDQMTowerStatus const &);
0023     void writeToStream(std::ostream &) const;
0024     void writeToObj(EcalDQMChannelStatus &, EcalDQMTowerStatus &) const;
0025 
0026     uint32_t getStatus(uint32_t) const;
0027 
0028   private:
0029     std::map<std::string, uint32_t> dictionary_;
0030     std::map<uint32_t, uint32_t> status_;
0031   };
0032 
0033 }  // namespace ecaldqm
0034 
0035 #endif