Wraps a single child blueprint node and pads it into a larger volume whose dimensions are evaluated at construction time using the child's extent plus a configurable envelope.
More...
|
| | PadBlueprintNode (const std::string &name, const ExtentEnvelope &envelope=ExtentEnvelope::Zero()) |
| | Main constructor for the padding node.
|
| Volume & | build (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the build phase of the blueprint tree construction.
|
| Centering | centering () const |
| | Get the centering mode.
|
| PadBlueprintNode & | clearReferenceAxis () |
| | Drop the reference axis and pad in the child's own frame (the default).
|
| const ExtentEnvelope & | envelope () const |
| | Get the padding envelope.
|
| const std::optional< Transform3 > & | referenceAxis () const |
| | Get the reference axis, if one is configured.
|
| PadBlueprintNode & | setCentering (Centering centering) |
| | Set how the volume is centered along its symmetric directions.
|
| PadBlueprintNode & | setEnvelope (const ExtentEnvelope &envelope) |
| | Set the padding envelope applied to the child's extent.
|
| PadBlueprintNode & | setReferenceAxis (const Transform3 &axis) |
| | Align the enclosure to an external reference axis instead of the child's own frame (cylinder children only).
|
| | StaticBlueprintNode (std::unique_ptr< TrackingVolume > volume) |
| | Construct the static node from an existing volume.
|
| Volume & | build (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the build phase of the blueprint tree construction.
|
| PortalShellBase & | connect (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the connect phase.
|
| void | finalize (const BlueprintOptions &options, const GeometryContext &gctx, TrackingVolume &parent, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the finalize phase.
|
| const std::string & | name () const override |
| | Get the name of this node.
|
| const NavigationPolicyFactory * | navigationPolicyFactory () const |
| | Get the navigation policy factory for this node.
|
| virtual StaticBlueprintNode & | setNavigationPolicyFactory (std::shared_ptr< NavigationPolicyFactory > navigationPolicyFactory) |
| | Set the navigation policy factory for this node.
|
|
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::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::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::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::ContainerBlueprintNode.
|
| MaterialDesignatorBlueprintNode & | addMaterial (const std::string &name, const std::function< void(MaterialDesignatorBlueprintNode &material)> &callback={}) |
| | Convenience method for creating a Acts::MaterialDesignatorBlueprintNode.
|
| PortalDesignatorBlueprintNode & | addPortalDesignator (const std::string &name, const std::function< void(PortalDesignatorBlueprintNode &portals)> &callback={}) |
| | Convenience method for creating a Acts::PortalDesignatorBlueprintNode.
|
| LayerBlueprintNode & | addLayer (const std::string &name, const std::function< void(LayerBlueprintNode &layer)> &callback={}) |
| | Convenience method for creating a Acts::LayerBlueprintNode.
|
| GeometryIdentifierBlueprintNode & | withGeometryIdentifier (const std::function< void(GeometryIdentifierBlueprintNode &geometryIdentifier)> &callback={}) |
| | Convenience method for creating a Acts::GeometryIdentifierBlueprintNode.
|
|
| void | addToGraphviz (std::ostream &os) const override |
| | Method that writes a representatiohn of this node only to graphviz.
|
| 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.
|
| virtual void | toStream (std::ostream &os) const |
| | Virtual method to determine stream representation.
|
|
std::shared_ptr< NavigationPolicyFactory > | m_navigationPolicyFactory |
| | Factory for creating navigation policies for this volume.
|
|
std::unique_ptr< PortalShellBase > | m_shell |
| | Portal shell representation for geometry connection.
|
|
std::unique_ptr< TrackingVolume > | m_volume |
| | The wrapped tracking volume managed by this blueprint node.
|
Wraps a single child blueprint node and pads it into a larger volume whose dimensions are evaluated at construction time using the child's extent plus a configurable envelope.
- Note
- This node can only have a single child. This is not an error during tree building, but during geometry construction. It defers most of the functionality to Acts::StaticBlueprintNode, and only implements the build phase to perform the padding.
Two orthogonal, opt-in settings control where the padded volume ends up:
- setReferenceAxis picks the frame the enclosure is built in. By default it is the child's own frame. When a reference axis is set, a cylinder child's transverse offset from that axis is absorbed into radial growth and the enclosure is re-centered onto the axis, so a displaced cylindrical subtree can be dropped into a strictly co-axial Acts::CylinderVolumeStack without weakening its alignment checks. Axis alignment is cylinder-only.
setCentering picks how the volume is centered along the directions its bounds express symmetrically (z for a cylinder, x/y/z for a cuboid). The default Centering::Centered keeps the volume centered on the child and requires a symmetric envelope there; Centering::FitBounds allows an asymmetric envelope and shifts the enclosure so the child stays contained.
- Deprecated
- The blueprint geometry moved out of the Acts::Experimental namespace. Use Acts::PadBlueprintNode instead. This alias is kept for backward compatibility and will be removed.