File indexing completed on 2025-08-06 08:19:22
0001 #ifndef G4MAIN_PHG4MCPROCESSDEFS_H
0002 #define G4MAIN_PHG4MCPROCESSDEFS_H
0003
0004 #include <array>
0005 #include <cstdint>
0006 #include <string_view>
0007
0008 const int kMaxMCProcess = 50;
0009
0010
0011 enum PHG4MCProcess : uint8_t
0012 {
0013 kPPrimary = 0,
0014
0015 kPMultipleScattering = 1,
0016 kPCoulombScattering = 45,
0017 kPEnergyLoss = 2,
0018 kPMagneticFieldL = 3,
0019 kPDecay = 4,
0020 kPPair = 5,
0021
0022 kPCompton = 6,
0023 kPPhotoelectric = 7,
0024 kPBrem = 8,
0025 kPDeltaRay = 9,
0026 kPAnnihilation = 10,
0027 kPAnnihilationRest = 11,
0028 kPAnnihilationFlight = 12,
0029
0030 kPHadronic = 13,
0031 kPEvaporation = 14,
0032 kPNuclearFission = 15,
0033 kPNuclearAbsorption = 16,
0034 kPPbarAnnihilation = 17,
0035 kPNbarAnnihilation = 18,
0036 kPNCapture = 19,
0037 kPHElastic = 20,
0038 kPHIElastic = 21,
0039 kPHCElastic = 22,
0040 kPHInhelastic = 23,
0041 kPPhotonInhelastic = 24,
0042
0043 kPMuonNuclear = 25,
0044 kPElectronNuclear = 26,
0045 kPPositronNuclear = 27,
0046 kPPhotoNuclear = 46,
0047
0048 kPTOFlimit = 28,
0049 kPPhotoFission = 29,
0050
0051 kPRayleigh = 30,
0052
0053 kPNull = 31,
0054
0055 kPStop = 32,
0056
0057
0058 kPLightAbsorption = 33,
0059 kPLightDetection = 34,
0060 kPLightScattering = 35,
0061 kPLightWLShifting = 48,
0062 kStepMax = 36,
0063
0064 kPCerenkov = 37,
0065 kPFeedBackPhoton = 38,
0066 kPLightReflection = 39,
0067 kPLightRefraction = 40,
0068
0069 kPSynchrotron = 41,
0070 kPScintillation = 42,
0071 kPTransitionRadiation = 49,
0072
0073 kPTransportation = 43,
0074 kPUserDefined = 47,
0075
0076 kPNoProcess = 44
0077 };
0078
0079 static const std::array<std::string_view, kMaxMCProcess> PHG4MCProcessName =
0080 {
0081 {"Primary particle emission",
0082 "Multiple scattering",
0083 "Energy loss",
0084 "Bending in magnetic field",
0085 "Decay",
0086 "Lepton pair production",
0087 "Compton scattering",
0088 "Photoelectric effect",
0089 "Bremstrahlung",
0090 "Delta ray",
0091 "Positron annihilation",
0092 "Positron annihilation at rest",
0093 "Positron annihilation in flight",
0094 "Hadronic interaction",
0095 "Nuclear evaporation",
0096 "Nuclear fission",
0097 "Nuclear absorbtion",
0098 "Antiproton annihilation",
0099 "Antineutron annihilation",
0100 "Neutron capture",
0101 "Hadronic elastic",
0102 "Hadronic incoherent elastic",
0103 "Hadronic coherent elastic",
0104 "Hadronic inelastic",
0105 "Photon inelastic",
0106 "Muon nuclear interaction",
0107 "Electron nuclear interaction",
0108 "Positron nuclear interaction",
0109 "Time of flight limit",
0110 "Nuclear photofission",
0111 "Rayleigh effect",
0112 "No active process",
0113 "Energy threshold",
0114 "Light absorption",
0115 "Light detection",
0116 "Light scattering",
0117 "Maximum allowed step",
0118 "Cerenkov production",
0119 "Cerenkov feed back photon",
0120 "Cerenkov photon reflection",
0121 "Cerenkov photon refraction",
0122 "Synchrotron radiation",
0123 "Scintillation",
0124 "Transportation",
0125 "Unknown process",
0126 "Coulomb scattering",
0127 "Photo nuclear interaction",
0128 "User defined process",
0129 "Optical photon wavelength shifting",
0130 "Transition radiation"}};
0131
0132 #endif