10 #include "Acts/Geometry/TrackingVolume.hpp"
11 #include "Acts/Surfaces/Surface.hpp"
12 #include "Acts/Geometry/GeometryContext.hpp"
29 ACTS_DEBUG(
">>Obj: Writer for TrackingGeometry object called.");
31 auto world = tGeometry.highestTrackingVolume();
32 if (world)
write(gctx, *world);
40 ACTS_DEBUG(
">>Obj: Writer for TrackingVolume object called.");
42 if (tVolume.confinedLayers()) {
43 ACTS_VERBOSE(
">>Obj: Layers are present, process them.");
45 for (
auto layer : tVolume.confinedLayers()->arrayObjects()) {
47 if (
layer->layerType() == Acts::navigation)
continue;
49 const std::string& volumeName = tVolume.volumeName();
51 std::shared_ptr<ObjSurfaceWriter> surfaceWriter =
nullptr;
52 for (
auto writer : m_cfg.surfaceWriters) {
54 auto writerName =
writer->name();
55 if (volumeName.find(writerName) != std::string::npos) {
63 if (!surfaceWriter)
return;
65 surfaceWriter->
write(m_cfg.layerPrefix);
67 if (
layer->surfaceArray() && surfaceWriter) {
69 surfaceWriter->
write(m_cfg.sensitiveGroupPrefix);
71 for (
auto surface :
layer->surfaceArray()->surfaces()) {
72 if (surface) surfaceWriter->
write(gctx, *surface);
78 if (tVolume.confinedVolumes()) {
80 for (
auto volume : tVolume.confinedVolumes()->arrayObjects()) {
81 write(gctx, *volume.get());