Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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()