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

Trivial portal link links to a single target volume on every point on a surface. More...

#include <Acts/Geometry/TrivialPortalLink.hpp>

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

Public Member Functions

 TrivialPortalLink (std::shared_ptr< RegularSurface > surface, TrackingVolume &volume)
 Construct a trivial portal link from a surface and a volume.
std::unique_ptr< GridPortalLinkmakeGrid (AxisDirection direction) const
 Make a 1D grid portal link from this trivial portal link The grid size is automatically determined from the surface bounds.
Result< const TrackingVolume * > resolveVolume (const GeometryContext &gctx, const Vector2 &position, double tolerance=s_onSurfaceTolerance) const override
 Resolve the volume for a 2D position.
Result< const TrackingVolume * > resolveVolume (const GeometryContext &gctx, const Vector3 &position, double tolerance=s_onSurfaceTolerance) const override
 Resolve the volume for a 3D position.
void toStream (std::ostream &os) const override
 Print the portal link to a stream.
const TrackingVolumevolume () const
 Get the single volume that this trivial portal link is associated with.

Additional Inherited Members

Detailed Description

Trivial portal link links to a single target volume on every point on a surface.

Constructor & Destructor Documentation

◆ TrivialPortalLink()

Acts::TrivialPortalLink::TrivialPortalLink ( std::shared_ptr< RegularSurface > surface,
TrackingVolume & volume )

Construct a trivial portal link from a surface and a volume.

Parameters
surfaceis the surface
volumeis the target

Member Function Documentation

◆ makeGrid()

std::unique_ptr< GridPortalLink > Acts::TrivialPortalLink::makeGrid ( AxisDirection direction) const

Make a 1D grid portal link from this trivial portal link The grid size is automatically determined from the surface bounds.

Parameters
directionThe axis direction of the grid
Returns
A grid

◆ resolveVolume() [1/2]

Result< const TrackingVolume * > Acts::TrivialPortalLink::resolveVolume ( const GeometryContext & gctx,
const Vector2 & position,
double tolerance = s_onSurfaceTolerance ) const
overridevirtual

Resolve the volume for a 2D position.

Note
Always returns the single target volume
Parameters
gctxis the geometry context
positionis the 2D position
toleranceis the tolerance
Returns
The target volume (can be null)

Implements Acts::PortalLinkBase.

◆ resolveVolume() [2/2]

Result< const TrackingVolume * > Acts::TrivialPortalLink::resolveVolume ( const GeometryContext & gctx,
const Vector3 & position,
double tolerance = s_onSurfaceTolerance ) const
overridevirtual

Resolve the volume for a 3D position.

Note
Always returns the single target volume
Parameters
gctxis the geometry context
positionis the 2D position
toleranceis the tolerance
Returns
The target volume (can be null)
Note
The position is assumed to be on the associated surface.

Implements Acts::PortalLinkBase.

◆ toStream()

void Acts::TrivialPortalLink::toStream ( std::ostream & os) const
overridevirtual

Print the portal link to a stream.

Parameters
osoutput stream

Implements Acts::PortalLinkBase.

◆ volume()

const TrackingVolume & Acts::TrivialPortalLink::volume ( ) const

Get the single volume that this trivial portal link is associated with.

Returns
The target volume