11 edm::LogInfo(
"MTDGeom") <<
"Creating BTLNumberingScheme";
17 edm::LogInfo(
"MTDGeom") <<
"Deleting BTLNumberingScheme";
22 const uint32_t nLevels(baseNumber.
getLevels());
25 edm::LogInfo(
"MTDGeom") <<
"BTLNumberingScheme geometry levels = " << nLevels;
30 <<
"Not enough levels found in MTDBaseNumber ( " << nLevels <<
") Returning 0";
48 uint32_t
pos = modName.find(
"Positive");
50 const uint32_t
zside = (pos <= strlen(modName.c_str()) ? 1 : 0);
51 std::string baseName = modName.substr(modName.find(
":") + 1);
55 ::atoi((baseName.substr(8, 1)).c_str()) == 9 || ::atoi((baseName.substr(8, 1)).c_str()) == 5 ||
56 (::atoi((baseName.substr(8, 1)).c_str()) == 7 && ::atoi((baseName.substr(7, 1)).c_str()) == 1)
57 ? ::atoi((baseName.substr(7, 1)).c_str()) + 1
58 : ::atoi((baseName.substr(7, 1)).c_str()));
62 if (1 > crystal || 64 < crystal) {
64 <<
"****************** Bad crystal number = " << crystal
69 if (1 > modtyp || 3 < modtyp) {
71 <<
"****************** Bad module name = " << modName
76 if (1 > modCopy || 54 < modCopy) {
78 <<
"****************** Bad module copy = " << modCopy
83 if (1 > rodCopy || 36 < rodCopy) {
85 <<
"****************** Bad rod copy = " << rodCopy
92 BTLDetId thisBTLdetid(zside, rodCopy, modCopy, modtyp, crystal);
93 const int32_t intindex = thisBTLdetid.
rawId();
97 <<
" rod = " << rodCopy <<
" zside = " << zside <<
" module = " << modCopy
98 <<
" modtyp = " << modtyp <<
" crystal = " << crystal <<
" Raw Id = " << intindex
~BTLNumberingScheme() override
constexpr uint32_t rawId() const
get the raw id
uint32_t getUnitID(const MTDBaseNumber &baseNumber) const override
int getCopyNumber(int level) const
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...
std::string const & getLevelName(int level) const