35 throw std::invalid_argument(
"Missing tracking geometry");
39 throw std::invalid_argument(
"Could not identify the world volume");
44 return "CsvTrackingGeometryWriter";
61 auto center = surface.
center(geoCtx);
79 const auto* detElement =
88 const auto& bounds = surface.
bounds();
93 if (boundValues.size() == 2) {
97 }
else if (boundValues.size() == 3) {
103 const auto* detElement =
106 if (detElement and detElement->digitizationModule()) {
111 &(dModule->segmentation()));
134 if (
layer->surfaceArray()) {
135 for (
auto surface :
layer->surfaceArray()->surfaces()) {
137 writeSurface(writer, *surface, geoCtx);
146 writeVolume(writer, *confined.get(), geoCtx);
156 SurfaceWriter writer(