Geometry identifier

The Acts::GeometryIdentifier is mainly used for fast identification of the type of the geometry object (as most of them are either extensions or containers of the Acts::Surface objects) and for the identification of the geometry surfaces after building, e.g. for the uploading/assigning of material to the surface after creation. The Acts::GeometryIdentifier uses a simple masking procedure for applying an identification schema.

While it is used in ACTS-internal applications such as material mapping, it is not employed for EventData and Geometry identification in an experiment setup. Instead, one should define and use the Identifier class in the latter case.

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)

Private Static Attributes

static constexpr Value kApproachMask = 0x0000000ff0000000

(2^8)-1 = 255 approach surfaces

static constexpr Value kBoundaryMask = 0x00ff000000000000

(2^8)-1 = 255 boundaries

static constexpr Value kExtraMask = 0x00000000000000ff

(2^8)-1 = 255 extra values

static constexpr Value kLayerMask = 0x0000fff000000000

(2^12)-1 = 4095 layers

static constexpr Value kSensitiveMask = 0x000000000fffff00

(2^20)-1 = 1048575 sensitive surfaces

static constexpr Value kVolumeMask = 0xff00000000000000

(2^8)-1 = 255 volumes