File SurfaceJsonConverter.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

Functions

std::shared_ptr<Surface> surfaceFromJson(const nlohmann::json &j)

Conversion to Surface from jsonn.

Parameters

j – the read-in json object

Returns

a shared_ptr to a surface object for type polymorphism

template<typename surface_t, typename bounds_t>
std::shared_ptr<surface_t> surfaceFromJsonT(const nlohmann::json &j)

Conversion to Surface from json in correct type.

The type is given as a template argument in order to be able to construct the correct fitting types for surfaces.

Parameters

j – the read-in json object

Returns

a shared_ptr to a typed surface object for type polymorphism

void to_json(nlohmann::json &j, const SurfaceAndMaterialWithContext &surface)

Conversion of a pair of surface and material used for the material mapping.

void to_json(nlohmann::json &j, const Surface &surface)

Non-contextual conversion of a surface.

Note

it will take the default context

void to_json(nlohmann::json &j, const std::shared_ptr<const Surface> &surface)

Non-contextual conversion of a surface.

Note

it will take the default context

void toJson(nlohmann::json &j, const std::shared_ptr<const Surface> &surface, const Acts::GeometryContext &gctx)

Contextual conversion of a surface.

Parameters
  • j – the json to be filled

  • surface – the surface to be converted

  • gctx – the geometry context for this

namespace SurfaceJsonConverter

Functions

std::shared_ptr<Surface> fromJson(const nlohmann::json &jSurface)

The Surface converter from json.

The Surface converter from json.

Convert the single delegate if it is of the type of the reference.

The Transform converter from json.

The type is given as a template argument in order to be able to construct the correct fitting types for surfaces.

The Surface converter from json.

Convert the single delegate if it is of the type of the reference.

The Transform converter from json.

The type is given as a template argument in order to be able to construct the correct fitting types for surfaces.

Parameters
  • jSurface – the surface json object

  • j – the read-in json object

  • jVolumeBounds – the read-in json object

  • jVolumeBounds – the read-in json object

Returns

a shared object created from json input

Returns

a shared_ptr to a surface object for type polymorphism

Returns

a unique_ptr to a volume bounds object for type polymorphism

Returns

a unique_ptr to a volume bounds object for type polymorphism

nlohmann::json toJson(const GeometryContext &gctx, const Surface &surface, const Options &options = Options{})

Contextual conversion of a surface.

Parameters
  • gctx – the geometry context for this

  • surface – the surface to be converted

  • options – the writing options for the surfaces

Returns

a json object representing the surface

nlohmann::json toJsonDetray(const GeometryContext &gctx, const Surface &surface, const Options &options = Options{})

Contextual conversion of a surface - Detray export.

Note

reading back detray json is not supported and will fail

Parameters
  • gctx – the geometry context for this

  • surface – the surface to be converted

  • options – the writing options for the surfaces

Returns

a json object representing the surface

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

Public Members

bool portal = false
Transform3JsonConverter::Options transformOptions = Transform3JsonConverter::Options{}
bool writeMaterial = true