This node type assigns string tags to specific portal faces of its child volume during the blueprint construction.
More...
|
| | PortalDesignatorBlueprintNode (std::string_view name) |
| | Main constructor for the portal designator node.
|
| Volume & | build (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method participates in the geometry construction.
|
| PortalShellBase & | connect (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method participates in the geometry construction.
|
| void | finalize (const BlueprintOptions &options, const GeometryContext &gctx, TrackingVolume &parent, const Logger &logger) override |
| | This method participates in the geometry construction.
|
| const std::string & | name () const override |
| | Get the name of this node.
|
| PortalDesignatorBlueprintNode & | tagFace (CuboidVolumeBounds::Face face, const std::string &label) |
| | Tag a cuboid face with a string label.
|
| PortalDesignatorBlueprintNode & | tagFace (CylinderVolumeBounds::Face face, const std::string &label) |
| | Tag a cylinder face with a string label.
|
| void | toStream (std::ostream &os) const override |
| | Virtual method to determine stream representation.
|
|
virtual | ~BlueprintNode ()=default |
| | Virtual destructor to ensure correct cleanup.
|
| BlueprintNode & | addChild (std::shared_ptr< BlueprintNode > child) |
| | Register a child to this node.
|
| MutableChildRange | children () |
| | Return a MutableChildRange to the children of this node.
|
| ChildRange | children () const |
| | Return a ChildRange to the children of this node.
|
|
void | clearChildren () |
| | Remove all children from this node.
|
| std::size_t | depth () const |
| | Return the depth of this node in the blueprint tree.
|
| void | graphviz (std::ostream &os) const |
| | Print the node tree starting from this node to graphviz format.
|
| StaticBlueprintNode & | addStaticVolume (std::unique_ptr< TrackingVolume > volume, const std::function< void(StaticBlueprintNode &cylinder)> &callback={}) |
| | This method creates a new Acts::Experimental::StaticBlueprintNode wrapping volume and adds it to this node as a child.
|
| StaticBlueprintNode & | addStaticVolume (const Transform3 &transform, std::shared_ptr< VolumeBounds > volumeBounds, const std::string &volumeName="undefined", const std::function< void(StaticBlueprintNode &cylinder)> &callback={}) |
| | Alternative overload for creating a Acts::Experimental::StaticBlueprintNode.
|
| CylinderContainerBlueprintNode & | addCylinderContainer (const std::string &name, AxisDirection direction, const std::function< void(CylinderContainerBlueprintNode &cylinder)> &callback={}) |
| | Convenience method for creating a cylinder specialization of Acts::Experimental::ContainerBlueprintNode.
|
| CuboidContainerBlueprintNode & | addCuboidContainer (const std::string &name, AxisDirection direction, const std::function< void(CuboidContainerBlueprintNode &cylinder)> &callback={}) |
| | Convenience method for creating a cuboid specialization of Acts::Experimental::ContainerBlueprintNode.
|
| MaterialDesignatorBlueprintNode & | addMaterial (const std::string &name, const std::function< void(MaterialDesignatorBlueprintNode &material)> &callback={}) |
| | Convenience method for creating a Acts::Experimental::MaterialDesignatorBlueprintNode.
|
| PortalDesignatorBlueprintNode & | addPortalDesignator (const std::string &name, const std::function< void(PortalDesignatorBlueprintNode &portals)> &callback={}) |
| | Convenience method for creating a Acts::Experimental::PortalDesignatorBlueprintNode.
|
| LayerBlueprintNode & | addLayer (const std::string &name, const std::function< void(LayerBlueprintNode &layer)> &callback={}) |
| | Convenience method for creating a Acts::Experimental::LayerBlueprintNode.
|
| GeometryIdentifierBlueprintNode & | withGeometryIdentifier (const std::function< void(GeometryIdentifierBlueprintNode &geometryIdentifier)> &callback={}) |
| | Convenience method for creating a Acts::Experimental::GeometryIdentifierBlueprintNode.
|
|
| using | ChildRange |
| | A range-like object that allows range based for loops and index access.
|
| using | MutableChildRange |
| | A range-like object that allows range based for loops and index access.
|
| std::span< std::shared_ptr< BlueprintNode > > | childPtr () |
| | Return a span over the children's shared_ptrs.
|
| std::span< const std::shared_ptr< BlueprintNode > > | childPtr () const |
| | Return a span over the children's shared_ptrs.
|
| std::string | indent () const |
| | An indentation depending on the depth of this node.
|
| std::string | prefix () const |
| | Printing helper returning a prefix including an indent depending on the depth.
|
| void | setDepth (std::size_t depth) |
| | Set the depth to depth and update children recursively.
|
This node type assigns string tags to specific portal faces of its child volume during the blueprint construction.
The tags can be used to look up the corresponding portals from the final Acts::TrackingGeometry, e.g. "the portal connecting the tracker and the calorimeter".
Tagging happens in the finalize phase, after all portal merging and fusing has completed, so the tagged portal is the final, shared portal that ends up in the geometry. The position of this node in the blueprint tree determines which face is meant, which makes the lookup robust against volume subdivision and portal ordering.
- Note
- This node can only have a single child. This is not an error during tree building, but during geometry construction.