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(HcalElectronicsId const&);
57 
58  void print();
59 
60 
61  private:
62  // configures how to use emap
64 
65  // 2 choices either use as HcalElectronicsMap or as ur hash
66  typedef boost::unordered_map<uint32_t, uint32_t> EMapType;
67  EMapType _ids;
68 
69  //
71  };
72  }
73 }
74 
75 #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.