Namespace Acts::PortalJsonConverter

namespace PortalJsonConverter

Functions

std::shared_ptr<Experimental::Portal> fromJson(const GeometryContext &gctx, const nlohmann::json &jPortal, const std::vector<std::shared_ptr<Experimental::DetectorVolume>> &detectorVolumes)

convert from json format

Parameters
  • gctx – the geometry context

  • jPortal – is the json portal description

  • detectorVolumes – is the list of already created detector volumes

Returns

a Portal

nlohmann::json toJson(const GeometryContext &gctx, const Experimental::Portal &portal, const std::vector<const Experimental::DetectorVolume*> &detectorVolumes, const Options &options = Options{})

Convert to json format.

Parameters
  • gctx – the geometry context

  • portal – the portal instance

  • detectorVolumes – is the list of all detector voluems for portal pointing

  • options – how to write this thing out

Returns

a json object

nlohmann::json toJson(const Experimental::DetectorVolumeUpdator &updator, const std::vector<const Experimental::DetectorVolume*> &detectorVolumes)

convert to json format

Parameters
  • updator – the detector volume updator

  • detectorVolumes – the list of all detector volumes

Returns

a json object

std::vector<nlohmann::json> toJsonDetray(const GeometryContext &gctx, const Experimental::Portal &portal, std::size_t ip, const Experimental::DetectorVolume &volume, const OrientedSurfaces &orientedSurfaces, const std::vector<const Experimental::DetectorVolume*> &detectorVolumes, const Options &options = Options{})

Convert to json format - dedicated Detray function.

Note

that detray relies on singly connected masks, hence a portal from ACTS with multi volume link needs to be split into the multiple volumes

Note

detray also only has outside pointing links

Parameters
  • gctx – the geometry context

  • portal – the portal instance

  • ip – is the portal index that could be used to pick the oriented surface

  • volume – is the detector volume to which these surfaces belong to

  • orientedSurfaces – are the bounding surfaces (may still need to be split)

  • detectorVolumes – is the list of all detector voluems for portal pointing

  • options – how to write this thing out

Returns

a json object

struct Options
#include <Acts/Plugins/Json/PortalJsonConverter.hpp>

Public Members

SurfaceJsonConverter::Options surfaceOptions = SurfaceJsonConverter::Options{}

Options how to write the surface out.