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

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 Config &cfg, std::unique_ptr<const Logger> logger = getDefaultLogger("CylindricalContainerBuilder", 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

The final implementation of the cylindrical container 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

std::string auxilliary = ""

Auxilliary 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.