12 int levelPart =
get(
"level");
13 int superPart =
get(
"super");
14 int basePart =
get(
"base");
15 int startCopyNo =
get(
"xml_starts_with_copyno");
19 edm::LogError(
"Geometry") <<
"MuonNumbering finds unusual base constant:" 23 edm::LogError(
"Geometry") <<
"MuonNumbering finds unusual super constant:" 26 if(levelPart < 10*superPart) {
27 edm::LogError(
"Geometry") <<
"MuonNumbering finds unusual level constant:" 30 if((startCopyNo !=0 ) && (startCopyNo != 1)) {
31 edm::LogError(
"Geometry") <<
"MuonNumbering finds unusual start value for copy numbers:" 35 for(
auto const& it : nodes.
tags) {
36 int tag = it/levelPart;
39 int copyno = nodes.
copyNos[ctr] + offset%superPart;
40 int super = offset/superPart;
41 num.
addBase(tag, super, copyno - startCopyNo);
51 auto const& it = values_.find(key);
52 if(it !=
end(values_))
59 values_.emplace(str, num);
void addBase(const int level, const int super, const int base)
std::vector< int > copyNos
std::vector< double > offsets
const MuonBaseNumber geoHistoryToBaseNumber(const cms::ExpandedNodes &) const
#define TYPELOOKUP_DATA_REG(_dataclass_)
Namespace of DDCMS conversion namespace.
const int get(const char *) const
std::vector< double > tags
void put(std::string_view, int)