22 :
BareService(
"DD4hepGeometryService", cfg.logLevel), m_cfg(cfg) {}
26 m_lcdd->destroyInstance();
30 m_lcdd = &(dd4hep::Detector::getInstance());
31 for (
auto&
file : m_cfg.xmlFileNames) {
32 m_lcdd->fromCompact(
file.c_str());
34 m_lcdd->volumeManager();
35 m_lcdd->apply(
"DD4hepVolumeManager", 0, 0);
36 m_dd4hepGeometry = m_lcdd->world();
42 if (!m_dd4hepGeometry)
43 buildDD4hepGeometry();
44 return m_dd4hepGeometry;
48 FW::DD4hep::DD4hepGeometryService::DD4hepGeometryService::lcdd() {
50 buildDD4hepGeometry();
55 if (!m_dd4hepGeometry)
56 buildDD4hepGeometry();
57 return m_dd4hepGeometry.placement().ptr();
64 dd4hepGeometry(), m_cfg.logLevel, m_cfg.bTypePhi, m_cfg.bTypeR,
65 m_cfg.bTypeZ, m_cfg.envelopeR, m_cfg.envelopeZ,
66 m_cfg.defaultLayerThickness, m_cfg.sortDetectors, gctx,
71 std::unique_ptr<const Acts::TrackingGeometry>
74 if (!m_trackingGeometry) {
75 buildTrackingGeometry(gctx);
77 return std::move(m_trackingGeometry);