Class Acts::Experimental::VolumeStructureBuilder

class VolumeStructureBuilder : public Acts::Experimental::IExternalStructureBuilder

This class provides the external detector volume structure, configured either from:

  • a volume extent

  • from an array with volume bounds identification


A starting transform (defaulted to identity) can be provided, in case of volume bounds construction from an Acts::Extent object, the transform steming from the extent definition will be applied on top of the provided starting transform. In case of volume bounds construction from an array of values, the starting transform is already the final volume placement.

Public Functions

VolumeStructureBuilder(const Config &cfg, std::unique_ptr<const Logger> mlogger = getDefaultLogger("VolumeStructureBuilder", Logging::INFO))


  • cfg – is the configuration struct

  • mlogger – logging instance for screen output

virtual ExternalStructure construct(const GeometryContext &gctx) const final

The interface definition for internal structure creation.


gctx – the geometry context at the creation of the internal structure


a consistent set of detector volume internals

struct Config

Nexted configuration struct.

Public Members

std::string auxilliary = ""

Some auxilliary information.

VolumeBounds::BoundsType boundsType = VolumeBounds::BoundsType::eOther

A defined volume bound type.

std::vector<ActsScalar> boundValues = {}

The values (if already defined)

std::optional<Extent> extent = std::nullopt

The optional extent to feed into the values.

Transform3 transform = Transform3::Identity()

The starting transform.