Class GeometryID

Class Documentation

class Acts::GeometryID

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)

Public Types

using Value = uint64_t

Public Functions

constexpr GeometryID(Value encoded)

Construct from an already encoded value.

GeometryID() = default

Construct default GeometryID with all values set to zero.

GeometryID(GeometryID&&) = default
GeometryID(const GeometryID&) = default
~GeometryID() = default
constexpr Value approach() const

Return the approach identifier.

constexpr Value boundary() const

Return the boundary identifier.

constexpr Value layer() const

Return the layer identifier.

GeometryID &operator=(GeometryID&&) = default
GeometryID &operator=(const GeometryID&) = default
constexpr Value sensitive() const

Return the sensitive identifier.

constexpr GeometryID &setApproach(Value approach)

Set the approach identifier.

constexpr GeometryID &setBoundary(Value boundary)

Set the boundary identifier.

constexpr GeometryID &setLayer(Value layer)

Set the layer identifier.

constexpr GeometryID &setSensitive(Value sensitive)

Set the sensitive identifier.

constexpr GeometryID &setVolume(Value volume)

Set the volume identifier.

constexpr Value value() const

Return the encoded value.

constexpr Value volume() const

Return the volume identifier.