|
| | 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::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.
|
| 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.
|
The static blueprint node wraps a single already-constructred TrackingVolume.
The node will present this volume to its hierarchy. The volume is given as mutable, and will be potentially enlarged in order to connect to neighboring volumes.
- In case the volume already has child volumes, they will be retained.
- In case the volume already has a registered navigation policy, it will be overwritten with the one configured on this node, regardless of content.
This method is called during the build phase of the blueprint tree construction.
It returns a single Acts::Volume which represents transform and bounds of the entire subtree. This does not have to correspond to the final Acts::TrackingVolume, some node types will produce temporary volume representations. Lifetime of the returned volume is managed by the source node! Nodes higher in the hierarchy will issue resizes down the tree hierarchy. This is not done through a direct hierarchy, but coordinated by the respective node type, by internally consulting its children.
- Note
- Generally, you should not need to to call this method directly. The construction should usually be done through the special Acts::Experimental::Blueprint class.
- Parameters
-
| options | The global construction options |
| gctx | The geometry context for construction (usually nominal) |
| logger | The logger to use for output during construction |
- Returns
- The volume used for communicating transform and size up the hierarchy Build-phase of the blueprint construction. Returns the wrapped volume for sizing.
Implements Acts::Experimental::BlueprintNode.
This method is called during the connect phase.
This phase handles the creation and connection of portals (instances of Acts::PortalLinkBase). After the build-phase has completed, the volume sizes are final. Each node will consult its fully sized volume to produce boundary surfaces. Each boundary surface is then turned into a Acts::TrivialPortalLink, which in turn produces a one-sided portal (see Acts::Portal documentation)
Some nodes (like Acts::Experimental::ContainerBlueprintNode) will take action on their children, and unify the connected portals.
After a node's processing has completed, it returns a reference to a Acts::PortalShellBase, which represents a set of portals in a specific geometry arrangement. The returned object lifetime is managed by the returning node.
- Parameters
-
| options | The global construction options |
| gctx | The geometry context for construction (usually nominal) |
| logger | The logger to use for output during construction |
- Returns
- Reference to portal shell containing connected portals for this node
Implements Acts::Experimental::BlueprintNode.