63 LogTrace(
"ME0Geometry") <<
"Building the geometry service";
64 LogTrace(
"ME0Geometry") <<
"About to run through the ME0 structure\n" 65 <<
"Top level logical part: " << fv.logicalPart().name().name();
71 bool testChambers = fv.firstChild();
72 LogTrace(
"ME0Geometry") <<
"doChamber = fv.firstChild() = " << testChambers;
74 while (testChambers) {
76 LogTrace(
"ME0Geometry") <<
"to layer " << fv.firstChild();
77 LogTrace(
"ME0Geometry") <<
"to etapt " << fv.firstChild();
78 int rawId = me0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
82 LogTrace(
"ME0Geometry") <<
"back to layer " << fv.parent();
83 LogTrace(
"ME0Geometry") <<
"back to chamb " << fv.parent();
85 LogTrace(
"ME0Geometry") <<
"In DoChambers Loop :: ME0DetId " <<
detId <<
" = " <<
detId.rawId()
86 <<
" (which belongs to ME0Chamber " << detIdCh <<
" = " << detIdCh.
rawId() <<
")";
87 LogTrace(
"ME0Geometry") <<
"Second level logical part: " << fv.logicalPart().name().name();
89 std::vector<double> dpar2 = solid2.
parameters();
90 std::stringstream parameters2;
91 for (
unsigned int i = 0;
i < dpar2.size(); ++
i) {
92 parameters2 <<
" dpar[" <<
i <<
"]=" <<
convertMmToCm(dpar2[
i]) <<
"cm ";
94 LogTrace(
"ME0Geometry") <<
"Second level parameters: vector with size = " << dpar2.size() <<
" and elements " 97 bool doLayers = fv.firstChild();
99 LogTrace(
"ME0Geometry") <<
"doLayer = fv.firstChild() = " << doLayers;
102 LogTrace(
"ME0Geometry") <<
"to etapt " << fv.firstChild();
103 int rawId = me0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
107 LogTrace(
"ME0Geometry") <<
"back to layer " << fv.parent();
108 LogTrace(
"ME0Geometry") <<
"In DoLayers Loop :: ME0DetId " <<
detId <<
" = " <<
detId.rawId()
109 <<
" (which belongs to ME0Layer " << detIdLa <<
" = " << detIdLa.
rawId() <<
")";
110 LogTrace(
"ME0Geometry") <<
"Third level logical part: " << fv.logicalPart().name().name();
112 std::vector<double> dpar3 = solid3.
parameters();
113 std::stringstream parameters3;
114 for (
unsigned int i = 0;
i < dpar3.size(); ++
i) {
115 parameters3 <<
" dpar[" <<
i <<
"]=" <<
convertMmToCm(dpar3[
i]) <<
"cm ";
117 LogTrace(
"ME0Geometry") <<
"Third level parameters: vector with size = " << dpar3.size() <<
" and elements " 118 << parameters3.str();
119 bool doEtaParts = fv.firstChild();
121 LogTrace(
"ME0Geometry") <<
"doEtaPart = fv.firstChild() = " << doEtaParts;
123 LogTrace(
"ME0Geometry") <<
"In DoEtaParts Loop :: ME0DetId " <<
detId <<
" = " <<
detId.rawId();
124 LogTrace(
"ME0Geometry") <<
"Fourth level logical part: " << fv.logicalPart().name().name();
126 std::vector<double> dpar4 = solid4.
parameters();
127 std::stringstream parameters4;
128 for (
unsigned int i = 0;
i < dpar4.size(); ++
i) {
129 parameters4 <<
" dpar[" <<
i <<
"]=" <<
convertMmToCm(dpar4[
i]) <<
"cm ";
131 LogTrace(
"ME0Geometry") <<
"Fourth level parameters: vector with size = " << dpar4.size() <<
" and elements " 132 << parameters4.str();
134 doEtaParts = fv.nextSibling();
135 LogTrace(
"ME0Geometry") <<
"doEtaPart = fv.nextSibling() = " << doEtaParts;
138 LogTrace(
"ME0Geometry") <<
"went back to parent :: name = " << fv.logicalPart().name().name()
139 <<
" will now ask for nextSibling";
140 doLayers = fv.nextSibling();
141 LogTrace(
"ME0Geometry") <<
"doLayer = fv.nextSibling() = " << doLayers;
144 LogTrace(
"ME0Geometry") <<
"went back to parent :: name = " << fv.logicalPart().name().name()
145 <<
" will now ask for nextSibling";
146 testChambers = fv.nextSibling();
147 LogTrace(
"ME0Geometry") <<
"doChamber = fv.nextSibling() = " << testChambers;
155 bool doChambers = fv.firstChild();
163 edm::LogVerbatim(
"ME0Geometry") <<
"MuonGeometry 1 " << fv.geoHistory() <<
" Levels " 164 << mdddnum.geoHistoryToBaseNumber(fv.geoHistory()).getLevels();
166 int rawId = me0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
173 edm::LogVerbatim(
"ME0Geometry") <<
"MuonGeometry 2 " << fv.geoHistory() <<
" Levels " 174 << mdddnum.geoHistoryToBaseNumber(fv.geoHistory()).getLevels();
181 bool doLayers = fv.firstChild();
186 int rawId = me0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
191 edm::LogVerbatim(
"ME0Geometry") <<
"MuonGeometry 3 " << fv.geoHistory() <<
" Levels " 192 << mdddnum.geoHistoryToBaseNumber(fv.geoHistory()).getLevels();
196 me0Chamber->
add(me0Layer);
200 bool doEtaParts = fv.firstChild();
205 edm::LogVerbatim(
"ME0Geometry") <<
"MuonGeometry 4 " << fv.geoHistory() <<
" Levels " 206 << mdddnum.geoHistoryToBaseNumber(fv.geoHistory()).getLevels();
208 int rawId = me0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
213 me0Layer->
add(etaPart);
216 doEtaParts = fv.nextSibling();
220 doLayers = fv.nextSibling();
224 doChambers = fv.nextSibling();
Log< level::Info, true > LogVerbatim
const std::vector< double > & parameters(void) const
Give the parameters of the solid.
void add(ME0Layer *layer)
Add Layer to the chamber which takes ownership.
ME0Layer * buildLayer(DDFilteredView &fv, ME0DetId detId) const
void add(const ME0EtaPartition *roll)
Add EtaPartition to the layer which takes ownership.
constexpr NumType convertMmToCm(NumType millimeters)
constexpr uint32_t rawId() const
get the raw id
ME0Chamber * buildChamber(DDFilteredView &fv, ME0DetId detId) const
ME0EtaPartition * buildEtaPartition(DDFilteredView &fv, ME0DetId detId) const