File GeometryIdentifier.hpp
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
Functions
-
std::ostream &operator<<(std::ostream &os, GeometryIdentifier id)
-
class GeometryIdentifier
- #include <Acts/Geometry/GeometryIdentifier.hpp>
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
-
GeometryIdentifier() = default
Construct default GeometryIdentifier with all values set to zero.
-
GeometryIdentifier(const GeometryIdentifier&) = default
-
GeometryIdentifier(GeometryIdentifier&&) = default
-
inline constexpr GeometryIdentifier(Value encoded)
Construct from an already encoded value.
-
~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=(const GeometryIdentifier&) = default
-
GeometryIdentifier &operator=(GeometryIdentifier&&) = default
-
inline constexpr Value passive() const
Return the approach identifier.
-
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 &setPassive(Value approach)
Set the approach identifier - shared with Passive.
-
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.
Private Functions
-
inline constexpr GeometryIdentifier &setBits(Value mask, Value id)
Set the masked bits to id in the encoded value.
Private Static Functions
Private Static Attributes
-
static constexpr Value kPassiveMask = kApproachMask
Friends
- inline friend constexpr friend bool operator!= (GeometryIdentifier lhs, GeometryIdentifier rhs)
- inline friend constexpr friend bool operator< (GeometryIdentifier lhs, GeometryIdentifier rhs)
- inline friend constexpr friend bool operator== (GeometryIdentifier lhs, GeometryIdentifier rhs)
-
struct GeometryIdentifierHook
- #include <Acts/Geometry/GeometryIdentifier.hpp>
Base class for hooks that can be used to modify the Geometry Identifier during construction.
Most common use case is setting the extra bit fields.
Public Functions
-
virtual ~GeometryIdentifierHook() = default
-
virtual Acts::GeometryIdentifier decorateIdentifier(Acts::GeometryIdentifier identifier, const Acts::Surface &surface) const
-
virtual ~GeometryIdentifierHook() = default
-
std::ostream &operator<<(std::ostream &os, GeometryIdentifier id)