Class Acts::Experimental::CylindricalContainerBuilder

class CylindricalContainerBuilder : public Acts::Experimental::IDetectorComponentBuilder

A dedicated container builder for cylindrical detector containers.

It relies on the detailed implementation of the CylindricalDetectorHelper and allows for DetectorVolume attachment in z/r/phi, such as wrapping of bevelled cylinder objects in z/r

There exists an option to create this container builder (recursively) from a blueprint tree, which attempts to fill in the gap volumes accordingly.

Note

the builder expects a fully consistent set of sub volume builders that will be executed in a chain

Note

allowed BinningValue(s) for the cylindrical container builder are {binZ}, {binR}, {binPhi}, {binZ, binR}, whereas the last option indicates a wrapping setup.

Public Functions

CylindricalContainerBuilder(const Acts::Experimental::Blueprint::Node &bpNode, Acts::Logging::Level logLevel = Acts::Logging::INFO)

Constructor from blueprint and logging level.

It will create recursively the builders of sub volumes

Note

no checking is being done on consistency of the blueprint, it is assumed it has passed first through gap filling via the blueprint helper.

Note

that the naming of the builders is taken from the bluprint nodes

Parameters
  • bpNode – is the entry blue print node

  • logLevel – is the logging output level for the builder tools

Returns

a cylindrical container builder representing this blueprint

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

Constructor with configuration struct.

Parameters
  • cfg – is the configuration struct

  • logger – logging instance for screen output

virtual DetectorComponent construct(const GeometryContext &gctx) const final

The final implementation of the cylindrical container builder.

Parameters

gctx – The geometry context for this call

Returns

an outgoing detector component

struct Config

Nested configuration object.

Public Members

std::string auxiliary = ""

Auxiliary information, mainly for screen output.

std::vector<BinningValue> binning = {}

Binning prescription of attachment.

std::vector<std::shared_ptr<const IDetectorComponentBuilder>> builders = {}

The configured volume builders.

std::shared_ptr<const IGeometryIdGenerator> geoIdGenerator = nullptr

The geometry id generator.

bool geoIdReverseGen = false

An eventual reverse geometry id generation.

std::shared_ptr<const IRootVolumeFinderBuilder> rootVolumeFinderBuilder = nullptr

The root volume finder.