Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4CascadeXiZeroNChannel.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// $Id$
27//
28// 20100804 M. Kelsey -- Add name string to ctor
29// 20110719 M. Kelsey -- Add initial state code to ctor
30// 20110725 M. Kelsey -- Instantiate cross-section object for self-registration
31// 20110916 M. Kelsey -- Drop self-registration due to platform inconsistencies
32
35using namespace G4InuclParticleNames;
36
37namespace {
38 // Outgoing particle types of a given multiplicity
39
40 static const G4int x0n2bfs[6][2] =
41 {{2,29}, {1,31}, {21,21}, {21,25}, {25,25}, {23,27}};
42
43 static const G4int x0n3bfs[24][3] =
44 {{1,13,21}, {1,13,25}, {1,17,27}, {1,5,29}, {1,7,31}, {2,17,21},
45 {2,17,25}, {2,13,23}, {2,7,29}, {2,3,31}, {7,21,21}, {7,21,25},
46 {5,21,23}, {3,21,27}, {15,21,29},{11,21,31}, {5,23,25}, {7,23,27},
47 {15,23,31}, {7,25,25}, {3,25,27}, {15,25,29}, {11,25,31}, {11,27,29}};
48
49 static const G4int x0n4bfs[4][4] =
50 {{1,7,13,21}, {2,7,17,21}, {1,3,5,31}, {2,3,5,29}};
51
52 static const G4int x0n5bfs[4][5] =
53 {{1,3,5,13,21}, {2,3,5,17,21}, {1,3,5,7,31}, {2,3,5,7,29}};
54
55 static const G4int x0n6bfs[4][6] =
56 {{1,3,5,7,13,21}, {2,3,5,7,17,21}, {1,3,3,5,5,31}, {2,3,3,5,5,29}};
57
58 static const G4int x0n7bfs[4][7] =
59 {{1,3,3,5,5,13,21}, {2,3,3,5,5,17,21}, {1,3,3,5,5,7,31}, {2,3,3,5,5,7,29}};
60
61 // Cross sections for X0 n -> 2-7 body final states
62 //
63 // first index: 0-5: channels for mult = 2
64 // 6-29: channels for mult = 3
65 // 30-33: channels for mult = 4
66 // 34-37: channels for mult = 5
67 // 38-41: channels for mult = 6
68 // 42-45: channels for mult = 7
69 //
70 // second index: kinetic energy
71 //
72 static const G4double x0nCrossSections[46][31] = {
73 //
74 // multiplicity 2 (6 channels)
75 //
76 // X0 n
77 {11.00,10.50,10.00, 9.50, 9.00, 8.50, 8.30, 8.00, 7.70, 7.50,
78 7.20, 4.00, 3.50, 3.00, 2.50, 2.30, 2.00, 1.70, 1.50, 1.35,
79 1.25, 1.10, 1.00, 0.90, 0.80, 0.70, 0.60, 0.55, 0.50, 0.45, 0.35},
80
81 // X- p
82 {22.00,20.00,18.00,16.00,15.00,14.00,13.00,12.00,11.00,10.00,
83 9.00, 6.00, 5.50, 5.00, 4.50, 4.00, 3.70, 3.30, 3.00, 2.70,
84 2.50, 2.20, 2.00, 1.80, 1.60, 1.40, 1.20, 1.10, 1.00, 0.90, 0.70},
85
86 // L L
87 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
88 0.50, 2.00, 2.30, 2.50, 2.80, 2.50, 2.20, 2.00, 1.70, 1.50,
89 1.40, 1.30, 1.20, 1.10, 1.00, 0.90, 0.80, 0.70, 0.60, 0.50, 0.30},
90
91 // L S0
92 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
93 0.50, 2.00, 2.30, 2.50, 2.80, 2.50, 2.20, 2.00, 1.70, 1.50,
94 1.40, 1.30, 1.20, 1.10, 1.00, 0.90, 0.80, 0.70, 0.60, 0.50, 0.30},
95
96 // S0 S0
97 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
98 0.50, 2.00, 2.30, 2.50, 2.80, 2.50, 2.20, 2.00, 1.70, 1.50,
99 1.40, 1.30, 1.20, 1.10, 1.00, 0.90, 0.80, 0.70, 0.60, 0.50, 0.30},
100
101 // S+ S-
102 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
103 0.50, 2.00, 2.30, 2.50, 2.80, 2.50, 2.20, 2.00, 1.70, 1.50,
104 1.40, 1.30, 1.20, 1.10, 1.00, 0.90, 0.80, 0.70, 0.60, 0.50, 0.30},
105
106 //
107 // multiplicity 3 (24 channels)
108 //
109 // p L K-
110 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
111 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
112 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
113
114 // p S0 K-
115 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
116 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
117 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
118
119 // p S- K0bar
120 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
121 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
122 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
123
124 // p X0 pi-
125 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
126 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
127 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
128
129 // p X- pi0
130 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
131 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
132 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
133
134 // n L K0bar
135 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
136 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
137 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
138
139 // n S0 K0bar
140 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
141 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
142 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
143
144 // n S+ K-
145 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
146 0.10, 0.50, 0.60, 0.67, 0.73, 0.90, 0.90, 0.80, 0.70, 0.60,
147 0.50, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.12, 0.10, 0.05},
148
149 // n X0 pi0
150 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
151 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
152 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
153
154 // n X- pi+
155 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
156 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
157 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
158
159 // L L pi0
160 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
161 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
162 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
163
164 // L S0 pi0
165 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
166 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
167 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
168
169 // L S+ pi-
170 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
171 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
172 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
173
174 // L S- pi+
175 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
176 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
177 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
178
179 // L X0 K0
180 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
181 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
182 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
183
184 // L X- K+
185 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
186 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
187 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
188
189 // S+ S0 pi-
190 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
191 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
192 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
193
194 // S+ S- pi0
195 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
196 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
197 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
198
199 // S+ X- K0
200 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
201 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
202 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
203
204 // S0 S0 pi0
205 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
206 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
207 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
208
209 // S0 S- pi+
210 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
211 0.05, 0.25, 0.27, 0.33, 0.37, 0.45, 0.45, 0.40, 0.35, 0.30,
212 0.25, 0.22, 0.20, 0.18, 0.15, 0.13, 0.10, 0.08, 0.06, 0.05, 0.03},
213
214 // S0 X0 K0
215 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
216 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
217 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
218
219 // S0 X- K+
220 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
221 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
222 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
223
224 // S- X0 K+
225 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
226 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.01, 0.02, 0.02, 0.03,
227 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02},
228
229 //
230 // multiplicity 4 (4 channels)
231 //
232 // p L K- pi0
233 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
234 0.0, 0.0, 0.07, 0.15, 0.30, 0.35, 0.38, 0.40, 0.43, 0.45,
235 0.47, 0.50, 0.53, 0.50, 0.47, 0.43, 0.37, 0.30, 0.25, 0.20, 0.05},
236
237 // n L K0bar pi0
238 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
239 0.0, 0.0, 0.07, 0.15, 0.30, 0.35, 0.38, 0.40, 0.43, 0.45,
240 0.47, 0.50, 0.53, 0.50, 0.47, 0.43, 0.37, 0.30, 0.25, 0.20, 0.05},
241
242 // p X- pi+ pi-
243 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
244 0.0, 0.0, 0.03, 0.07, 0.13, 0.15, 0.17, 0.20, 0.22, 0.23,
245 0.24, 0.25, 0.26, 0.25, 0.24, 0.23, 0.22, 0.20, 0.17, 0.15, 0.05},
246
247 // n X0 pi+ pi-
248 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
249 0.0, 0.0, 0.03, 0.07, 0.13, 0.15, 0.17, 0.20, 0.22, 0.23,
250 0.24, 0.25, 0.26, 0.25, 0.24, 0.23, 0.22, 0.20, 0.17, 0.15, 0.05},
251
252 //
253 // multiplicity 5 (4 channels)
254 //
255 // p L K- pi+ pi-
256 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
257 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.10, 0.15, 0.17,
258 0.19, 0.21, 0.23, 0.25, 0.27, 0.27, 0.25, 0.23, 0.21, 0.19, 0.15},
259
260 // n L K0bar pi+ pi-
261 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
262 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.10, 0.15, 0.17,
263 0.19, 0.21, 0.23, 0.25, 0.27, 0.27, 0.25, 0.23, 0.21, 0.19, 0.15},
264
265 // p X- pi+ pi- pi0
266 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
267 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.05, 0.07, 0.08,
268 0.09, 0.10, 0.11, 0.12, 0.13, 0.13, 0.12, 0.11, 0.10, 0.09, 0.07},
269
270 // n X0 pi+ pi- pi0
271 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
272 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.05, 0.07, 0.08,
273 0.09, 0.10, 0.11, 0.12, 0.13, 0.13, 0.12, 0.11, 0.10, 0.09, 0.07},
274
275 //
276 // multiplicity 6 (4 channels)
277 //
278 // p L K- pi+ pi- pi0
279 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
280 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01,
281 0.05, 0.10, 0.15, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.22, 0.21},
282
283 // n L K0bar pi+ pi- pi0
284 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
285 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01,
286 0.05, 0.10, 0.15, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.22, 0.21},
287
288 // p X- 2pi+ 2pi-
289 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
290 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
291 0.02, 0.05, 0.07, 0.08, 0.09, 0.09, 0.10, 0.10, 0.11, 0.11, 0.10},
292
293 // n X0 2pi+ 2pi-
294 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
295 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
296 0.02, 0.05, 0.07, 0.08, 0.09, 0.09, 0.10, 0.10, 0.11, 0.11, 0.10},
297
298 //
299 // multiplicity 7 (4 channels)
300 //
301 // p L K- 2pi+ 2pi-
302 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
303 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00, 0.0, 0.0, 0.0,
304 0.01, 0.01, 0.01, 0.02, 0.02, 0.03, 0.03, 0.04, 0.04, 0.05, 0.05},
305
306 // n L K0bar 2pi+ 2pi-
307 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
308 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00, 0.0, 0.0, 0.0,
309 0.01, 0.01, 0.01, 0.02, 0.02, 0.03, 0.03, 0.04, 0.04, 0.05, 0.05},
310
311 // p X- 2pi+ 2pi- pi0
312 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
313 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00, 0.0, 0.0, 0.0,
314 0.0, 0.0, 0.0, 0.01, 0.01, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02},
315
316 // n X0 2pi+ 2pi- pi0
317 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
318 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00, 0.0, 0.0, 0.0,
319 0.0, 0.0, 0.0, 0.01, 0.01, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02}};
320
321}
322
324G4CascadeXiZeroNChannelData::data(x0n2bfs, x0n3bfs, x0n4bfs,
325 x0n5bfs, x0n6bfs, x0n7bfs,
326 x0nCrossSections, xi0*neu, "XiZeroN");
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66