18 int layer,
int module,
int cell,
int iz,
const G4ThreeVector&
pos,
double& wt) {
22 int cellU(0), cellV(0), waferType(-1), waferU(0), waferV(0);
24 waferType = module / 1000000;
25 waferU = module % 100;
26 if ((module / 10000) % 10 > 0)
28 waferV = (module / 100) % 100;
29 if ((module / 100000) % 10 > 0)
32 cellV = (cell / 100) % 100;
34 double xx = (pos.z() > 0) ? pos.x() : -pos.x();
38 index =
HFNoseDetId(iz, waferType, layer, waferU, waferV, cellU, cellV).
rawId();
40 edm::LogVerbatim(
"HFNSim") <<
"OK WaferType " << waferType <<
" Wafer " << waferU <<
":" << waferV <<
" Cell " 41 << cellU <<
":" << cellV;
47 edm::LogVerbatim(
"HFNSim") <<
"HFNoseNumberingScheme::i/p " << layer <<
":" << module <<
":" << cell <<
":" << iz
48 <<
":" << pos.x() <<
":" << pos.y() <<
":" << pos.z() <<
" ID " << std::hex << index
void waferFromPosition(const double x, const double y, int &wafer, int &icell, int &celltyp) const
uint32_t getUnitID(int layer, int module, int cell, int iz, const G4ThreeVector &pos, double &wt)
assigns the det id to a hit
constexpr uint32_t rawId() const
get the raw id
HFNoseNumberingScheme()=delete
const HGCalGeometryMode::GeometryMode mode_
const HGCalDDDConstants & hgcons_