Class Acts::GeometryIdentifier

class 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 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.

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 &setExtra(Value extra)

Set the extra 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.