18 const uint32_t nLevels(baseNumber.
getLevels());
21 edm::LogVerbatim(
"EcalGeom") <<
"ECalEndcapNumberingScheme geometry levels = " << nLevels;
22 for (uint32_t
k = 0;
k < nLevels; ++
k)
27 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
28 <<
"Not enough levels found in EcalBaseNumber ( " << nLevels <<
") Returning 0";
36 edm::LogWarning(
"EcalGeom") <<
"EalEndcaplNumberingScheme::getUnitID: No "
37 <<
"level found in EcalBaseNumber Returning 0";
46 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID: Null"
47 <<
" pointer to alveole ! Use default id=1";
50 int zside = 2 * (1 - zs) + 1;
51 int module_number = MVid;
52 int crystal_number = PVid;
57 edm::LogVerbatim(
"EcalGeom") <<
"EcalEndcapNumberingScheme: zside = " << zs <<
":" << zside
58 <<
" super crystal = " << module_number <<
" crystal = " << crystal_number
59 <<
" packed index = 0x" << std::hex << intindex <<
std::dec;
66 const int icx(ic / 10);
67 const int icy(ic % 5);
69 const int isx(is / 10);
70 const int isy(is % 10);
77 const int ix(50 +
id * iz * (5 * isx + icx + 1) - (
id * iz - 1) / 2);
78 const int iy(50 +
id * iq * (5 * isy + icy + 1) - (
id * iq - 1) / 2);
84 if (0 > icx || 4 < icx || 0 > icy || 4 < icy) {
85 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
86 <<
"****************** Bad crystal number = " << ic
91 if (0 > isx || 9 < isx || 0 > isy || 9 < isy) {
92 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
93 <<
"****************** Bad supercrystal number = " << is
98 if (1 != iq && -1 != iq) {
99 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
100 <<
"****************** Bad quadrant number = " << iq
105 if (1 !=
id && -1 !=
id) {
106 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
107 <<
"****************** Bad dee number = " <<
id
112 if (-1 != iz && 1 != iz) {
113 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
114 <<
"****************** Bad z-end number = " << iz
120 edm::LogWarning(
"EcalGeom") <<
"ECalEndcapNumberingScheme::getUnitID(): "
121 <<
"****************** Bad DetId numbers = " << ix <<
", " << iy <<
", " << iz;
127 << iq <<
", " <<
id <<
", " << iz <<
", " << std::hex << idet <<
std::dec;
Log< level::Info, true > LogVerbatim
uint16_t *__restrict__ id
std::string const & getLevelName(int level) const
constexpr uint32_t rawId() const
get the raw id
int getCopyNumber(int level) const
EcalEndcapNumberingScheme()
static const int SCCRYSTALMODE
uint32_t getUnitID(const EcalBaseNumber &baseNumber) const override
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
~EcalEndcapNumberingScheme() override
Log< level::Warning, false > LogWarning