Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4CascadeNNChannel.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// 20100804 M. Kelsey -- Add name string to ctor
27// 20110719 M. Kelsey -- Add initial state code to ctor
28// 20110720 M. Kelsey -- Bugs in the very last 9-body final state for pp and nn
29// 20110725 M. Kelsey -- Instantiate cross-section object for self-registration
30// 20110916 M. Kelsey -- Drop self-registration due to platform inconsistencies
31// 20120831 M. Kelsey -- Replace T1NNChannel with separate pp and nn files.
32
33#include "G4CascadeNNChannel.hh"
35using namespace G4InuclParticleNames;
36
37namespace {
38 // n n : Outgoing particle types of a given multiplicity
39 static const G4int nn2bfs[1][2] =
40 {{neu,neu}};
41
42 static const G4int nn3bfs[6][3] =
43 {{neu,neu,pi0}, {pro,neu,pim}, {neu,lam,k0},
44 {neu,s0,k0}, {neu,sm,kpl}, {pro,sm,k0}};
45
46 static const G4int nn4bfs[18][4] =
47 {{neu,neu,pip,pim}, {pro,neu,pim,pi0},{neu,neu,pi0,pi0},
48 {pro,pro,pim,pim}, {neu,lam,k0,pi0}, {neu,lam,kpl,pim},
49 {pro,lam,k0,pim}, {pro,s0,k0,pim}, {neu,s0,k0,pi0},
50 {neu,s0,kpl,pim}, {neu,sp,k0,pim}, {neu,sm,kpl,pi0},
51 {pro,sm,kpl,pim}, {neu,sm,k0,pip}, {pro,sm,k0,pi0},
52 {neu,neu,kpl,kmi}, {neu,neu,k0,k0b}, {pro,neu,k0,kmi}};
53
54 static const G4int nn5bfs[32][5] =
59 {neu,sm,kpl,pi0,pi0}, {neu,sm,k0,pip,pi0}, {neu,sp,k0,pim,pi0},
62 {pro,sm,k0,pip,pim}, {pro,sm,k0,pi0,pi0}, {pro,sp,k0,pim,pim},
65 {pro,neu,pi0,k0,kmi}, {pro,pro,pim,k0,kmi}};
66
67 static const G4int nn6bfs[7][6] =
71 {pro,pro,pim,pim,pi0,pi0}};
72
73 static const G4int nn7bfs[8][7] =
78
79 static const G4int nn8bfs[10][8] =
85
86 static const G4int nn9bfs[11][9] =
93}
94
95namespace {
96 // Total n n cross sections as a function of kinetic energy
97 static const G4double nnTotXSec[30] =
98 // Stepanov cross sections below 400 MeV
99 {17613.0, 863.3, 674.6, 495.2, 376.0, 285.4, 205.8, 135.7, 93.7, 69.1,
100 55.2, 44.5, 38.8, 35.1, 33.0, 32.0, 44.0, 47.04, 44.86, 46.03,
101 44.09, 41.81, 41.17, 40.65, 40.15, 40.18, 39.26, 38.36, 38.39, 38.41};
102
103 static const G4double nnCrossSections[93][30] = {
104 //
105 // multiplicity 2 (1 channel)
106 //
107 // n n
108 // Stepanov cross sections below 400 MeV
109 {17613.0, 863.3, 674.6, 495.2, 376.0, 285.4, 205.8, 135.7, 93.7, 69.1,
110 55.2, 44.5, 38.8, 35.1, 32.3, 26.1, 25.0, 23.5, 21.0, 18.0,
111 16.0, 14.3, 12.5, 11.2, 10.3, 9.6, 9.0, 8.5, 8.0, 7.7 },
112 //
113 // multiplicity 3 (6 channels)
114 //
115 // n n pi0
116 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
117 0.0, 0.0, 0.0, 0.0, 0.0, 1.4, 4.0, 4.3, 4.0, 4.0,
118 3.6, 3.0, 2.8, 2.5, 1.7, 1.3, 1.1, 1.0, 0.9, 0.85 },
119
120 // p n pi-
121 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
122 0.0, 0.0, 0.0, 0.0, 0.7, 4.5, 15.0, 19.1, 18.0, 16.0,
123 13.0, 10.0, 8.2, 6.0, 4.3, 3.3, 2.6, 2.0, 1.65, 1.4 },
124
125 // n L K0
126 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
127 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01,
128 0.03, 0.06, 0.06, 0.06, 0.05, 0.05, 0.04 ,0.04, 0.04, 0.03 },
129
130 // n S0 K0
131 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
132 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
133 0.01, 0.02, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
134
135 // n S- K+
136 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
137 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
138 0.01, 0.02, 0.03, 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02 },
139
140 // p S- K0
141 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
142 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
143 0.02, 0.06, 0.07, 0.06, 0.05, 0.04, 0.03, 0.03, 0.02, 0.02 },
144 //
145 // multiplicity 4 (18 channels)
146 //
147 // n n pi+ pi-
148 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
149 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.6, 1.9,
150 2.8, 3.0, 3.0, 2.8, 2.5, 2.1, 1.9, 1.6, 1.4, 1.2 },
151
152 // p n pi- pi0
153 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
154 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.6, 3.5,
155 4.0, 3.9, 3.5, 3.1, 2.8, 2.4, 2.2, 1.9, 1.7, 1.5 },
156
157 // n n pi0 pi0
158 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
159 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.24, 0.76,
160 1.1, 1.2, 1.2, 1.1, 1.0, 0.84, 0.76, 0.64, 0.56, 0.48 },
161
162 // p p pi- pi-
163 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
164 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.24, 1.4,
165 1.6, 1.6, 1.4, 1.2, 1.1, 1.0, 0.88, 0.76, 0.68, 0.6 },
166
167 // L K0 n pi0
168 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
169 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
170 0.0, 0.02, 0.05, 0.06, 0.05, 0.04, 0.04, 0.03, 0.03, 0.02 },
171
172 // L K+ n pi-
173 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
174 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
175 0.0, 0.02, 0.06, 0.09, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 },
176
177 // L K0 p pi-
178 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
179 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
180 0.0, 0.01, 0.04, 0.08, 0.07, 0.06, 0.05, 0.04, 0.03, 0.03 },
181
182 // S0 K0 p pi-
183 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
184 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
185 0.0, 0.0, 0.02, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01 },
186
187 // S0 K0 n pi0
188 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
189 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
190 0.0, 0.01, 0.02, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01,0.01 },
191
192 // S0 K+ n pi-
193 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
194 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
195 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.02 },
196
197 // S+ K0 n pi-
198 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
199 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
200 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01 },
201
202 // S- K+ n pi0
203 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
204 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
205 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
206
207 // S- K+ p pi-
208 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
209 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
210 0.0, 0.0, 0.01, 0.04, 0.05, 0.04, 0.04, 0.03, 0.03, 0.02 },
211
212 // S- K0 n pi+
213 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
214 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
215 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.01 },
216
217 // S- K0 p pi0
218 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
219 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
220 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.01 },
221
222 // n n K+ K-
223 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
224 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
225 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
226
227 // n n K0 K0bar
228 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
229 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
230 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
231
232 // p n K0 K-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
235 0.0, 0.0, 0.01, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
236 //
237 // multiplicity 5 (32 channels)
238 //
239 // n n pi+ pi- pi0
240 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
241 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.06,
242 0.4, 1.1, 1.8, 2.4, 2.4, 2.2, 2.0, 1.7, 1.5, 1.3 },
243
244 // n n pi0 pi0 pi0
245 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
246 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02,
247 0.12, 0.33, 0.54, 0.72, 0.72, 0.66, 0.6, 0.51, 0.45, 0.39 },
248
249 // p n pi+ pi- pi-
250 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
251 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12, 0.26,
252 0.7, 1.6, 2.4, 2.6, 2.3, 2.0, 1.8, 1.6, 1.4, 1.2 },
253
254 // p n pi- pi0 pi0
255 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
256 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.08,
257 0.21, 0.48, 0.72, 0.78, 0.69, 0.6, 0.54, 0.48, 0.42, 0.36 },
258
259 // p p pi- pi- pi0
260 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
261 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.04,
262 0.24, 0.66, 1.08, 1.44, 1.44, 1.32, 1.2, 1.0, 0.9, 0.78 },
263
264 // n L K0 pi+ pi-
265 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
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.01, 0.04, 0.05, 0.04, 0.04, 0.03, 0.02 },
268
269 // n L K0 pi0 pi0
270 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
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.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.01 },
273
274 // n L K+ pi- pi0
275 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
276 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
277 0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.04, 0.03, 0.03, 0.02 },
278
279 // n S0 K0 pi+ pi-
280 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
281 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
282 0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
283
284 // n S0 K0 pi0 pi0
285 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
286 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
287 0.0, 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.01, 0.01, 0.01 },
288
289 // n S0 K+ pi- pi0
290 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
291 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
292 0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
293
294 // n S- K+ pi+ pi-
295 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
296 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
297 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
298
299 // n S- K+ pi0 pi0
300 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
301 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
302 0.0, 0.0, 0.0, 0.0, 0.01, 0.02, 0.01, 0.01, 0.01, 0.01 },
303
304 // n S- K0 pi+ pi0
305 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
306 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
307 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
308
309 // n S+ K0 pi- pi0
310 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
311 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
312 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
313
314 // n S+ K+ pi- pi-
315 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
316 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
317 0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
318
319 // p L K0 pi- pi0
320 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
321 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
322 0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
323
324 // p L K+ pi- pi-
325 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
326 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
327 0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
328
329 // p S0 K0 pi- pi0
330 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
331 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
332 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
333
334 // p S0 K+ pi- pi-
335 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
336 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
337 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
338
339 // p S- K+ pi- pi0
340 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
341 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
342 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
343
344 // p S- K0 pi+ pi-
345 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
346 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
347 0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
348
349 // p S- K0 pi0 pi0
350 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
351 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
352 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
353
354 // p S+ K0 pi- pi-
355 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
356 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
357 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
358
359 // n n pi- K+ K0bar
360 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
361 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
362 0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.04, 0.04, 0.03 },
363
364 // n n pi+ K0 K-
365 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
366 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
367 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
368
369 // n n pi0 K+ K-
370 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
371 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
372 0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.04, 0.03 },
373
374 // n n pi0 K0 K0bar
375 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
376 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
377 0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.04, 0.03 },
378
379 // p n pi- K+ K-
380 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
381 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
382 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.03, 0.02, 0.02 },
383
384 // p n pi- K0 K0bar
385 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
386 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
387 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.03, 0.02, 0.02 },
388
389 // p n pi0 K0 K-
390 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
391 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
392 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
393
394 // p p pi- K0 K-
395 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
396 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
397 0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
398 //
399 // multiplicity 6 (7 channels)
400 //
401 // n n pi+ pi+ pi- pi-
402 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
403 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
404 0.06, 0.1, 0.18, 0.38, 0.49, 0.46, 0.43, 0.40, 0.38, 0.36 },
405
406 // n n pi+ pi- pi0 pi0
407 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
408 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
409 0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
410
411 // n n pi0 pi0 pi0 pi0
412 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
413 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
414 0.01, 0.02, 0.05, 0.1, 0.13, 0.12, 0.11, 0.1, 0.1, 0.09 },
415
416 // p n pi+ pi- pi- pi0
417 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
418 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
419 0.06, 0.1, 0.18, 0.38, 0.49, 0.46, 0.43, 0.40, 0.38, 0.36 },
420
421 // p n pi- pi0 pi0 pi0
422 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
423 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
424 0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
425
426 // p p pi+ pi- pi- pi-
427 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
428 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
429 0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
430
431 // p p pi- pi- pi0 pi0
432 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
433 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
434 0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
435 //
436 // multiplicity 7 (8 channels)
437 //
438 // n n pi+ pi+ pi- pi- pi0
439 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
440 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
441 0.0, 0.0, 0.06, 0.17, 0.5, 0.7, 0.7, 0.69, 0.66, 0.62 },
442
443 // n n pi+ pi- pi0 pi0 pi0
444 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
445 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
446 0.0, 0.0, 0.04, 0.1, 0.30, 0.42, 0.42, 0.42, 0.40, 0.37 },
447
448 // n n pi0 pi0 pi0 pi0 pi0
449 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
450 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
451 0.0, 0.0, 0.02, 0.05, 0.14, 0.20, 0.22, 0.20, 0.19, 0.18 },
452
453 // p n pi+ pi+ pi- pi- pi-
454 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
455 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
456 0.0, 0.0, 0.06, 0.19, 0.31, 0.41, 0.44, 0.47, 0.45, 0.45 },
457
458 // p n pi+ pi- pi- pi0 pi0
459 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
460 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
461 0.0, 0.0, 0.04, 0.12, 0.18, 0.24, 0.26, 0.23, 0.28, 0.26 },
462
463 // p n pi- pi0 pi0 pi0 pi0
464 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
465 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
466 0.0, 0.0, 0.02, 0.06, 0.08, 0.12, 0.13, 0.14, 0.13, 0.13 },
467
468 // p p pi+ pi- pi- pi- pi0
469 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
470 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
471 0.0, 0.0, 0.06, 0.17, 0.5, 0.7, 0.7, 0.69, 0.66, 0.62 },
472
473 // p p pi- pi- pi0 pi0 pi0
474 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
475 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
476 0.0, 0.0, 0.04, 0.1, 0.30, 0.42, 0.42, 0.41, 0.40, 0.37 },
477 //
478 // multiplicity 8 (10 channels)
479 //
480 // n n pi+ pi+ pi+ pi- pi- pi-
481 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
482 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
483 0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
484
485 // n n pi+ pi+ pi- pi- pi0 pi0
486 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
487 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
488 0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
489
490 // n n pi+ pi- pi0 pi0 pi0 pi0
491 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
492 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
493 0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
494
495 // n n pi0 pi0 pi0 pi0 pi0 pi0
496 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
497 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
498 0.0, 0.0, 0.0, 0.01, 0.02, 0.06, 0.09, 0.12, 0.09, 0.09 },
499
500 // p n pi+ pi+ pi- pi- pi- pi0
501 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
502 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
503 0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
504
505 // p n pi+ pi- pi- pi0 pi0 pi0
506 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
507 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
508 0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
509
510 // p n pi- pi0 pi0 pi0 pi0 pi0
511 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
512 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
513 0.0, 0.0, 0.0, 0.01, 0.03, 0.06, 0.09, 0.12, 0.09, 0.09 },
514
515 // p p pi+ pi+ pi- pi- pi- pi-
516 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
517 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
518 0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
519
520 // p p pi+ pi- pi- pi- pi0 pi0
521 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
522 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
523 0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
524
525 // p p pi- pi- pi0 pi0 pi0 pi0
526 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
527 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
528 0.0, 0.0, 0.0, 0.01, 0.03, 0.06, 0.09, 0.12, 0.09, 0.09 },
529 //
530 // multiplicity 9 (11 channels)
531 //
532 // n n pi+ pi+ pi+ pi- pi- pi- pi0
533 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
534 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
535 0.0, 0.0, 0.01, 0.02, 0.07, 0.11, 0.14, 0.15, 0.15, 0.15 },
536
537 // n n pi+ pi+ pi- pi- pi0 pi0 pi0
538 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
539 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
540 0.0, 0.0, 0.01, 0.02, 0.06, 0.09, 0.11, 0.12, 0.12, 0.12 },
541
542 // n n pi+ pi- pi0 pi0 pi0 pi0 pi0
543 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
544 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
545 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.07, 0.07, 0.07, 0.07 },
546
547 // n n pi0 pi0 pi0 pi0 pi0 pi0 pi0
548 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
549 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
550 0.0, 0.0, 0.0, 0.01, 0.03, 0.03, 0.04, 0.04, 0.04, 0.04 },
551
552 // p n pi+ pi+ pi+ pi- pi- pi- pi-
553 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
554 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
555 0.0, 0.0, 0.01, 0.02, 0.06, 0.15, 0.19, 0.22, 0.22, 0.22 },
556
557 // p n pi+ pi+ pi- pi- pi- pi0 pi0
558 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
559 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
560 0.0, 0.0, 0.01, 0.03, 0.08, 0.20, 0.25, 0.29, 0.29, 0.29 },
561
562 // p n pi+ pi- pi- pi0 pi0 pi0 pi0
563 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
564 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
565 0.0, 0.0, 0.01, 0.02, 0.05, 0.12, 0.15, 0.17, 0.17, 0.17 },
566
567 // p n pi- pi0 pi0 pi0 pi0 pi0 pi0
568 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
569 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
570 0.0, 0.0, 0.0, 0.01, 0.03, 0.07, 0.09, 0.10, 0.10, 0.10 },
571
572 // p p pi+ pi+ pi- pi- pi- pi- pi0
573 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
574 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
575 0.0, 0.0, 0.01, 0.02, 0.06, 0.15, 0.19, 0.22, 0.22, 0.22 },
576
577 // p p pi+ pi- pi- pi- pi0 pi0 pi0
578 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
579 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
580 0.0, 0.0, 0.01, 0.02, 0.05, 0.12, 0.15, 0.17, 0.17, 0.17 },
581
582 // p p pi+ pi- pi0 pi0 pi0 pi0 pi0
583 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
584 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
585 0.0, 0.0, 0.0, 0.01, 0.03, 0.07, 0.09 ,0.10, 0.10, 0.10 }};
586}
587
588// Initialize n-n cross-section table
589
591G4CascadeNNChannelData::data(nn2bfs, nn3bfs, nn4bfs, nn5bfs, nn6bfs, nn7bfs,
592 nn8bfs, nn9bfs, nnCrossSections, nnTotXSec,
593 neu*neu, "NeutronNeutron");
594
595// Overload base class interpolator to use function for 0-10 MeV total, elastic
596
599 const G4double (&xsec)[30]) const {
600 if (ke < 0.01 && (xsec == nnTotXSec || xsec == nnCrossSections[0])) {
601 // Stepanov's function for ke < 10 MeV, up to zero-energy value
602 const G4double kemin = 4.0/nnTotXSec[0];
603 return (ke>0.001 ? (9.0692 - 0.0050574/ke)/ke + 6.9466 :
604 ke>kemin ? 4.0/ke : nnTotXSec[0]);
605 }
606 return G4PionNucSampler::findCrossSection(ke, xsec); // Call through to base
607}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
virtual G4double findCrossSection(G4double ke, const G4double(&xsec)[30]) const
virtual G4double findCrossSection(double ke, const G4double(&xsec)[energyBins]) const