Geant4 10.7.0
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// charged particles for EM physics
85const std::vector<G4int> G4HadParticles::sHeavyChargedPart = {
86 // Sigma+, Sigma-, Xi-, Omega-, anti_hyperons
87 3222, 3112, 3312, 3334, -3222, -3112, -3312, -3334,
88 // light anti_ions
89 -1000010020, -1000010030, -1000020030, -1000020040,
90 // tau+-
91 15, -15
92};
93
94const std::vector<G4int> G4HadParticles::sBCChargedHadrons = {
95 // D+, D-, Ds+, Ds-
96 411, -411, 431, -431,
97 // B+, B-, Bc+, Bc-,
98 521, -521, 541, -541,
99 // LambdaC+, SigmaC++, SigmaC+, XiC+
100 4122, 4222, 4212, 4232,
101 // SigmaB+, SigmaB-, XiB-, OmegaB-
102 5222, 5112, 5132, 5332,
103 // anti_baryons
104 -4122, -4222, -4212, -4232, -5222, -5112, -5132, -5332
105};
106
107const std::vector<G4int>& G4HadParticles::GetLightHadrons()
108{
109 return sLightHadrons;
110}
111
112const std::vector<G4int>& G4HadParticles::GetHyperons()
113{
114 return sHyperons;
115}
116
117const std::vector<G4int>& G4HadParticles::GetAntiHyperons()
118{
119 return sAntiHyperons;
120}
121
122const std::vector<G4int>& G4HadParticles::GetKaons()
123{
124 return sKaons;
125}
126
127const std::vector<G4int>& G4HadParticles::GetBCHadrons()
128{
129 return sBCHadrons;
130}
131
132const std::vector<G4int>& G4HadParticles::GetLightIons()
133{
134 return sLightIons;
135}
136
137const std::vector<G4int>& G4HadParticles::GetLightAntiIons()
138{
139 return sLightAntiIons;
140}
141
143{
144 return sHeavyChargedPart;
145}
146
147const std::vector<G4int>& G4HadParticles::GetBCChargedHadrons()
148{
149 return sBCChargedHadrons;
150}
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 > & GetLightHadrons()
static const std::vector< G4int > & GetLightIons()
static const std::vector< G4int > & GetKaons()
static const std::vector< G4int > & GetHyperons()