Class Acts::Experimental::DetectorVolumeBuilder

class DetectorVolumeBuilder : public Acts::Experimental::IDetectorComponentBuilder

A generic detector volume builder that uses an external builder for shape and portals and an internal structure builder for volume internals.

Note

Although this helper builds only a single volume, it is to the outside presented as a DetectorComponent with shell; like this it can be transparently be used for the downstream detector construction process.

Public Functions

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

Constructor with configuration arguments.

Parameters
  • cfg – is the configuration struct

  • logger – logging instance for screen output

virtual DetectorComponent construct(RootDetectorVolumes &roots, const GeometryContext &gctx) const final

Final implementation of a volume builder that is purely defined by an internal and external structure builder.

Parameters
  • roots – [in,out] the detector root volumes

  • gctx – The geometry context for this call

Returns

an outgoing detector component

struct Config

Nested configuration object.

Public Members

bool addInternalsToRoot = false

Add eventual internal volume to root.

bool addToRoot = true

Add to the root volumes: the current volume.

std::string auxilliary = ""

Auxilliary information.

std::shared_ptr<const IExternalStructureBuilder> externalsBuilder = nullptr

An external builder.

std::shared_ptr<const IInternalStructureBuilder> internalsBuilder = nullptr

An internal builder.

std::string name = "unnamed"

The name of the volume to be built.