22 :
BareService(
"DD4hepGeometryService", cfg.logLevel), m_cfg(cfg) {}
26 m_lcdd->destroyInstance();
31 m_lcdd = &(dd4hep::Detector::getInstance());
32 for (
auto&
file : m_cfg.xmlFileNames) {
33 m_lcdd->fromCompact(
file.c_str());
35 m_lcdd->volumeManager();
36 m_lcdd->apply(
"DD4hepVolumeManager", 0, 0);
37 m_dd4hepGeometry = m_lcdd->world();
44 if (!m_dd4hepGeometry)
45 buildDD4hepGeometry();
46 return m_dd4hepGeometry;
50 ActsExamples::DD4hep::DD4hepGeometryService::DD4hepGeometryService::lcdd() {
52 buildDD4hepGeometry();
57 if (!m_dd4hepGeometry)
58 buildDD4hepGeometry();
59 return m_dd4hepGeometry.placement().ptr();
67 dd4hepGeometry(), m_cfg.logLevel, m_cfg.bTypePhi, m_cfg.bTypeR,
68 m_cfg.bTypeZ, m_cfg.envelopeR, m_cfg.envelopeZ,
69 m_cfg.defaultLayerThickness, m_cfg.sortDetectors, gctx,
74 std::unique_ptr<const Acts::TrackingGeometry>
77 if (!m_trackingGeometry) {
78 buildTrackingGeometry(gctx);
80 return std::move(m_trackingGeometry);