Class Acts::DD4hepLayerBuilder¶
-
class DD4hepLayerBuilder : public Acts::ILayerBuilder¶
build layers of one cylinder-endcap setup from DD4hep input
This class is an implementation of the Acts::ILayerBuilder, creating the central (layers of barrel), the negative and positive layers (layers of endcaps) of one hierarchy (e.g. PixelDetector, StripDetector,…) with input from DD4hep.
Public Functions
-
DD4hepLayerBuilder(const Acts::DD4hepLayerBuilder::Config &config, std::unique_ptr<const Logger> logger)¶
Constructor.
- Parameters
config – is the configuration struct
logger – is the logging instance
-
~DD4hepLayerBuilder() override¶
Destructor.
-
virtual const LayerVector centralLayers(const GeometryContext &gctx) const final¶
LayerBuilder interface method.
- Parameters
gctx – the geometry context for this build call
- Returns
the layers at the central sector
-
inline virtual const std::string &identification() const final¶
Name identification.
- Returns
the string based identification of this configuration
-
virtual const LayerVector negativeLayers(const GeometryContext &gctx) const final¶
LayerBuilder interface method.
- Parameters
gctx – the geometry context for this build call
- Returns
the layers at negative side
-
virtual const LayerVector positiveLayers(const GeometryContext &gctx) const final¶
LayerBuilder interface method.
- Parameters
gctx – the geometry context for this build call
- Returns
the layers at positive side
-
struct Config¶
nested configuration struct for steering of the layer builder
Public Members
-
BinningType bTypePhi = equidistant¶
the binning type of the contained surfaces in phi (equidistant/arbitrary)
-
BinningType bTypeR = equidistant¶
the binning type of the contained surfaces in r (equidistant/arbitrary)
-
BinningType bTypeZ = equidistant¶
the binning type of the contained surfaces in z (equidistant/arbitrary)
-
std::vector<dd4hep::DetElement> centralLayers¶
the DD4hep::DetElements of the layers of the central volume (barrel)
Note
if the current volume has no layers this parameter will not be set
-
std::string configurationName = "undefined"¶
string based identification
-
double defaultThickness = UnitConstants::fm¶
In case no surfaces (to be contained by the layer) are handed over, the layer thickness will be set to this value.
- Attention
The default thickness should be set thin enough that no touching or overlapping with the next layer can happen.
Note
Layers containing surfaces per default are not allowed to be attached to each other (navigation will bail at this point). However, to allow material layers (not containing surfaces) to be attached to each other, this default thickness is needed. In this way, the layer will be thin (with space to the next layer), but the material will have the’real’ thickness.
-
std::shared_ptr<const LayerCreator> layerCreator = nullptr¶
layer creator which is internally used to build layers
-
std::vector<dd4hep::DetElement> negativeLayers¶
the DD4hep::DetElements of the layers of the negative volume (negative endcap)
Note
if the current volume has no endcaps or no layers this parameter will not be set
-
std::vector<dd4hep::DetElement> positiveLayers¶
the DD4hep::DetElements of the layers of the positive volume (positive endcap)
Note
if the current volume has no endcaps or no layers this parameter will not be set
-
BinningType bTypePhi = equidistant¶
-
DD4hepLayerBuilder(const Acts::DD4hepLayerBuilder::Config &config, std::unique_ptr<const Logger> logger)¶