Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4HadParticles.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// Geant4 class G4HadParticles
28//
29// Author V.Ivanchenko 09.05.2020
30//
31
32#include "G4HadParticles.hh"
33
34// p, n, pi+, pi-
35const std::vector<G4int> G4HadParticles::sLightHadrons = {
36 2212, 2112, 211, -211
37};
38
39// Lambda, Sigma+, Sigma-, Xi0, Xi-, Omega-
40// (note that Sigma0 has not been included because it decays very quickly)
41const std::vector<G4int> G4HadParticles::sHyperons = {
42 3122, 3222, 3112, 3322, 3312, 3334
43};
44
45// anti_Lambda, anti_Sigma+, anti_Sigma-, anti_Xi0, anti_Xi-, anti_Omega-
46// (note that anti_Sigma0 has not been included because it decays very quickly)
47const std::vector<G4int> G4HadParticles::sAntiHyperons = {
48 -3122, -3222, -3112, -3322, -3312, -3334
49};
50
51// K+, K-, KS, KL
52const std::vector<G4int> G4HadParticles::sKaons = {
53 321, -321, 310, 130
54};
55
56// Note: etac, JPsi, SigmaC++, SigmaC+, SigmaC0, Upsilon,
57// SigmaB+, SigmaB0, SigmaB- are not included because
58// they decay very quickly (therefore, their hadronic
59// interactions can be neglected, as for pi0 and Sigma0).
60const std::vector<G4int> G4HadParticles::sBCHadrons = {
61 // D+, D0, D-, D0bar, Ds+, Ds-
62 411, 421, -411, -421, 431, -431,
63 // B+, B0, B-, B0bar, Bs0, Bs0bar, Bc+, Bc-,
64 521, 511, -521, -511, 531, -531, 541, -541,
65 // LambdaC+, XiC+, XiC0, OmegaC0
66 4122, 4232, 4132, 4332,
67 // LambdaB, XiB0, XiB-, OmegaB-
68 5122, 5232, 5132, 5332,
69 // corresponding anti_baryons
70 -4122, -4232, -4132, -4332,
71 -5122, -5232, -5132, -5332
72};
73
74// d, t, He3, alpha
75const std::vector<G4int> G4HadParticles::sLightIons = {
76 1000010020, 1000010030, 1000020030, 1000020040
77};
78
79// pbar, nbar, light anti-ions
80const std::vector<G4int> G4HadParticles::sLightAntiIons = {
81 -2212, -2112, -1000010020, -1000010030, -1000020030, -1000020040
82};
83
84// hyper_t, hyper_H4, hyper_He4, hyder_He5, 2-hyper-2n, 2-hyper_H4
85const std::vector<G4int> G4HadParticles::sHyperNuclei = {
86 1010010030, 1010010040, 1010020040, 1010020050, 1020000040, 1020010040
87};
88
89// anti-hyper-nuclei
90const std::vector<G4int> G4HadParticles::sHyperAntiNuclei = {
91 -1010010030, -1010010040, -1010020040, -1010020050, -1020000040, -1020010040
92};
93
94//
95// charged particles for EM physics
96//
97const std::vector<G4int> G4HadParticles::sHeavyChargedPart = {
98 // Sigma+, Sigma-, Xi-, Omega-, anti_hyperons
99 3222, 3112, 3312, 3334, -3222, -3112, -3312, -3334,
100 // light anti_ions
101 -1000010020, -1000010030, -1000020030, -1000020040,
102 // tau+-
103 15, -15
104};
105
106const std::vector<G4int> G4HadParticles::sBCChargedHadrons = {
107 // D+, D-, Ds+, Ds-
108 411, -411, 431, -431,
109 // B+, B-, Bc+, Bc-,
110 521, -521, 541, -541,
111 // LambdaC+, SigmaC++, SigmaC+, XiC+
112 4122, 4222, 4212, 4232,
113 // SigmaB+, SigmaB-, XiB-, OmegaB-
114 5222, 5112, 5132, 5332,
115 // anti_baryons
116 -4122, -4222, -4212, -4232, -5222, -5112, -5132, -5332
117};
118
119// hyper_t
120const std::vector<G4int> G4HadParticles::sChargedHyperNuclei = {
121 1010010030, 1010010040, 1010020040, 1010020050, 1020010040,
122 -1010010030, -1010010040, -1010020040, -1010020050, -1020010040
123};
124
125const std::vector<G4int>& G4HadParticles::GetLightHadrons()
126{
127 return sLightHadrons;
128}
129
130const std::vector<G4int>& G4HadParticles::GetHyperons()
131{
132 return sHyperons;
133}
134
135const std::vector<G4int>& G4HadParticles::GetAntiHyperons()
136{
137 return sAntiHyperons;
138}
139
140const std::vector<G4int>& G4HadParticles::GetKaons()
141{
142 return sKaons;
143}
144
145const std::vector<G4int>& G4HadParticles::GetBCHadrons()
146{
147 return sBCHadrons;
148}
149
150const std::vector<G4int>& G4HadParticles::GetLightIons()
151{
152 return sLightIons;
153}
154
155const std::vector<G4int>& G4HadParticles::GetLightAntiIons()
156{
157 return sLightAntiIons;
158}
159
160const std::vector<G4int>& G4HadParticles::GetHyperNuclei()
161{
162 return sHyperNuclei;
163}
164
165const std::vector<G4int>& G4HadParticles::GetHyperAntiNuclei()
166{
167 return sHyperAntiNuclei;
168}
169
171{
172 return sHeavyChargedPart;
173}
174
175const std::vector<G4int>& G4HadParticles::GetBCChargedHadrons()
176{
177 return sBCChargedHadrons;
178}
179
180const std::vector<G4int>& G4HadParticles::GetChargedHyperNuclei()
181{
182 return sChargedHyperNuclei;
183}
static const std::vector< G4int > & GetBCChargedHadrons()
static const std::vector< G4int > & GetBCHadrons()
static const std::vector< G4int > & GetHeavyChargedParticles()
static const std::vector< G4int > & GetAntiHyperons()
static const std::vector< G4int > & GetLightAntiIons()
static const std::vector< G4int > & GetHyperNuclei()
static const std::vector< G4int > & GetLightHadrons()
static const std::vector< G4int > & GetLightIons()
static const std::vector< G4int > & GetKaons()
static const std::vector< G4int > & GetHyperons()
static const std::vector< G4int > & GetHyperAntiNuclei()
static const std::vector< G4int > & GetChargedHyperNuclei()