Geant4-11
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 > sBCChargedHadrons
static const std::vector< G4int > sBCHadrons
static const std::vector< G4int > & GetHeavyChargedParticles()
static const std::vector< G4int > sLightAntiIons
static const std::vector< G4int > & GetAntiHyperons()
static const std::vector< G4int > sLightIons
static const std::vector< G4int > & GetLightAntiIons()
static const std::vector< G4int > sHyperAntiNuclei
static const std::vector< G4int > sAntiHyperons
static const std::vector< G4int > & GetHyperNuclei()
static const std::vector< G4int > & GetLightHadrons()
static const std::vector< G4int > & GetLightIons()
static const std::vector< G4int > sKaons
static const std::vector< G4int > sHyperons
static const std::vector< G4int > sChargedHyperNuclei
static const std::vector< G4int > sHyperNuclei
static const std::vector< G4int > & GetKaons()
static const std::vector< G4int > sHeavyChargedPart
static const std::vector< G4int > & GetHyperons()
static const std::vector< G4int > & GetHyperAntiNuclei()
static const std::vector< G4int > sLightHadrons
static const std::vector< G4int > & GetChargedHyperNuclei()