Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // Geant4 class G4HadParticles 28 // 29 // Author V.Ivanchenko 09.05.2020 30 // 31 32 #include "G4HadParticles.hh" 33 34 const std::vector<G4int>& G4HadParticles::GetL 35 { 36 // p, n, pi+, pi- 37 static const std::vector<G4int> sLightHadron 38 2212, 2112, 211, -211 39 }; 40 return sLightHadrons; 41 } 42 43 const std::vector<G4int>& G4HadParticles::GetH 44 { 45 // Lambda, Sigma+, Sigma-, Xi0, Xi-, Omega- 46 // (note that Sigma0 has not been included b 47 static const std::vector<G4int> sHyperons = 48 3122, 3222, 3112, 3322, 3312, 3334 49 }; 50 return sHyperons; 51 } 52 53 const std::vector<G4int>& G4HadParticles::GetA 54 { 55 // anti_Lambda, anti_Sigma+, anti_Sigma-, an 56 // (note that anti_Sigma0 has not been inclu 57 static const std::vector<G4int> sAntiHyperon 58 -3122, -3222, -3112, -3322, -3312, -3334 59 }; 60 return sAntiHyperons; 61 } 62 63 const std::vector<G4int>& G4HadParticles::GetK 64 { 65 // K+, K-, KS, KL 66 static const std::vector<G4int> sKaons = { 67 321, -321, 310, 130 68 }; 69 return sKaons; 70 } 71 72 const std::vector<G4int>& G4HadParticles::GetB 73 { 74 // Note: etac, JPsi, SigmaC++, SigmaC+, Sigm 75 // SigmaB+, SigmaB0, SigmaB- are not i 76 // they decay very quickly (therefore, their 77 // interactions can be neglected, as for pi0 78 static const std::vector<G4int> sBCHadrons = 79 // D+, D0, D-, D0bar, Ds+, Ds- 80 411, 421, -411, -421, 431, -431, 81 // B+, B0, B-, B0bar, Bs0, Bs0bar, Bc+, Bc 82 521, 511, -521, -511, 531, -531, 541, -541 83 // LambdaC+, XiC+, XiC0, OmegaC0 84 4122, 4232, 4132, 4332, 85 // LambdaB, XiB0, XiB-, OmegaB- 86 5122, 5232, 5132, 5332, 87 // corresponding anti_baryons 88 -4122, -4232, -4132, -4332, 89 -5122, -5232, -5132, -5332 90 }; 91 return sBCHadrons; 92 } 93 94 const std::vector<G4int>& G4HadParticles::GetL 95 { 96 // d, t, He3, alpha 97 static const std::vector<G4int> sLightIons = 98 1000010020, 1000010030, 1000020030, 100002 99 }; 100 return sLightIons; 101 } 102 103 const std::vector<G4int>& G4HadParticles::GetL 104 { 105 // pbar, nbar, light anti-ions 106 static const std::vector<G4int> sLightAntiIo 107 -2212, -2112, -1000010020, -1000010030, -1 108 }; 109 return sLightAntiIons; 110 } 111 112 const std::vector<G4int>& G4HadParticles::GetH 113 { 114 // hyper_t, hyper_H4, hyper_He4, hyder_He5, 115 static const std::vector<G4int> sHyperNuclei 116 1010010030, 1010010040, 1010020040, 101002 117 }; 118 return sHyperNuclei; 119 } 120 121 const std::vector<G4int>& G4HadParticles::GetH 122 { 123 // anti-hyper-nuclei 124 static const std::vector<G4int> sHyperAntiNu 125 -1010010030, -1010010040, -1010020040, -10 126 }; 127 return sHyperAntiNuclei; 128 } 129 130 const std::vector<G4int>& G4HadParticles::GetH 131 { 132 // 133 // charged particles for EM physics 134 // 135 static const std::vector<G4int> sHeavyCharge 136 // Sigma+, Sigma-, Xi-, Omega-, anti_hyper 137 3222, 3112, 3312, 3334, -3222, -3112, -331 138 // light anti_ions 139 -1000010020, -1000010030, -1000020030, -10 140 // tau+- 141 15, -15 142 }; 143 return sHeavyChargedPart; 144 } 145 146 const std::vector<G4int>& G4HadParticles::GetB 147 { 148 static const std::vector<G4int> sBCChargedHa 149 // D+, D-, Ds+, Ds- 150 411, -411, 431, -431, 151 // B+, B-, Bc+, Bc-, 152 521, -521, 541, -541, 153 // LambdaC+, SigmaC++, SigmaC+, XiC+ 154 4122, 4222, 4212, 4232, 155 // SigmaB+, SigmaB-, XiB-, OmegaB- 156 5222, 5112, 5132, 5332, 157 // anti_baryons 158 -4122, -4222, -4212, -4232, -5222, -5112, 159 }; 160 return sBCChargedHadrons; 161 } 162 163 const std::vector<G4int>& G4HadParticles::GetC 164 { 165 // hyper_t 166 static const std::vector<G4int> sChargedHype 167 1010010030, 1010010040, 1010020040, 101 168 -1010010030, -1010010040, -1010020040, -10 169 }; 170 return sChargedHyperNuclei; 171 } 172