ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SingleCuboidPortalShell Class Reference

This class describes a cuboid shell containing a single volume. More...

#include <Acts/Geometry/CuboidPortalShell.hpp>

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

Public Member Functions

 SingleCuboidPortalShell (TrackingVolume &volume)
 Construct a single cuboid portal shell for the given volume.
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
 Get the transformation matrix for this cuboid portal shell.
std::shared_ptr< Portalportal (Face face) final
 Retrieve a shared_ptr for the portal associated to the given face.
void setPortal (std::shared_ptr< Portal > portal, Face face) final
 Set the portal associated to the given face.
std::size_t size () const final
 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 a single volume.

Constructor & Destructor Documentation

◆ SingleCuboidPortalShell()

Acts::SingleCuboidPortalShell::SingleCuboidPortalShell ( TrackingVolume & volume)
explicit

Construct a single cuboid portal shell for the given volume.

Parameters
volumeThe volume to create the shell for

Member Function Documentation

◆ applyToVolume()

void Acts::SingleCuboidPortalShell::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::SingleCuboidPortalShell::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::SingleCuboidPortalShell::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::SingleCuboidPortalShell::localToGlobalTransform ( const GeometryContext & gctx) const
overridevirtual

Get the transformation matrix for this cuboid portal shell.

Returns
Reference to the transformation matrix

Implements Acts::CuboidPortalShell.

◆ portal()

std::shared_ptr< Portal > Acts::SingleCuboidPortalShell::portal ( Face face)
finalvirtual

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::SingleCuboidPortalShell::setPortal ( std::shared_ptr< Portal > portal,
Face face )
finalvirtual

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::SingleCuboidPortalShell::size ( ) const
finalvirtual

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.