ghit
Loading...
Searching...
No Matches
ghitConventions.h
Go to the documentation of this file.
1#pragma once
2
3// c++
4#include <bitset>
5
23// number of bits that defines a ghit.
24constexpr size_t NHITBITS = 6;
25
32using HitBitSet = std::bitset<NHITBITS>;
33
34// -----------------------------------------------------------------------------
35// HitBitSet conventions
36// -----------------------------------------------------------------------------
37//
38// Setting a bit enables recording of the corresponding optional information.
39// The current implementation fills only a subset of these planned fields.
40//
41// Bit 0 (mask 000001):
42// - Per-step particle IDs (PDG encoding)
43// - Per-step total energies (Es)
44// - Per-step creator process names (when available)
45//
46// Bit 1 (mask 000010) [planned]:
47// - Step length
48// - Track information (momentum, total energy, vertex, pid, track id)
49//
50// Bit 2 (mask 000100) [planned]:
51// - Mother particle track information
52//
53// Bit 3 (mask 001000) [planned]:
54// - Meta information (e.g. magnetic field sampling, process IDs)
55// - Process ID/name that created the particle
56//
57// Bit 4 (mask 010000) [planned]:
58// - Optical-photon-specific information (wavelength, momentum, vertex, track id)
59//
60// Bit 5 (mask 100000) [reserved]:
61// - Reserved for future use; keep stable for backward compatibility.
62//
constexpr size_t NHITBITS
std::bitset< NHITBITS > HitBitSet
Bitset selecting which optional hit information is recorded.