CMS 3D CMS Logo

HashFunctions.h
Go to the documentation of this file.
1 #ifndef HashFunctions_h
2 #define HashFunctions_h
3 
14 
15 namespace hcaldqm
16 {
17  using namespace constants;
18  namespace hashfunctions
19  {
23  uint32_t hash_Subdet(HcalDetId const&);
24  uint32_t hash_Subdetiphi(HcalDetId const&);
25  uint32_t hash_Subdetieta(HcalDetId const&);
26  uint32_t hash_Subdetdepth(HcalDetId const&);
27  uint32_t hash_SubdetPM(HcalDetId const&);
28  uint32_t hash_SubdetPMiphi(HcalDetId const&);
29  uint32_t hash_iphi(HcalDetId const&);
30  uint32_t hash_ieta(HcalDetId const&);
31  uint32_t hash_depth(HcalDetId const&);
32  uint32_t hash_HFPMiphi(HcalDetId const&);
33  uint32_t hash_HBHEPartition(HcalDetId const&);
34  uint32_t hash_DChannel(HcalDetId const&);
35 
39  uint32_t hash_FED(HcalElectronicsId const&);
40  uint32_t hash_FEDSpigot(HcalElectronicsId const&);
41  uint32_t hash_FEDSlot(HcalElectronicsId const&);
42  uint32_t hash_Crate(HcalElectronicsId const&);
43  uint32_t hash_CrateSpigot(HcalElectronicsId const&);
44  uint32_t hash_CrateSlot(HcalElectronicsId const&);
45  uint32_t hash_Fiber(HcalElectronicsId const&);
46  uint32_t hash_FiberFiberCh(HcalElectronicsId const&);
47  uint32_t hash_FiberCh(HcalElectronicsId const&);
48  uint32_t hash_Electronics(HcalElectronicsId const&);
49  uint32_t hash_EChannel(HcalElectronicsId const&);
50 
54  uint32_t hash_TTSubdet(HcalTrigTowerDetId const&);
55  uint32_t hash_TTSubdetPM(HcalTrigTowerDetId const&);
56  uint32_t hash_TTSubdetPMiphi(HcalTrigTowerDetId const&);
57  uint32_t hash_TTSubdetieta(HcalTrigTowerDetId const&);
58  uint32_t hash_TTdepth(HcalTrigTowerDetId const&);
59  uint32_t hash_TChannel(HcalTrigTowerDetId const&);
60 
73 
74  uint32_t hash_Subdet(std::string const&);
75  uint32_t hash_Subdetiphi(std::string const&);
76  uint32_t hash_Subdetieta(std::string const&);
77  uint32_t hash_Subdetdepth(std::string const&);
78  uint32_t hash_SubdetPM(std::string const&);
79  uint32_t hash_SubdetPMiphi(std::string const&);
80  uint32_t hash_iphi(std::string const&);
81  uint32_t hash_ieta(std::string const&);
82  uint32_t hash_depth(std::string const&);
83  uint32_t hash_HFPMiphi(std::string const&);
84  uint32_t hash_HBHEPartition(std::string const&);
85  uint32_t hash_DChannel(std::string const&);
86 
98 
99  uint32_t hash_FED(std::string const&);
100  uint32_t hash_FEDSpigot(std::string const&);
101  uint32_t hash_FEDSlot(std::string const&);
102  uint32_t hash_Crate(std::string const&);
103  uint32_t hash_CrateSpigot(std::string const&);
104  uint32_t hash_CrateSlot(std::string const&);
105  uint32_t hash_Fiber(std::string const&);
106  uint32_t hash_FiberFiberCh(std::string const&);
107  uint32_t hash_FiberCh(std::string const&);
108  uint32_t hash_Electronics(std::string const&);
109  uint32_t hash_EChannel(std::string const&);
110 
117 
118  uint32_t hash_TTSubdet(std::string const&);
119  uint32_t hash_TTSubdetPM(std::string const&);
120  uint32_t hash_TTSubdetPMiphi(std::string const&);
121  uint32_t hash_TTSubdetieta(std::string const&);
122  uint32_t hash_TTdepth(std::string const&);
123  uint32_t hash_TChannel(std::string const&);
124 
125  enum HashType
126  {
127  fSubdet = 0,
133  fiphi = 6,
134  fieta = 7,
135  fdepth = 8,
138  fDChannel = 11,
140  fFED = 13,
142  fFEDSlot = 15,
143  fCrate = 16,
146  fFiber = 19,
148  fFiberCh = 21,
150  fEChannel = 23,
152  fTTSubdet = 25,
156  fTTdepth = 29,
157  fTChannel = 30,
160  };
161  typedef uint32_t (*hash_function_did)(HcalDetId const&);
162  typedef uint32_t (*hash_function_eid)(HcalElectronicsId const&);
163  typedef uint32_t (*hash_function_tid)(HcalTrigTowerDetId const&);
171  hash_HBHEPartition, hash_DChannel
172  };
177  hash_Electronics, hash_EChannel
178  };
181  hash_TTSubdetieta, hash_TTdepth, hash_TChannel
182  };
187  name_HBHEPartition, name_DChannel
188  };
193  name_Electronics, name_EChannel
194  };
197  name_TTSubdetieta, name_TTdepth, name_TChannel
198  };
202  "Subdet", "Subdetiphi", "Subdetieta", "Subdetdepth",
203  "SubdetPM", "SubdetPMiphi", "iphi", "ieta", "depth",
204  "HFPMiphi", "HBHEPartition", "DChannel",
205 
206  "FED", "FEDSpigot", "FEDSlot",
207  "Crate", "CrateSpigot", "CrateSlot",
208  "Fiber", "FiberFiberCh", "FiberCh",
209  "Electronics", "EChannel",
210 
211  "TTSubdet", "TTSubdetPM", "TTSubdetPMiphi",
212  "TTSubdetieta", "TTdepth", "TChannel"
213  };
214  }
215 }
216 
217 #endif
uint32_t hash_TTdepth(std::string const &)
std::string name_CrateSpigot(HcalElectronicsId const &)
std::string name_Electronics(HcalElectronicsId const &)
std::string name_CrateSlot(HcalElectronicsId const &)
uint32_t hash_Subdet(std::string const &)
std::string name_Crate(HcalElectronicsId const &)
uint32_t(* hash_function_eid)(HcalElectronicsId const &)
uint32_t hash_depth(std::string const &)
uint32_t hash_FEDSpigot(std::string const &)
uint32_t hash_TTSubdetPM(std::string const &)
uint32_t hash_TTSubdetieta(std::string const &)
uint32_t hash_TTSubdet(std::string const &)
std::string name_FiberFiberCh(HcalElectronicsId const &)
uint32_t hash_Electronics(std::string const &)
std::string name_TTdepth(HcalTrigTowerDetId const &)
std::string name_FiberCh(HcalElectronicsId const &)
std::string name_TChannel(HcalTrigTowerDetId const &)
uint32_t hash_CrateSlot(std::string const &)
std::string name_Subdetieta(HcalDetId const &)
std::string name_Subdetiphi(HcalDetId const &)
uint32_t hash_CrateSpigot(std::string const &)
std::string const hash_names[nhashes]
std::string(* name_function_did)(HcalDetId const &)
std::string(* name_function_eid)(HcalElectronicsId const &)
uint32_t hash_Subdetiphi(std::string const &)
uint32_t hash_HFPMiphi(std::string const &)
std::string name_EChannel(HcalElectronicsId const &)
uint32_t hash_DChannel(std::string const &)
uint32_t hash_Crate(std::string const &)
std::string name_FEDSpigot(HcalElectronicsId const &)
std::string name_TTSubdet(HcalTrigTowerDetId const &)
std::string name_SubdetPM(HcalDetId const &)
uint32_t hash_EChannel(std::string const &)
hash_function_tid const hash_tid[nHashType_tid-nHashType_eid-1]
uint32_t hash_Subdetieta(std::string const &)
uint32_t hash_Subdetdepth(std::string const &)
uint32_t hash_FiberFiberCh(std::string const &)
std::string name_TTSubdetieta(HcalTrigTowerDetId const &)
uint32_t hash_Fiber(std::string const &)
std::string name_DChannel(HcalDetId const &)
uint32_t(* hash_function_tid)(HcalTrigTowerDetId const &)
std::string name_HFPMiphi(HcalDetId const &)
hash_function_did const hash_did[nHashType_did]
uint32_t hash_FED(std::string const &)
uint32_t hash_FEDSlot(std::string const &)
std::string(* name_function_tid)(HcalTrigTowerDetId const &)
std::string name_TTSubdetPMiphi(HcalTrigTowerDetId const &)
std::string name_SubdetPMiphi(HcalDetId const &)
name_function_tid const name_tid[nHashType_tid-nHashType_eid-1]
uint32_t hash_TTSubdetPMiphi(std::string const &)
uint32_t hash_HBHEPartition(std::string const &)
hash_function_eid const hash_eid[nHashType_eid-nHashType_did-1]
std::string name_FED(HcalElectronicsId const &)
uint32_t hash_ieta(std::string const &)
uint32_t hash_iphi(std::string const &)
uint32_t hash_SubdetPMiphi(std::string const &)
std::string name_ieta(HcalDetId const &)
std::string name_HBHEPartition(HcalDetId const &)
uint32_t hash_FiberCh(std::string const &)
std::string name_depth(HcalDetId const &)
name_function_did const name_did[nHashType_did]
std::string name_iphi(HcalDetId const &)
uint32_t(* hash_function_did)(HcalDetId const &)
name_function_eid const name_eid[nHashType_eid-nHashType_did-1]
uint32_t hash_TChannel(std::string const &)
uint32_t hash_SubdetPM(std::string const &)
Readout chain identification for Hcal.
std::string name_TTSubdetPM(HcalTrigTowerDetId const &)
std::string name_Fiber(HcalElectronicsId const &)
std::string name_FEDSlot(HcalElectronicsId const &)
std::string name_Subdet(HcalDetId const &)
std::string name_Subdetdepth(HcalDetId const &)