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 "string"
21 
22 namespace hcaldqm
23 {
24  namespace electronicsmap
25  {
27  {
34  };
35 
37  {
38  public:
40  _emap(nullptr)
41  {}
42  // define how to use upon construction
44  _etype(etype), _emap(nullptr)
45  {}
47 
49  etype=fHcalElectronicsMap);
50 
51  // filter is to filter things you do not need out
53  filter::HashFilter const&);
54  uint32_t lookup(DetId const&);
55  uint32_t lookup(HcalDetId 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.