Back to home page

sPhenix code displayed by LXR

 
 

    


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 /// physics process codes (taken from VMC )
0011 enum PHG4MCProcess : uint8_t
0012 {
0013   kPPrimary = 0,  ///< Primary interaction
0014 
0015   kPMultipleScattering = 1,   ///< multiple scattering
0016   kPCoulombScattering = 45,   ///< single Coulomb scattering
0017   kPEnergyLoss = 2,           ///< continuous energy loss
0018   kPMagneticFieldL = 3,       ///< bending in mag. field
0019   kPDecay = 4,                ///< particle decay
0020   kPPair = 5,                 ///< photon pair production or
0021                               ///< muon direct pair production
0022   kPCompton = 6,              ///< Compton scattering
0023   kPPhotoelectric = 7,        ///< photoelectric effect
0024   kPBrem = 8,                 ///< bremsstrahlung
0025   kPDeltaRay = 9,             ///< delta-ray production
0026   kPAnnihilation = 10,        ///< positron annihilation
0027   kPAnnihilationRest = 11,    ///< positron annihilation at rest
0028   kPAnnihilationFlight = 12,  ///< positron annihilation in flight
0029 
0030   kPHadronic = 13,           ///< hadronic interaction
0031   kPEvaporation = 14,        ///< nuclear evaporation
0032   kPNuclearFission = 15,     ///< nuclear fission
0033   kPNuclearAbsorption = 16,  ///< nuclear absorption
0034   kPPbarAnnihilation = 17,   ///< antiproton annihilation
0035   kPNbarAnnihilation = 18,   ///< antineutron annihilation
0036   kPNCapture = 19,           ///< neutron capture
0037   kPHElastic = 20,           ///< hadronic elastic scattering
0038   kPHIElastic = 21,          ///< hadronic elastic incoherent scattering
0039   kPHCElastic = 22,          ///< hadronic elastic coherent scattering
0040   kPHInhelastic = 23,        ///< hadronic inelastic scattering
0041   kPPhotonInhelastic = 24,   ///< photon inelastic scattering
0042 
0043   kPMuonNuclear = 25,      ///< muon nuclear interaction
0044   kPElectronNuclear = 26,  ///< electron nuclear interaction
0045   kPPositronNuclear = 27,  ///< positron nuclear interaction
0046   kPPhotoNuclear = 46,     ///< photo nuclear interaction
0047 
0048   kPTOFlimit = 28,      ///< exceeded time of flight cut
0049   kPPhotoFission = 29,  ///< nuclear photofission
0050 
0051   kPRayleigh = 30,  ///< Rayleigh scattering
0052 
0053   kPNull = 31,  ///< no mechanism is active, usually at the entrance
0054                 ///< of a new volume
0055   kPStop = 32,  ///< particle has fallen below energy threshold
0056                 ///< and tracking stops
0057 
0058   kPLightAbsorption = 33,  ///< Cerenkov photon absorption
0059   kPLightDetection = 34,   ///< Optical photon detection (absorption + photoelectron production)
0060   kPLightScattering = 35,  ///< Cerenkov photon reflection/refraction
0061   kPLightWLShifting = 48,  ///< Optical photon wavelength shifting
0062   kStepMax = 36,           ///< step limited by STEMAX
0063 
0064   kPCerenkov = 37,             ///< Cerenkov photon generation
0065   kPFeedBackPhoton = 38,       ///< Feed back photon in RICH -- ALICE specific
0066   kPLightReflection = 39,      ///< Cerenkov photon reflection
0067   kPLightRefraction = 40,      ///< Cerenkov photon refraction or
0068                                /// dichroic mirror transmission
0069   kPSynchrotron = 41,          ///< synchrotron radiation generation
0070   kPScintillation = 42,        ///< scintillation
0071   kPTransitionRadiation = 49,  ///< transition radiation
0072 
0073   kPTransportation = 43,  ///< Transportation
0074   kPUserDefined = 47,     ///< User defined process
0075 
0076   kPNoProcess = 44  ///< unknown process
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  //  G4MAIN_PHG4MCPROCESSDEFS_H