ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::io::geometry_writer Class Reference

Tracking geometry writer backend. More...

#include <detray/io/backend/geometry_writer.hpp>

Collaboration diagram for detray::io::geometry_writer:
[legend]

Public Types

using payload_type = detector_payload
 Payload type that the reader processes.

Static Public Member Functions

template<detray::concepts::detector detector_t>
static geo_header_payload header_to_payload (const detector_t &det, const std::string_view det_name)
 Convert the header information into its payload.
template<detray::concepts::detector detector_t>
static payload_type to_payload (const detector_t &det, const typename detector_t::name_map &names)
 Convert a detector det into its io payload.
template<detray::concepts::detector detector_t>
static surface_payload to_payload (const geometry::surface< detector_t > &sf, std::size_t sf_idx)
 Convert a detector surface sf into its io payload.
template<typename mask_t>
requires (!std::is_same_v<typename mask_t::shape, void>)
static mask_payload to_payload (const mask_t &m)
 Convert a surface mask m into its io payload.
template<detray::concepts::detector detector_t>
static transform_payload to_payload (const typename detector_t::transform3_type &trf)
 Convert a surface transform trf into its io payload.
template<detray::concepts::detector detector_t>
static volume_payload to_payload (const typename detector_t::volume_type &vol_desc, const detector_t &det, const std::string_view name)
 Convert a detector volume and its contents to its IO representation.

Static Public Attributes

static constexpr std::string_view tag = "geometry"
 Tag the writer as "geometry".

Detailed Description

Tracking geometry writer backend.

Fills a detector_payload from a detector instance

Member Function Documentation

◆ header_to_payload()

template<detray::concepts::detector detector_t>
geo_header_payload detray::io::geometry_writer::header_to_payload ( const detector_t & det,
const std::string_view det_name )
static

Convert the header information into its payload.

Template Parameters
detector_tDetector type to serialize.
Parameters
detDetector providing the volume and surface collections.
det_nameName recorded in the serialized header.
Returns
Header payload describing this geometry.

◆ to_payload() [1/5]

template<detray::concepts::detector detector_t>
payload_type detray::io::geometry_writer::to_payload ( const detector_t & det,
const typename detector_t::name_map & names )
static

Convert a detector det into its io payload.

Template Parameters
detector_tDetector type to serialize.
Parameters
detDetector whose geometry is serialized.
namesOptional volume names indexed by volume index.
Returns
Payload containing serialized volumes and surfaces.

◆ to_payload() [2/5]

template<detray::concepts::detector detector_t>
surface_payload detray::io::geometry_writer::to_payload ( const geometry::surface< detector_t > & sf,
std::size_t sf_idx )
static

Convert a detector surface sf into its io payload.

Template Parameters
detector_tDetector type owning the surface.
Parameters
sfSurface descriptor to serialize.
sf_idxSurface position within its volume collection.
Returns
Surface payload with transform, mask, and material links.

◆ to_payload() [3/5]

template<typename mask_t>
requires (!std::is_same_v<typename mask_t::shape, void>)
mask_payload detray::io::geometry_writer::to_payload ( const mask_t & m)
static

Convert a surface mask m into its io payload.

Template Parameters
mask_tMask type to serialize.
Parameters
mMask whose shape, link, and boundaries are recorded.
Returns
Mask payload.

◆ to_payload() [4/5]

template<detray::concepts::detector detector_t>
transform_payload detray::io::geometry_writer::to_payload ( const typename detector_t::transform3_type & trf)
static

Convert a surface transform trf into its io payload.

Template Parameters
detector_tDetector type supplying the transform type.
Parameters
trfTransform to serialize.
Returns
Translation and rotation payload.

◆ to_payload() [5/5]

template<detray::concepts::detector detector_t>
volume_payload detray::io::geometry_writer::to_payload ( const typename detector_t::volume_type & vol_desc,
const detector_t & det,
const std::string_view name )
static

Convert a detector volume and its contents to its IO representation.

Template Parameters
detector_tDetector type to serialize.
Parameters
vol_descVolume descriptor to serialize.
detDetector providing transforms, surfaces, and accelerators.
nameName associated with the volume.
Returns
Volume payload containing surfaces and acceleration links.