CMS 3D CMS Logo

ElectronicsMap.h
Go to the documentation of this file.
1 #ifndef ElectronicsMap_h
2 #define ElectronicsMap_h
3 
18 
19 #include "boost/unordered_map.hpp"
20 #include "boost/foreach.hpp"
21 #include "string"
22 
23 namespace hcaldqm
24 {
25  namespace electronicsmap
26  {
28  {
35  };
36 
38  {
39  public:
41  _emap(nullptr)
42  {}
43  // define how to use upon construction
45  _etype(etype), _emap(nullptr)
46  {}
48 
50  etype=fHcalElectronicsMap);
51 
52  // filter is to filter things you do not need out
54  filter::HashFilter const&);
55  uint32_t lookup(DetId const&);
56  uint32_t lookup(HcalDetId const&);
57  uint32_t lookup(HcalElectronicsId const&);
58 
59  void print();
60 
61 
62  private:
63  // configures how to use emap
65 
66  // 2 choices either use as HcalElectronicsMap or as ur hash
67  typedef boost::unordered_map<uint32_t, uint32_t> EMapType;
68  EMapType _ids;
69 
70  //
72  };
73  }
74 }
75 
76 #endif
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
#define nullptr
HcalElectronicsMap const * _emap
Definition: DetId.h:18
boost::unordered_map< uint32_t, uint32_t > EMapType
ElectronicsMap(ElectronicsMapType etype)
Readout chain identification for Hcal.