File PortalGenerators.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Experimental

Typedefs

using PortalGenerator = Delegate<std::vector<std::shared_ptr<Portal>>(const Transform3&, const VolumeBounds&, const std::shared_ptr<DetectorVolume>&)>

The Portal genertor definition.

Functions

PortalGenerator defaultPortalAndSubPortalGenerator()

Create a default portal generator that connects to the static method.

Note

parameters are ignored in this case

PortalGenerator defaultPortalGenerator()

Create a default portal generator that connects to the static method.

std::vector<std::shared_ptr<Portal>> generatePortals(const Transform3 &dTransform, const VolumeBounds &dBounds, const std::shared_ptr<DetectorVolume> &dVolume) noexcept(false)

Generator function for creation of portal surfaces.

Parameters
  • dTransform – a contextually resolved transform

  • dBounds – the detecor volume bounds

  • dVolume – the reference to the detector volume which generates this volume

Returns

a vector of newly created portals with registered inside volume

std::vector<std::shared_ptr<Portal>> generatePortalsUpdateInternals(const Transform3 &dTransform, const VolumeBounds &dBounds, const std::shared_ptr<DetectorVolume> &dVolume) noexcept(false)

Calls the portal generation and adds registration to sub portals.

This code is split off the PortalGenerator code in order to allow unit testing of the portal generation wihtout detector volume construction

Parameters
  • dTransform – a contextually resolved transform

  • dBounds – the detecor volume bounds

  • dVolume – the reference to the detector volume which generates this volume

Returns

a vector of newly created portals with registered inside volume