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/Plugins/ActSVG/LayerSvgConverter.hpp"
0013 #include "Acts/Plugins/ActSVG/SvgUtils.hpp"
0014 #include <actsvg/core.hpp>
0015 #include <actsvg/meta.hpp>
0016
0017 namespace Acts {
0018
0019 class TrackingGeometry;
0020 class TrackingVolume;
0021
0022 namespace Svg {
0023
0024 namespace TrackingGeometryConverter {
0025
0026
0027 struct Options {
0028
0029 std::string prefix = "";
0030
0031 GeometryHierarchyMap<LayerConverter::Options> layerOptions;
0032 };
0033
0034
0035 struct State {
0036 std::vector<actsvg::svg::object> xyCrossSection;
0037 std::vector<actsvg::svg::object> zrCrossSection;
0038
0039 std::vector<actsvg::svg::object> finalViews;
0040 };
0041
0042
0043
0044
0045
0046
0047
0048
0049 std::vector<actsvg::svg::object> convert(const GeometryContext& gctx,
0050 const TrackingGeometry& tGeometry,
0051 const Options& cOptions);
0052
0053
0054
0055
0056
0057
0058
0059
0060 void convert(const GeometryContext& gctx, const TrackingVolume& tVolume,
0061 const Options& cOptions, State& cState);
0062
0063 }
0064
0065 namespace TrackingGeometryProjections {
0066
0067 struct Options {
0068 std::string prefix = "";
0069
0070 TrackingGeometryConverter::Options trackingGeometryOptions;
0071
0072 std::array<std::array<double, 2>, 2> rzAxes;
0073 std::vector<double> rzEtaLines;
0074 };
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085 std::array<actsvg::svg::object, 2> convert(
0086 const GeometryContext& gctx, const Acts::TrackingGeometry& tGeometry,
0087 const Options& cOptions);
0088 }
0089
0090 }
0091
0092 }