Class Acts::GeometryIdentifier

class Acts::GeometryIdentifier

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

inline constexpr GeometryIdentifier(Value encoded)

Construct from an already encoded value.

GeometryIdentifier() = default

Construct default GeometryIdentifier with all values set to zero.

GeometryIdentifier(GeometryIdentifier&&) = default
GeometryIdentifier(const GeometryIdentifier&) = default
~GeometryIdentifier() = default
inline constexpr Value approach() const

Return the approach identifier.

inline constexpr Value boundary() const

Return the boundary identifier.

inline constexpr Value layer() const

Return the layer identifier.

GeometryIdentifier &operator=(GeometryIdentifier&&) = default
GeometryIdentifier &operator=(const GeometryIdentifier&) = default
inline constexpr Value sensitive() const

Return the sensitive identifier.

inline constexpr GeometryIdentifier &setApproach(Value approach)

Set the approach identifier.

inline constexpr GeometryIdentifier &setBoundary(Value boundary)

Set the boundary identifier.

inline constexpr GeometryIdentifier &setLayer(Value layer)

Set the layer identifier.

inline constexpr GeometryIdentifier &setSensitive(Value sensitive)

Set the sensitive identifier.

inline constexpr GeometryIdentifier &setVolume(Value volume)

Set the volume identifier.

inline constexpr Value value() const

Return the encoded value.

inline constexpr Value volume() const

Return the volume identifier.