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

Identifier for geometry nodes within the geometry hierarchy. More...

#include <Acts/Geometry/GeometryIdentifier.hpp>

Public Types

using Value = std::uint64_t
 Type alias for underlying value type (64-bit unsigned integer).

Public Member Functions

 GeometryIdentifier ()=default
 Construct default GeometryIdentifier with all values set to zero.
 GeometryIdentifier (const GeometryIdentifier &)=default
 Copy constructor.
 GeometryIdentifier (GeometryIdentifier &&)=default
 Move constructor.
constexpr GeometryIdentifier (Value encoded)
 Construct from an already encoded value.
 ~GeometryIdentifier ()=default
constexpr Value approach () const
 Return the approach identifier.
constexpr Value boundary () const
 Return the boundary identifier.
constexpr Value extra () const
 Return the extra identifier Usage can be experiment-specific, like tagging which kind of detector a surface object corresponds to, or which subsystem it belongs to.
constexpr Value layer () const
 Return the layer identifier.
GeometryIdentifieroperator= (const GeometryIdentifier &)=default
 Copy assignment operator.
GeometryIdentifieroperator= (GeometryIdentifier &&)=default
 Move assignment operator.
constexpr Value passive () const
 Return the passive identifier.
constexpr Value sensitive () const
 Return the sensitive identifier.
constexpr Value value () const
 Return the encoded value.
constexpr Value volume () const
 Return the volume identifier.
constexpr GeometryIdentifier withApproach (Value approach) const
 Return a new identifier with the approach set to approach.
constexpr GeometryIdentifier withBoundary (Value boundary) const
 Return a new identifier with the boundary set to boundary.
constexpr GeometryIdentifier withExtra (Value extra) const
 Return a new identifier with the extra set to extra.
constexpr GeometryIdentifier withLayer (Value layer) const
 Return a new identifier with the layer set to layer.
constexpr GeometryIdentifier withPassive (Value passive) const
 Return a new identifier with the passive set to passive.
constexpr GeometryIdentifier withSensitive (Value sensitive) const
 Return a new identifier with the sensitive set to sensitive.
constexpr GeometryIdentifier withVolume (Value volume) const
 Return a new identifier with the volume set to volume.

Static Public Member Functions

static constexpr Value getMaxApproach ()
 Get the maximum value for the approach identifier.
static constexpr Value getMaxBoundary ()
 Get the maximum value for the boundary identifier.
static constexpr Value getMaxExtra ()
 Get the maximum value for the extra identifier.
static constexpr Value getMaxLayer ()
 Get the maximum value for the layer identifier.
static constexpr Value getMaxSensitive ()
 Get the maximum value for the sensitive identifier.
static constexpr Value getMaxVolume ()
 Get the maximum value for the volume identifier.

Detailed Description

Identifier for geometry nodes within the geometry hierarchy.

An identifier can be split into the following components. They define a hierarchy of objects starting from the high-level volumes:

  • Volume
  • Boundary surfaces (for a volume)
  • Layers (confined within a volume)
  • Approach surfaces (for a layer)
  • Sensitive surfaces (confined to a layer, also called modules)

Member Typedef Documentation

◆ Value

using Acts::GeometryIdentifier::Value = std::uint64_t

Type alias for underlying value type (64-bit unsigned integer).

Constructor & Destructor Documentation

◆ GeometryIdentifier() [1/4]

Acts::GeometryIdentifier::GeometryIdentifier ( Value encoded)
explicitconstexpr

Construct from an already encoded value.

Parameters
encodedThe encoded geometry identifier value

◆ GeometryIdentifier() [2/4]

Acts::GeometryIdentifier::GeometryIdentifier ( )
default

Construct default GeometryIdentifier with all values set to zero.

◆ GeometryIdentifier() [3/4]

Acts::GeometryIdentifier::GeometryIdentifier ( GeometryIdentifier && )
default

Move constructor.

◆ GeometryIdentifier() [4/4]

Acts::GeometryIdentifier::GeometryIdentifier ( const GeometryIdentifier & )
default

Copy constructor.

◆ ~GeometryIdentifier()

Acts::GeometryIdentifier::~GeometryIdentifier ( )
default

Member Function Documentation

◆ approach()

Value Acts::GeometryIdentifier::approach ( ) const
constexpr

Return the approach identifier.

Returns
The approach identifier component

◆ boundary()

Value Acts::GeometryIdentifier::boundary ( ) const
constexpr

Return the boundary identifier.

Returns
The boundary identifier component

◆ extra()

Value Acts::GeometryIdentifier::extra ( ) const
constexpr

Return the extra identifier Usage can be experiment-specific, like tagging which kind of detector a surface object corresponds to, or which subsystem it belongs to.

Returns
The extra identifier component for experiment-specific use

◆ getMaxApproach()

constexpr Value Acts::GeometryIdentifier::getMaxApproach ( )
staticconstexpr

Get the maximum value for the approach identifier.

Returns
the maximum value for the approach identifier

◆ getMaxBoundary()

constexpr Value Acts::GeometryIdentifier::getMaxBoundary ( )
staticconstexpr

Get the maximum value for the boundary identifier.

Returns
the maximum value for the boundary identifier

◆ getMaxExtra()

constexpr Value Acts::GeometryIdentifier::getMaxExtra ( )
staticconstexpr

Get the maximum value for the extra identifier.

Returns
the maximum value for the extra identifier

◆ getMaxLayer()

constexpr Value Acts::GeometryIdentifier::getMaxLayer ( )
staticconstexpr

Get the maximum value for the layer identifier.

Returns
the maximum value for the layer identifier

◆ getMaxSensitive()

constexpr Value Acts::GeometryIdentifier::getMaxSensitive ( )
staticconstexpr

Get the maximum value for the sensitive identifier.

Returns
the maximum value for the sensitive identifier

◆ getMaxVolume()

constexpr Value Acts::GeometryIdentifier::getMaxVolume ( )
staticconstexpr

Get the maximum value for the volume identifier.

Returns
the maximum value for the volume identifier

◆ layer()

Value Acts::GeometryIdentifier::layer ( ) const
constexpr

Return the layer identifier.

Returns
The layer identifier component

◆ operator=() [1/2]

GeometryIdentifier & Acts::GeometryIdentifier::operator= ( const GeometryIdentifier & )
default

Copy assignment operator.

Returns
Reference to this GeometryIdentifier after copying

◆ operator=() [2/2]

GeometryIdentifier & Acts::GeometryIdentifier::operator= ( GeometryIdentifier && )
default

Move assignment operator.

Returns
Reference to this GeometryIdentifier after moving

◆ passive()

Value Acts::GeometryIdentifier::passive ( ) const
constexpr

Return the passive identifier.

Returns
The passive identifier component (shares bit field with approach)

◆ sensitive()

Value Acts::GeometryIdentifier::sensitive ( ) const
constexpr

Return the sensitive identifier.

Returns
The sensitive identifier component

◆ value()

Value Acts::GeometryIdentifier::value ( ) const
constexpr

Return the encoded value.

Returns
The full encoded 64-bit geometry identifier value

◆ volume()

Value Acts::GeometryIdentifier::volume ( ) const
constexpr

Return the volume identifier.

Returns
The volume identifier component

◆ withApproach()

GeometryIdentifier Acts::GeometryIdentifier::withApproach ( Value approach) const
nodiscardconstexpr

Return a new identifier with the approach set to approach.

Parameters
approachthe new approach identifier
Returns
a new identifier with the approach set to approach

◆ withBoundary()

GeometryIdentifier Acts::GeometryIdentifier::withBoundary ( Value boundary) const
nodiscardconstexpr

Return a new identifier with the boundary set to boundary.

Parameters
boundarythe new boundary identifier
Returns
a new identifier with the boundary set to boundary

◆ withExtra()

GeometryIdentifier Acts::GeometryIdentifier::withExtra ( Value extra) const
nodiscardconstexpr

Return a new identifier with the extra set to extra.

Parameters
extrathe new extra identifier
Returns
a new identifier with the extra set to extra

◆ withLayer()

GeometryIdentifier Acts::GeometryIdentifier::withLayer ( Value layer) const
nodiscardconstexpr

Return a new identifier with the layer set to layer.

Parameters
layerthe new layer identifier
Returns
a new identifier with the layer set to layer

◆ withPassive()

GeometryIdentifier Acts::GeometryIdentifier::withPassive ( Value passive) const
nodiscardconstexpr

Return a new identifier with the passive set to passive.

Parameters
passivethe new passive identifier
Returns
a new identifier with the passive set to passive

◆ withSensitive()

GeometryIdentifier Acts::GeometryIdentifier::withSensitive ( Value sensitive) const
nodiscardconstexpr

Return a new identifier with the sensitive set to sensitive.

Parameters
sensitivethe new sensitive identifier
Returns
a new identifier with the sensitive set to sensitive

◆ withVolume()

GeometryIdentifier Acts::GeometryIdentifier::withVolume ( Value volume) const
nodiscardconstexpr

Return a new identifier with the volume set to volume.

Parameters
volumethe new volume identifier
Returns
a new identifier with the volume set to volume