File indexing completed on 2024-04-06 12:29:53
0001
0002
0003
0004
0005 #include "SimG4CMS/Calo/interface/HcalNumberingScheme.h"
0006 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0007 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
0008
0009 #include <iostream>
0010
0011
0012
0013 HcalNumberingScheme::HcalNumberingScheme() : CaloNumberingScheme(0) {
0014 edm::LogVerbatim("HcalSim") << "Creating HcalNumberingScheme";
0015 }
0016
0017 HcalNumberingScheme::~HcalNumberingScheme() { edm::LogVerbatim("HcalSim") << "Deleting HcalNumberingScheme"; }
0018
0019 uint32_t HcalNumberingScheme::getUnitID(const HcalNumberingFromDDD::HcalID& id) {
0020 int zside = 2 * (id.zside) - 1;
0021 int etaR = zside * (id.etaR);
0022 HcalSubdetector subdet = (HcalSubdetector)(id.subdet);
0023
0024
0025
0026 HcalDetId hid(subdet, etaR, id.phis, id.depth);
0027 uint32_t index = hid.rawId();
0028
0029 #ifdef EDM_ML_DEBUG
0030 edm::LogVerbatim("HcalSim") << "HcalNumberingScheme det = " << id.subdet << " depth/lay = " << id.depth << "/"
0031 << id.lay << " zside = " << id.zside << " eta/R = " << id.etaR << " phi = " << id.phis
0032 << " oldphi = " << id.phi << " packed index = 0x" << std::hex << index << std::dec << " "
0033 << hid << " " << HcalDetId(index);
0034 #endif
0035 return index;
0036 }