Skip to content

GeometryID bit allocation

GeometryID allows max 255 layers per volume. In my current implementation of the TRT geometry, this causes the layer index to overflow. I want to reduce the number of bits for the boundary surfaces from 8 to 4, and increasing the number of bits for layers from 8 to 12.

The new bit masks are:

constexpr static geo_id_value volume_mask    = 0xff00000000000000; // 256 volumes
constexpr static geo_id_value boundary_mask  = 0x00f0000000000000; // 15 boundaries
constexpr static geo_id_value layer_mask     = 0x000fff0000000000; // 4095 layers
constexpr static geo_id_value approach_mask  = 0x000000f000000000; // 15 approach surfaces
constexpr static geo_id_value sensitive_mask = 0x0000000ffff00000; // 65535 sensitive surfaces
constexpr static geo_id_value channel_mask   = 0x00000000000fffff; // 1048575 channels

Closes ACTS-528

Merge request reports