Class Acts::PassiveLayerBuilder

class PassiveLayerBuilder : public Acts::ILayerBuilder

The PassiveLayerBuilder is able to build cylinder & disc layers with given dimensions and material.

The specifications of the layers have to be given by the configuration struct.

Public Functions

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

Constructor.

Parameters
  • plConfig – is the ocnfiguration struct that steers behavior

  • logger – logging instance

~PassiveLayerBuilder() override = default

Destructor.

virtual const LayerVector centralLayers(const GeometryContext &gctx) const override

LayerBuilder interface method.

Parameters

gctx – ist the geometry context under which the geometry is built

Returns

the layers at the central sector

inline Config getConfiguration() const

Get configuration method.

inline virtual const std::string &identification() const override

Name identification.

Returns

the string based identification

virtual const LayerVector negativeLayers(const GeometryContext &gctx) const override

LayerBuilder interface method.

Parameters

gctx – ist the geometry context under which the geometry is built

Returns

the layers at negative side

virtual const LayerVector positiveLayers(const GeometryContext &gctx) const override

LayerBuilder interface method.

Parameters

gctx – ist the geometry context under which the geometry is built

Returns

the layers at positive side

void setConfiguration(const Config &plConfig)

Set configuration method.

Parameters

plConfig – is a configuration struct it overwrites the current configuration

void setLogger(std::unique_ptr<const Logger> newLogger)

Set logging instance.

Parameters

newLogger – the logger instance

struct Config

Configuration struct for the passive layer builder This nested struct is used to configure the layer building.

Public Members

std::vector<double> centralLayerHalflengthZ

central layer specs

std::vector<std::shared_ptr<const ISurfaceMaterial>> centralLayerMaterial

central layer specs

std::vector<double> centralLayerRadii

central layer specs

std::vector<double> centralLayerThickness

central layer specs

std::string layerIdentification

string based identification

std::vector<std::shared_ptr<const ISurfaceMaterial>> posnegLayerMaterial

p/n layer specs

std::vector<double> posnegLayerPositionZ

p/n layer specs

std::vector<double> posnegLayerRmax

p/n layer specs

std::vector<double> posnegLayerRmin

p/n layer specs

std::vector<double> posnegLayerThickness

p/n layer specs