File CylindricalContainerBuilder.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

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

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

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/CylindricalContainerBuilder.hpp>

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.