CMS 3D CMS Logo

HcalNumberingScheme.cc
Go to the documentation of this file.
1 // File: HcalNumberingScheme.cc
3 // Description: Numbering scheme for barrel electromagnetic calorimeter
8 
9 #include "CLHEP/Units/GlobalSystemOfUnits.h"
10 #include <iostream>
11 
12 //#define EDM_ML_DEBUG
13 
15  edm::LogInfo("HcalSim") << "Creating HcalNumberingScheme" << std::endl;
16 }
17 
19  edm::LogInfo("HcalSim") << "Deleting HcalNumberingScheme" << std::endl;
20 }
21 
23 
24  int zside = 2*(id.zside) - 1;
25  int etaR = zside*(id.etaR);
26  HcalSubdetector subdet = (HcalSubdetector)(id.subdet);
27 
28  //pack it into an integer
29  // to be consistent with HcalDetId convention
30  HcalDetId hid(subdet,etaR,id.phis,id.depth);
31  uint32_t index = hid.rawId();
32 
33 #ifdef EDM_ML_DEBUG
34  edm::LogInfo("HcalSim") << "HcalNumberingScheme det = " << id.subdet
35  << " depth/lay = " << id.depth << "/" << id.lay
36  << " zside = " << id.zside << " eta/R = " << id.etaR
37  << " phi = " << id.phis << " oldphi = " << id.phi
38  << " packed index = 0x" << std::hex << index
39  << std::dec << " " << hid << " " << HcalDetId(index)
40  << std::endl;
41 #endif
42  return index;
43 
44 }
virtual uint32_t getUnitID(const HcalNumberingFromDDD::HcalID &id)
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
HcalSubdetector
Definition: HcalAssistant.h:31