Geant4  10.02.p02
G4CascadePPChannel.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 // 20120907 M. Kelsey -- Subclass and overload findCrossSection() function.
33 
34 #include "G4CascadePPChannel.hh"
35 #include "G4InuclParticleNames.hh"
36 using namespace G4InuclParticleNames;
37 
38 namespace {
39  // p p : Outgoing particle types of a given multiplicity
40  static const G4int pp2bfs[1][2] =
41  {{pro,pro}};
42 
43  static const G4int pp3bfs[6][3] =
44  {{pro,pro,pi0}, {pro,neu,pip}, {pro,lam,kpl},
45  {pro,s0,kpl}, {pro,sp,k0}, {neu,sp,kpl}};
46 
47  static const G4int pp4bfs[18][4] =
48  {{pro,pro,pip,pim}, {pro,neu,pip,pi0}, {pro,pro,pi0,pi0},
49  {neu,neu,pip,pip}, {pro,lam,kpl,pi0}, {pro,lam,k0,pip},
50  {neu,lam,kpl,pip}, {neu,s0,kpl,pip}, {pro,s0,kpl,pi0},
51  {pro,s0,k0,pip}, {pro,sm,kpl,pip}, {pro,sp,k0,pi0},
52  {neu,sp,k0,pip}, {pro,sp,kpl,pim}, {neu,sp,kpl,pi0},
53  {pro,pro,k0,k0b}, {pro,pro,kpl,kmi}, {pro,neu,kpl,k0b}};
54 
55  static const G4int pp5bfs[32][5] =
56  {{pro,pro,pip,pim,pi0}, {pro,pro,pi0,pi0,pi0}, {pro,neu,pip,pip,pim},
57  {pro,neu,pip,pi0,pi0}, {neu,neu,pip,pip,pi0}, {pro,lam,kpl,pip,pim},
58  {pro,lam,kpl,pi0,pi0}, {pro,lam,k0,pip,pi0}, {pro,s0,kpl,pip,pim},
59  {pro,s0,kpl,pi0,pi0}, {pro,s0,k0,pip,pi0}, {pro,sp,k0,pip,pim},
60  {pro,sp,k0,pi0,pi0}, {pro,sp,kpl,pim,pi0}, {pro,sm,kpl,pip,pi0},
61  {pro,sm,k0,pip,pip}, {neu,lam,kpl,pip,pi0}, {neu,lam,k0,pip,pip},
62  {neu,s0,kpl,pip,pi0}, {neu,s0,k0,pip,pip}, {neu,sp,k0,pip,pi0},
63  {neu,sp,kpl,pip,pim}, {neu,sp,kpl,pi0,pi0}, {neu,sm,kpl,pip,pip},
64  {pro,pro,pip,k0,kmi}, {pro,pro,pim,kpl,k0b}, {pro,pro,pi0,k0,k0b},
66  {pro,neu,pi0,kpl,k0b}, {neu,neu,pip,kpl,k0b}};
67 
68  static const G4int pp6bfs[7][6] =
69  {{pro,pro,pip,pip,pim,pim}, {pro,pro,pip,pim,pi0,pi0},
70  {pro,pro,pi0,pi0,pi0,pi0}, {pro,neu,pip,pip,pim,pi0},
71  {pro,neu,pip,pi0,pi0,pi0}, {neu,neu,pip,pip,pip,pim},
72  {neu,neu,pip,pip,pi0,pi0}};
73 
74  static const G4int pp7bfs[8][7] =
75  {{pro,pro,pip,pip,pim,pim,pi0}, {pro,pro,pip,pim,pi0,pi0,pi0},
76  {pro,pro,pi0,pi0,pi0,pi0,pi0}, {pro,neu,pip,pip,pip,pim,pim},
77  {pro,neu,pip,pip,pim,pi0,pi0}, {pro,neu,pip,pi0,pi0,pi0,pi0},
78  {neu,neu,pip,pip,pip,pim,pi0}, {neu,neu,pip,pip,pi0,pi0,pi0}};
79 
80  static const G4int pp8bfs[10][8] =
81  {{pro,pro,pip,pip,pip,pim,pim,pim}, {pro,pro,pip,pip,pim,pim,pi0,pi0},
82  {pro,pro,pip,pim,pi0,pi0,pi0,pi0}, {pro,pro,pi0,pi0,pi0,pi0,pi0,pi0},
83  {pro,neu,pip,pip,pip,pim,pim,pi0}, {pro,neu,pip,pip,pim,pi0,pi0,pi0},
84  {pro,neu,pip,pi0,pi0,pi0,pi0,pi0}, {neu,neu,pip,pip,pip,pip,pim,pim},
85  {neu,neu,pip,pip,pip,pim,pi0,pi0}, {neu,neu,pip,pip,pi0,pi0,pi0,pi0}};
86 
87  static const G4int pp9bfs[11][9] =
89  {pro,pro,pip,pim,pi0,pi0,pi0,pi0,pi0}, {pro,pro,pi0,pi0,pi0,pi0,pi0,pi0,pi0},
90  {pro,neu,pip,pip,pip,pip,pim,pim,pim}, {pro,neu,pip,pip,pip,pim,pim,pi0,pi0},
91  {pro,neu,pip,pip,pim,pi0,pi0,pi0,pi0}, {pro,neu,pip,pi0,pi0,pi0,pi0,pi0,pi0},
93  {neu,neu,pip,pip,pi0,pi0,pi0,pi0,pi0}};
94 }
95 
96 namespace {
97  // Total p p cross sections as a function of kinetic energy
98  static const G4double ppTotXSec[30] =
99  // Stepanov cross sections below 400 MeV
100  {17613.0, 863.3, 674.6, 495.2, 376.0, 285.4, 205.8, 135.7, 93.7, 69.1,
101  55.2, 44.5, 38.8, 35.1, 33.0, 32.0, 44.0, 47.04, 44.86, 46.03,
102  44.09, 41.81, 41.17, 40.65, 40.15, 40.18, 39.26, 38.36, 38.39, 38.41};
103 
104  static const G4double ppCrossSections[93][30] = {
105  //
106  // multiplicity 2 (1 channel)
107  //
108  // p p
109  // Stepanov cross sections below 400 MeV
110  {17613.0, 863.3, 674.6, 495.2, 376.0, 285.4, 205.8, 135.7, 93.7, 69.1,
111  55.2, 44.5, 38.8, 35.1, 32.3, 26.1, 25.0, 23.5, 21.0, 18.0,
112  16.0, 14.3, 12.5, 11.2, 10.3, 9.6, 9.0, 8.5, 8.0, 7.7 },
113  //
114  // multiplicity 3 (6 channels)
115  //
116  // p p pi0
117  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
118  0.0, 0.0, 0.0, 0.0, 0.0, 1.4, 4.0, 4.3, 4.0, 4.0,
119  3.6, 3.0, 2.8, 2.5, 1.7, 1.3, 1.1, 1.0, 0.9, 0.85 },
120 
121  // p n pi+
122  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
123  0.0, 0.0, 0.0, 0.0, 0.7, 4.5, 15.0, 19.1, 18.0, 16.0,
124  13.0, 10.0, 8.2, 6.0, 4.3, 3.3, 2.6, 2.0, 1.65, 1.4 },
125 
126  // p L K+
127  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
128  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01,
129  0.03, 0.06, 0.06, 0.06, 0.05, 0.05, 0.04 ,0.04, 0.04, 0.03 },
130 
131  // p S0 K+
132  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
133  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
134  0.01, 0.02, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
135 
136  // p S+ K0
137  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
138  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
139  0.01, 0.02, 0.03, 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02 },
140 
141  // n S+ K+
142  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
143  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
144  0.02, 0.06, 0.07, 0.06, 0.05, 0.04, 0.03, 0.03, 0.02, 0.02 },
145  //
146  // multiplicity 4 (18 channels)
147  //
148  // p p pi+ pi-
149  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
150  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.6, 1.9,
151  2.8, 3.0, 3.0, 2.8, 2.5, 2.1, 1.9, 1.6, 1.4, 1.2 },
152 
153  // p n pi+ pi0
154  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
155  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.6, 3.5,
156  4.0, 3.9, 3.5, 3.1, 2.8, 2.4, 2.2, 1.9, 1.7, 1.5 },
157 
158  // p p pi0 pi0
159  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
160  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.24, 0.76,
161  1.1, 1.2, 1.2, 1.1, 1.0, 0.84, 0.76, 0.64, 0.56, 0.48 },
162 
163  // n n pi+ pi+
164  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
165  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.24, 1.4,
166  1.6, 1.6, 1.4, 1.2, 1.1, 1.0, 0.88, 0.76, 0.68, 0.6 },
167 
168  // L K+ p pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
171  0.0, 0.02, 0.05, 0.06, 0.05, 0.04, 0.04, 0.03, 0.03, 0.02 },
172 
173  // L K0 p pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
176  0.0, 0.02, 0.06, 0.09, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 },
177 
178  // L K+ n pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
181  0.0, 0.01, 0.04, 0.08, 0.07, 0.06, 0.05, 0.04, 0.03, 0.03 },
182 
183  // S0 K+ n pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
186  0.0, 0.0, 0.02, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01 },
187 
188  // S0 K+ p pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
191  0.0, 0.01, 0.02, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01,0.01 },
192 
193  // S0 K0 p pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
196  0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.02 },
197 
198  // S- K+ p pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
201  0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01 },
202 
203  // S+ K0 p pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
206  0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
207 
208  // S+ K0 n pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
211  0.0, 0.0, 0.01, 0.04, 0.05, 0.04, 0.04, 0.03, 0.03, 0.02 },
212 
213  // S+ K+ p pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
216  0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.01 },
217 
218  // S+ K+ n pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
221  0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.03, 0.02, 0.02, 0.01 },
222 
223  // p p K0 K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
226  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
227 
228  // p p K+ K-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
231  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
232 
233  // p n K+ K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
236  0.0, 0.0, 0.01, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
237  //
238  // multiplicity 5 (32 channels)
239  //
240  // p p pi+ pi- pi0
241  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
242  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.06,
243  0.4, 1.1, 1.8, 2.4, 2.4, 2.2, 2.0, 1.7, 1.5, 1.3 },
244 
245  // p p pi0 pi0 pi0
246  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
247  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02,
248  0.12, 0.33, 0.54, 0.72, 0.72, 0.66, 0.6, 0.51, 0.45, 0.39 },
249 
250  // p n pi+ pi+ pi-
251  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
252  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12, 0.26,
253  0.7, 1.6, 2.4, 2.6, 2.3, 2.0, 1.8, 1.6, 1.4, 1.2 },
254 
255  // p n pi+ pi0 pi0
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.0, 0.0, 0.04, 0.08,
258  0.21, 0.48, 0.72, 0.78, 0.69, 0.6, 0.54, 0.48, 0.42, 0.36 },
259 
260  // n n pi+ pi+ pi0
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.0, 0.0, 0.01, 0.04,
263  0.24, 0.66, 1.08, 1.44, 1.44, 1.32, 1.2, 1.0, 0.9, 0.78 },
264 
265  // p L K+ pi+ pi-
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.0, 0.0, 0.0, 0.0,
268  0.0, 0.0, 0.0, 0.01, 0.04, 0.05, 0.04, 0.04, 0.03, 0.02 },
269 
270  // p L K+ pi0 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.0, 0.0, 0.0, 0.0,
273  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.01 },
274 
275  // p L K0 pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
278  0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.04, 0.03, 0.03, 0.02 },
279 
280  // p S0 K+ pi+ pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
283  0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
284 
285  // p S0 K+ pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
288  0.0, 0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.01, 0.01, 0.01 },
289 
290  // p S0 K0 pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
293  0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
294 
295  // p S+ K0 pi+ pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
298  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
299 
300  // p S+ K0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
303  0.0, 0.0, 0.0, 0.0, 0.01, 0.02, 0.01, 0.01, 0.01, 0.01 },
304 
305  // p S+ K+ pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
308  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
309 
310  // p S- K+ pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
313  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
314 
315  // p S- K0 pi+ pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
318  0.0, 0.0, 0.0, 0.01, 0.03, 0.04, 0.03, 0.03, 0.02, 0.02 },
319 
320  // n L K+ pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
323  0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
324 
325  // n L K0 pi+ pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
328  0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
329 
330  // n S0 K+ pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
333  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
334 
335  // n S0 K0 pi+ pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
338  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
339 
340  // n S+ K0 pi+ pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
343  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
344 
345  // n S+ K+ pi+ pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
348  0.0, 0.0, 0.0, 0.01, 0.04, 0.04, 0.03, 0.02, 0.02, 0.01 },
349 
350  // n S+ K+ pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
353  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
354 
355  // n S- K+ pi+ pi+
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
358  0.0, 0.0, 0.0, 0.01, 0.02, 0.02, 0.02, 0.01, 0.01, 0.01 },
359 
360  // p p pi+ K0 K-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
363  0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.04, 0.04, 0.03 },
364 
365  // p p pi- K+ K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
368  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
369 
370  // p p pi0 K0 K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
373  0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.04, 0.03 },
374 
375  // p p pi0 K+ K-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
378  0.0, 0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.04, 0.03 },
379 
380  // p n pi+ K0 K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
383  0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.03, 0.02, 0.02 },
384 
385  // p n pi+ K+ K-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
388  0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.05, 0.03, 0.02, 0.02 },
389 
390  // p n pi0 K+ K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
393  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
394 
395  // n n pi+ K+ K0bar
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.0, 0.0, 0.0, 0.0, 0.0, 0.0,
398  0.0, 0.0, 0.0, 0.0, 0.02, 0.04, 0.03, 0.03, 0.02, 0.02 },
399  //
400  // multiplicity 6 (7 channels)
401  //
402  // p p pi+ pi+ pi- pi-
403  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
404  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
405  0.06, 0.1, 0.18, 0.38, 0.49, 0.46, 0.43, 0.40, 0.38, 0.36 },
406 
407  // p p pi+ pi- pi0 pi0
408  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
409  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
410  0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
411 
412  // p p pi0 pi0 pi0 pi0
413  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
414  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
415  0.01, 0.02, 0.05, 0.1, 0.13, 0.12, 0.11, 0.1, 0.1, 0.09 },
416 
417  // p n pi+ pi+ pi- pi0
418  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
419  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
420  0.06, 0.1, 0.18, 0.38, 0.49, 0.46, 0.43, 0.40, 0.38, 0.36 },
421 
422  // p n pi+ pi0 pi0 pi0
423  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
424  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
425  0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
426 
427  // n n pi+ pi+ pi+ pi-
428  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
429  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
430  0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
431 
432  // n n pi+ pi+ pi0 pi0
433  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
434  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
435  0.03, 0.05, 0.09, 0.19, 0.25, 0.23, 0.22, 0.2, 0.19, 0.18 },
436  //
437  // multiplicity 7 (8 channels)
438  //
439  // p p pi+ pi+ pi- pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
442  0.0, 0.0, 0.06, 0.17, 0.5, 0.7, 0.7, 0.69, 0.66, 0.62 },
443 
444  // p p pi+ pi- pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
447  0.0, 0.0, 0.04, 0.1, 0.30, 0.42, 0.42, 0.42, 0.40, 0.37 },
448 
449  // p p pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
452  0.0, 0.0, 0.02, 0.05, 0.14, 0.20, 0.22, 0.20, 0.19, 0.18 },
453 
454  // p n pi+ pi+ pi+ pi- pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
457  0.0, 0.0, 0.06, 0.19, 0.31, 0.41, 0.44, 0.47, 0.45, 0.45 },
458 
459  // p n pi+ pi+ pi- pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
462  0.0, 0.0, 0.04, 0.12, 0.18, 0.24, 0.26, 0.23, 0.28, 0.26 },
463 
464  // p n pi+ pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
467  0.0, 0.0, 0.02, 0.06, 0.08, 0.12, 0.13, 0.14, 0.13, 0.13 },
468 
469  // n n pi+ pi+ pi+ pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
472  0.0, 0.0, 0.06, 0.17, 0.5, 0.7, 0.7, 0.69, 0.66, 0.62 },
473 
474  // n n pi+ pi+ pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
477  0.0, 0.0, 0.04, 0.1, 0.30, 0.42, 0.42, 0.41, 0.40, 0.37 },
478  //
479  // multiplicity 8 (10 channels)
480  //
481  // p p pi+ pi+ pi+ pi- pi- pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
484  0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
485 
486  // p p pi+ pi+ pi- pi- pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
489  0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
490 
491  // p p pi+ pi- pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
494  0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
495 
496  // p p pi0 pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
499  0.0, 0.0, 0.0, 0.01, 0.02, 0.06, 0.09, 0.12, 0.09, 0.09 },
500 
501  // p n pi+ pi+ pi+ pi- pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
504  0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
505 
506  // p n pi+ pi+ pi- pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
509  0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
510 
511  // p n pi+ pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
514  0.0, 0.0, 0.0, 0.01, 0.03, 0.06, 0.09, 0.12, 0.09, 0.09 },
515 
516  // n n pi+ pi+ pi+ pi+ pi- pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
519  0.0, 0.0, 0.01, 0.02, 0.08, 0.18, 0.27, 0.30, 0.27, 0.24 },
520 
521  // n n pi+ pi+ pi+ pi- pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
524  0.0, 0.0, 0.01, 0.02, 0.04, 0.12, 0.15, 0.18, 0.15, 0.15 },
525 
526  // n n pi+ pi+ pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
529  0.0, 0.0, 0.0, 0.01, 0.03, 0.06, 0.09, 0.12, 0.09, 0.09 },
530  //
531  // multiplicity 9 (11 channels)
532  //
533  // p p pi+ pi+ pi+ pi- pi- pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
536  0.0, 0.0, 0.01, 0.02, 0.07, 0.11, 0.14, 0.15, 0.15, 0.15 },
537 
538  // p p pi+ pi+ pi- pi- pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
541  0.0, 0.0, 0.01, 0.02, 0.06, 0.09, 0.11, 0.12, 0.12, 0.12 },
542 
543  // p p pi+ pi- pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
546  0.0, 0.0, 0.0, 0.01, 0.04, 0.06, 0.07, 0.07, 0.07, 0.07 },
547 
548  // p p pi0 pi0 pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
551  0.0, 0.0, 0.0, 0.01, 0.03, 0.03, 0.04, 0.04, 0.04, 0.04 },
552 
553  // p n pi+ pi+ pi+ pi+ pi- pi- pi-
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
556  0.0, 0.0, 0.01, 0.02, 0.06, 0.15, 0.19, 0.22, 0.22, 0.22 },
557 
558  // p n pi+ pi+ pi+ pi- pi- pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
561  0.0, 0.0, 0.01, 0.03, 0.08, 0.20, 0.25, 0.29, 0.29, 0.29 },
562 
563  // p n pi+ pi+ pi- pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
566  0.0, 0.0, 0.01, 0.02, 0.05, 0.12, 0.15, 0.17, 0.17, 0.17 },
567 
568  // p n pi+ pi0 pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
571  0.0, 0.0, 0.0, 0.01, 0.03, 0.07, 0.09, 0.10, 0.10, 0.10 },
572 
573  // n n pi+ pi+ pi+ pi+ pi- pi- pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
576  0.0, 0.0, 0.01, 0.02, 0.06, 0.15, 0.19, 0.22, 0.22, 0.22 },
577 
578  // n n pi+ pi+ pi+ pi- pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
581  0.0, 0.0, 0.01, 0.02, 0.05, 0.12, 0.15, 0.17, 0.17, 0.17 },
582 
583  // n n pi+ pi- pi0 pi0 pi0 pi0 pi0
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.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
586  0.0, 0.0, 0.0, 0.01, 0.03, 0.07, 0.09 ,0.10, 0.10, 0.10 }};
587 }
588 
589 // Initialize p-p cross-section table
590 
592 G4CascadePPChannelData::data(pp2bfs, pp3bfs, pp4bfs, pp5bfs, pp6bfs, pp7bfs,
593  pp8bfs, pp9bfs, ppCrossSections, ppTotXSec,
594  pro*pro, "ProtonProton");
595 
596 
597 // Overload base class interpolator to use function for 0-10 MeV total, elastic
598 
599 G4double
601  const G4double (&xsec)[30]) const {
602  if (ke < 0.01 && (xsec == ppTotXSec || xsec == ppCrossSections[0])) {
603  // Stepanov's function for ke < 10 MeV, up to zero-energy value
604  const G4double kemin = 4.0/ppTotXSec[0];
605  return (ke>0.001 ? (9.0692 - 0.0050574/ke)/ke + 6.9466 :
606  ke>kemin ? 4.0/ke : ppTotXSec[0]);
607  }
608  return G4PionNucSampler::findCrossSection(ke, xsec); // Call through to base
609 }
virtual G4double findCrossSection(double ke, const G4double(&xsec)[energyBins]) const
int G4int
Definition: G4Types.hh:78
static const data_t data
double G4double
Definition: G4Types.hh:76
virtual G4double findCrossSection(G4double ke, const G4double(&xsec)[30]) const