File indexing completed on 2025-11-23 09:33:26
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Geometry/GeometryContext.hpp"
0012 #include "Acts/Geometry/GeometryHierarchyMap.hpp"
0013 #include "Acts/Plugins/ActSVG/DetectorVolumeSvgConverter.hpp"
0014 #include "Acts/Plugins/ActSVG/SvgUtils.hpp"
0015 #include <actsvg/core.hpp>
0016 #include <actsvg/meta.hpp>
0017
0018 namespace Acts {
0019
0020 namespace Experimental {
0021 class Detector;
0022 }
0023
0024 namespace Svg {
0025
0026 using ProtoDetector = actsvg::proto::detector<std::vector<Vector3>>;
0027
0028 namespace DetectorConverter {
0029
0030
0031 struct Options {
0032
0033 DetectorVolumeConverter::Options volumeOptions;
0034 };
0035
0036
0037
0038
0039
0040
0041
0042
0043 ProtoDetector convert(const GeometryContext& gctx,
0044 const Experimental::Detector& detector,
0045 const Options& detectorOptions);
0046
0047 }
0048
0049 namespace View {
0050
0051
0052
0053
0054
0055
0056
0057 static inline actsvg::svg::object xy(const ProtoDetector& detector,
0058 const std::string& identification) {
0059 actsvg::views::x_y xyView;
0060 return actsvg::display::detector(identification, detector, xyView);
0061 }
0062
0063
0064
0065
0066
0067
0068
0069 static inline actsvg::svg::object zr(const ProtoDetector& detector,
0070 const std::string& identification) {
0071 actsvg::views::z_r zrView;
0072 return actsvg::display::detector(identification, detector, zrView);
0073 }
0074
0075 }
0076
0077 }
0078
0079 }