Fluent builder that assembles a flat collection of cylindrical or disc-like detector layers from layer-representative detector elements into a CylinderContainerBlueprintNode.
More...
|
| using | AxisDefinition |
| | Axis definition type, or std::monostate when the backend does not support axis definitions.
|
|
using | Builder = BlueprintBuilder<BackendT> |
| | The associated BlueprintBuilder type.
|
|
using | Element = typename BackendT::Element |
| | Backend detector element handle type.
|
|
using | LayerCustomizer = detail::LayerCustomizer<Element> |
| | Callback type that can replace or wrap a LayerBlueprintNode.
|
|
using | LayerSpec = typename BackendT::LayerSpec |
| | Backend layer-specification type.
|
|
using | LayerType = Acts::Experimental::LayerBlueprintNode::LayerType |
| | Distinguishes barrel (Cylinder) from endcap (Disc) layer geometry.
|
|
| void | addTo (Acts::Experimental::BlueprintNode &node) const && |
| | Build the container node and attach it as a child of node.
|
| ElementLayerAssembler && | barrel () && |
| | Shorthand for setLayerType(LayerType::Cylinder).
|
| std::shared_ptr< Acts::Experimental::ContainerBlueprintNode > | build () const |
| | Build and return the assembled container node.
|
| ElementLayerAssembler && | endcap () && |
| | Shorthand for setLayerType(LayerType::Disc).
|
template<typename CustomizerT>
requires ( detail::LayerNodeReturningCallable<Element, std::decay_t<CustomizerT>> || detail::LayerNodeReplacingCallable<Element, std::decay_t<CustomizerT>>) |
| ElementLayerAssembler && | onLayer (CustomizerT customizer) && |
| | Register a callback invoked for each created layer node.
|
| ElementLayerAssembler && | planar () && |
| | Shorthand for setLayerType(LayerType::Plane).
|
| ElementLayerAssembler && | setAttachmentStrategy (std::optional< Acts::VolumeAttachmentStrategy > strategy) && |
| | Override the attachment strategy for the container node.
|
| ElementLayerAssembler && | setContainer (const Element &container) && |
| | Set the detector element that acts as the containing volume for the layer search.
|
| ElementLayerAssembler && | setContainer (const std::string &name) && |
| | Set the container element by name, searching from the world root.
|
| ElementLayerAssembler && | setContainerName (std::string containerName) && |
| | Override the output container node name.
|
| ElementLayerAssembler && | setEmptyOk (bool emptyOk) && |
| | Control whether an empty layer collection is an error.
|
| ElementLayerAssembler && | setEnvelope (const Acts::ExtentEnvelope &envelope) && |
| | Set an envelope to be applied to every layer node produced.
|
template<typename B = BackendT>
requires (detail::HasAxisDefinition<B>) |
| ElementLayerAssembler && | setLayerAxes (typename B::AxisDefinition layerAxes) && |
| | Set the axis definition used to derive the layer transform from the parent element shape.
|
| ElementLayerAssembler && | setLayerElements (std::vector< Element > layerElements) && |
| | Set an explicit list of layer-representative elements.
|
| ElementLayerAssembler && | setLayerFilter (const std::regex &pattern) && |
| | Set the regex filter used to select layer elements inside the container.
|
| ElementLayerAssembler && | setLayerFilter (const std::string &pattern) && |
| | Set the regex filter used to select layer elements inside the container by name string.
|
| ElementLayerAssembler && | setLayerNameSuffix (const std::optional< std::string > &layerNameSuffix) && |
| | Set an explicit suffix for produced layer node names.
|
| ElementLayerAssembler && | setLayerType (LayerType layerType) && |
| | Set the layer geometry type explicitly.
|
template<typename B = BackendT>
requires (detail::HasAxisDefinition<B>) |
| ElementLayerAssembler && | setSensorAxes (typename B::AxisDefinition axes) && |
| | Set the axis definition used to orient sensitive surfaces.
|
template<detail::BlueprintBackend BackendT>
class Acts::Experimental::ElementLayerAssembler< BackendT >
Fluent builder that assembles a flat collection of cylindrical or disc-like detector layers from layer-representative detector elements into a CylinderContainerBlueprintNode.
Each supplied element represents one layer: its hierarchy path is used as the layer name and (optionally) its geometry drives the layer transform. Obtained from BlueprintBuilder::layers().
builder.layers()
.barrel()
.setSensorAxes(myAxes)
.setLayerFilter(layerPattern)
.setContainer(containerElement)
.addTo(parentNode);
- Template Parameters
-
| BackendT | Geometry backend that provides detector elements, layer specifications, hierarchy traversal, sensitive-element classification, and surface construction. |
template<detail::BlueprintBackend BackendT>
template<typename B = BackendT>
requires (detail::HasAxisDefinition<B>)
Set the axis definition used to derive the layer transform from the parent element shape.
Only available when the backend defines an AxisDefinition type and stores optional layer-axis information in LayerSpec. When set, the layer transform is extracted automatically from the geometry of the enclosing detector element.
- Parameters
-
| layerAxes | Axis definition forwarded to LayerSpec::layerAxes. |
- Returns
- *this (rvalue).