40 #include "DD4hep/Detector.h"
45 #include <string_view>
58 DTChamber* chamber = buildChamber(fview, num);
65 bool doLayers = fview.
sibling();
67 DTLayer*
l = buildLayer(fview, sl, num);
85 const Double_t* tr = fview.
trans();
86 const Double_t*
rot = fview.
rot();
106 edm::LogVerbatim(
"DTGeometryBuilder") <<
"(1) detId: " << rawid <<
" par[0]: " << par[0] / dd4hep::cm
107 <<
" par[1]: " << par[1] / dd4hep::cm <<
" par[2]: " << par[2] / dd4hep::cm;
128 edm::LogVerbatim(
"DTGeometryBuilder") <<
"(2) detId: " << rawid <<
" par[0]: " << par[0] / dd4hep::cm
129 <<
" par[1]: " << par[1] / dd4hep::cm <<
" par[2]: " << par[2] / dd4hep::cm;
133 chamber->
add(slayer);
152 edm::LogVerbatim(
"DTGeometryBuilder") <<
"(3) detId: " << rawid <<
" par[0]: " << par[0] / dd4hep::cm
153 <<
" par[1]: " << par[1] / dd4hep::cm <<
" par[2]: " << par[2] / dd4hep::cm;
157 int firstWire = fview.
volume()->GetNumber();
159 float wireLength = wpar[1] / dd4hep::cm;
161 edm::LogVerbatim(
"DTGeometryBuilder") <<
"(4) detId: " << rawid <<
" wpar[1]: " << wpar[1] / dd4hep::cm
162 <<
" firstWire: " << firstWire;
171 DTTopology topology(firstWire, WCounter, wireLength);
184 const dd4hep::SpecParRefs& refs) {
188 buildGeometry(fview, geom, num);
Log< level::Info, true > LogVerbatim
void up()
set current node to the parent node in the filtered tree
MuonBaseNumber geoHistoryToBaseNumber(const DDGeoHistory &history) const
void mergedSpecifics(DDSpecParRefs const &)
User specific data.
void add(DTLayer *l)
Add layer to the SL which owns it.
const PlacedVolume volume() const
The physical volume of the current node.
bool sibling()
set the current node to the next sub sibling
void down()
set current node to the child node in the filtered tree
DTLayer * buildLayer(cms::DDFilteredView &, DTSuperLayer *, const MuonGeometryConstants &) const
constexpr std::array< uint8_t, layerIndexSize > layer
int baseNumberToUnitNumber(const MuonBaseNumber &num) const override
DTSuperLayer * buildSuperLayer(cms::DDFilteredView &, DTChamber *, const MuonGeometryConstants &) const
bool nextSibling()
set the current node to the next sibling
const ExpandedNodes & history()
The numbering history of the current node.
const Double_t * rot() const
The absolute rotation of the current node.
RCPPlane plane(const cms::DDFilteredView &, Bounds *bounds) const
bool parent()
set the current node to the parent node ...
bool firstChild()
set the current node to the first child
const Double_t * trans() const
The absolute translation of the current node.
dd4hep::Volume worldVolume() const
Handle to the world volume containing everything.
void add(DTSuperLayer *sl)
Add SL to the chamber which takes ownership.
DTChamber * buildChamber(cms::DDFilteredView &, const MuonGeometryConstants &) const
void build(DTGeometry &, const cms::DDDetector *, const MuonGeometryConstants &, const dd4hep::SpecParRefs &)
const std::vector< double > parameters() const
extract shape parameters
bool checkChild()
count the number of children matching selection
void add(DTChamber *ch)
Add a DTChamber to Geometry.
void buildGeometry(cms::DDFilteredView &, DTGeometry &, const MuonGeometryConstants &) const