File DetectorVolumeBuilder.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

namespace Experimental
class DetectorVolumeBuilder : public Acts::Experimental::IDetectorComponentBuilder
#include <Acts/Detector/DetectorVolumeBuilder.hpp>

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


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> mlogger = getDefaultLogger("DetectorVolumeBuilder", Logging::INFO))

Constructor with configuration arguments.

  • cfg – is the configuration struct

  • mlogger – logging instance for screen output

virtual DetectorComponent construct(const GeometryContext &gctx) const final

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


gctx – The geometry context for this call


an outgoing detector component

Private Functions

inline const Logger &logger() const

Private acces method to the logger.

Private Members

Config m_cfg

configuration object

std::unique_ptr<const Logger> m_logger

logging instance

struct Config
#include <Acts/Detector/DetectorVolumeBuilder.hpp>

Nested configuration object.

Public Members

bool addInternalsToRoot = false

Add eventual internal volume to root.

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.