ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::CuboidStackPortalShell Class Referencefinal

This class describes a cuboid shell containing multiple volumes. More...

#include <Acts/Geometry/CuboidPortalShell.hpp>

Inheritance diagram for Acts::CuboidStackPortalShell:
[legend]
Collaboration diagram for Acts::CuboidStackPortalShell:
[legend]

Public Member Functions

 CuboidStackPortalShell (const GeometryContext &gctx, std::vector< CuboidPortalShell * > shells, AxisDirection direction, const Logger &logger=getDummyLogger())
 Construct the portal shell stack from the given shells.
void applyToVolume () override
 Instruct the shell to register the portals with the volume, handing over shared ownership in the process.
bool isValid () const override
 Check if a portal is valid, e.g.
std::string label () const override
 Get a label for the portal shell for debugging purposes.
const Transform3localToGlobalTransform (const GeometryContext &gctx) const override
 Return the stack's group transform.
std::shared_ptr< Portalportal (Face face) override
 Retrieve a shared_ptr for the portal associated to the given face.
void setPortal (std::shared_ptr< Portal > portal, Face face) override
 Set the portal associated to the given face.
std::size_t size () const override
 Get the number of portals in the shell.
Public Member Functions inherited from Acts::CuboidPortalShell
void fill (TrackingVolume &volume) override
 Fill the open slots of the shell with a TrivialPortalLink to the given volume.
Public Member Functions inherited from Acts::PortalShellBase
virtual ~PortalShellBase ()=default
 Virtual destructor.

Additional Inherited Members

Public Types inherited from Acts::CuboidPortalShell
using Face = CuboidVolumeBounds::Face
 Type alias for cuboid volume bounds face enumeration.

Detailed Description

This class describes a cuboid shell containing multiple volumes.

Constructor & Destructor Documentation

◆ CuboidStackPortalShell()

Acts::CuboidStackPortalShell::CuboidStackPortalShell ( const GeometryContext & gctx,
std::vector< CuboidPortalShell * > shells,
AxisDirection direction,
const Logger & logger = getDummyLogger() )

Construct the portal shell stack from the given shells.

Parameters
gctxThe geometry context
shellsThe shells to stack
Note
The shells must be ordered in the given direction
Parameters
directionThe stacking direction (along x/y/z axis) in local stack coordinates
loggerA logging instance for debugging

Member Function Documentation

◆ applyToVolume()

void Acts::CuboidStackPortalShell::applyToVolume ( )
overridevirtual

Instruct the shell to register the portals with the volume, handing over shared ownership in the process.

Note
The target volume depends on the shell type, e.g. composite shells like the CylinerStackPortalShell register portals to the correct volumes.

Implements Acts::PortalShellBase.

◆ isValid()

bool Acts::CuboidStackPortalShell::isValid ( ) const
overridevirtual

Check if a portal is valid, e.g.

if non of the portals has two unconnected sides.

Returns
True if the shell is valid, false otherwise

Implements Acts::PortalShellBase.

◆ label()

std::string Acts::CuboidStackPortalShell::label ( ) const
overridevirtual

Get a label for the portal shell for debugging purposes.

Returns
A label for the portal shell

Implements Acts::PortalShellBase.

◆ localToGlobalTransform()

const Transform3 & Acts::CuboidStackPortalShell::localToGlobalTransform ( const GeometryContext & gctx) const
overridevirtual

Return the stack's group transform.

Returns
Reference to the transform of the cuboid stack

Implements Acts::CuboidPortalShell.

◆ portal()

std::shared_ptr< Portal > Acts::CuboidStackPortalShell::portal ( Face face)
overridevirtual

Retrieve a shared_ptr for the portal associated to the given face.

Can be nullptr if unset.

Parameters
faceThe face to retrieve the portal for
Returns
The portal associated to the face

Implements Acts::CuboidPortalShell.

◆ setPortal()

void Acts::CuboidStackPortalShell::setPortal ( std::shared_ptr< Portal > portal,
Face face )
overridevirtual

Set the portal associated to the given face.

Parameters
portalThe portal to set
faceThe face to set the portal

Implements Acts::CuboidPortalShell.

◆ size()

std::size_t Acts::CuboidStackPortalShell::size ( ) const
overridevirtual

Get the number of portals in the shell.

This number depends on the volume type

Returns
The number of portals in the shell

Implements Acts::PortalShellBase.