28 ParticleAbsorbed = (1 << 2),
29 Interacted = (1 << 3),
34 return static_cast<ProcessReturn>(
static_cast<int>(a) | static_cast<int>(b));
42 return static_cast<ProcessReturn>(
static_cast<int>(a) & static_cast<int>(b));
46 return (static_cast<int>(a) & static_cast<int>(b)) != 0;
50 return static_cast<int>(a & ProcessReturn::Ok);
54 return static_cast<int>(a & ProcessReturn::ParticleAbsorbed);
58 return static_cast<int>(a & ProcessReturn::Decayed);
62 return static_cast<int>(a & ProcessReturn::Interacted);
`, since they are used everywhere as integral part of the framework.
ProcessReturn
since in a process sequence many status updates can accumulate for a single particle, this enum should define only bit-flags that can be accumulated easily with "|="