Geant4-11
G4XDeltaDeltastarTable.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// -------------------------------------------------------------------
28// GEANT4 Class file
29//
30// Hadron Kinetic Model
31// p p -> Delta Delta* cross section tables
32//
33// -------------------------------------------------------------------
34
35#include "globals.hh"
36#include "G4ios.hh"
37#include "G4SystemOfUnits.hh"
40
42
43// Energies (GeV) corresponding to the cross section table
44// Units are assigned when filling the PhysicsVector
45
47{
48 0.0,
49 2.014, 2.014, 2.016, 2.018, 2.022, 2.026, 2.031, 2.037, 2.044, 2.052,
50 2.061, 2.071, 2.082, 2.094, 2.107, 2.121, 2.135, 2.151, 2.168, 2.185,
51 2.204, 2.223, 2.244, 2.265, 2.287, 2.311, 2.335, 2.360, 2.386, 2.413,
52 2.441, 2.470, 2.500, 2.531, 2.562, 2.595, 2.629, 2.664, 2.699, 2.736,
53 2.773, 2.812, 2.851, 2.891, 2.933, 2.975, 3.018, 3.062, 3.107, 3.153,
54 3.200, 3.248, 3.297, 3.347, 3.397, 3.449, 3.502, 3.555, 3.610, 3.666,
55 3.722, 3.779, 3.838, 3.897, 3.957, 4.018, 4.081, 4.144, 4.208, 4.273,
56 4.339, 4.406, 4.473, 4.542, 4.612, 4.683, 4.754, 4.827, 4.900, 4.975,
57 5.000, 6.134, 7.269, 8.403, 9.538, 10.672, 11.807, 12.941, 14.076, 15.210,
58 16.345, 17.479, 18.613, 19.748, 20.882, 22.017, 23.151, 24.286, 25.420, 26.555,
59 27.689, 28.824, 29.958, 31.092, 32.227, 33.361, 34.496, 35.630, 36.765, 37.899,
60 39.034, 40.168, 41.303, 42.437, 43.571, 44.706, 45.840, 46.975, 48.109, 49.244
61};
62
63// Cross-sections in mb, from S.A. Bass et al., Prog.Part.Nucl.Phys.41:225-370,1998
64// Units are assigned when filling the PhysicsVector
65
67{
68 0.0,
69 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
70 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
71 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
72 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
73 0.000, 0.000, 0.001, 0.001, 0.002, 0.003, 0.005, 0.010,
74 0.018, 0.000, 0.000, 0.003, 0.015, 0.045, 0.087, 0.134,
75 0.183, 0.231, 0.277, 0.319, 0.359, 0.395, 0.429, 0.459,
76 0.486, 0.510, 0.532, 0.551, 0.568, 0.582, 0.595, 0.605,
77 0.614, 0.621, 0.626, 0.630, 0.633, 0.635, 0.635, 0.634,
78 0.633, 0.630, 0.627, 0.623, 0.619, 0.614, 0.608, 0.602,
79 0.600, 0.490, 0.391, 0.314, 0.259, 0.213, 0.178, 0.152,
80 0.130, 0.113, 0.099, 0.088, 0.078, 0.070, 0.063, 0.057,
81 0.052, 0.047, 0.043, 0.040, 0.037, 0.034, 0.031, 0.029,
82 0.027, 0.026, 0.024, 0.023, 0.021, 0.020, 0.019, 0.018,
83 0.017, 0.016, 0.015, 0.014, 0.014, 0.013, 0.013, 0.012
84};
85
87{
88 0.0,
89 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
90 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
91 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
92 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001,
93 0.001, 0.002, 0.003, 0.004, 0.005, 0.007, 0.009, 0.014,
94 0.000, 0.000, 0.001, 0.006, 0.020, 0.043, 0.070, 0.100,
95 0.128, 0.156, 0.182, 0.207, 0.229, 0.249, 0.267, 0.284,
96 0.299, 0.312, 0.324, 0.334, 0.343, 0.351, 0.357, 0.362,
97 0.367, 0.370, 0.372, 0.374, 0.375, 0.375, 0.374, 0.373,
98 0.372, 0.370, 0.367, 0.364, 0.361, 0.358, 0.354, 0.350,
99 0.348, 0.280, 0.220, 0.176, 0.144, 0.117, 0.098, 0.091,
100 0.071, 0.062, 0.054, 0.048, 0.042, 0.038, 0.034, 0.031,
101 0.028, 0.025, 0.023, 0.021, 0.020, 0.018, 0.017, 0.016,
102 0.015, 0.014, 0.013, 0.012, 0.011, 0.011, 0.010, 0.010,
103 0.009, 0.009, 0.008, 0.008, 0.007, 0.007, 0.007, 0.006
104};
105
107{
108 0.0,
109 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
110 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
111 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
112 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
113 0.000, 0.000, 0.001, 0.001, 0.002, 0.004, 0.007, 0.012,
114 0.019, 0.031, 0.000, 0.000, 0.001, 0.006, 0.021, 0.044,
115 0.073, 0.103, 0.134, 0.164, 0.193, 0.220, 0.246, 0.269,
116 0.291, 0.310, 0.328, 0.344, 0.358, 0.370, 0.381, 0.391,
117 0.399, 0.405, 0.411, 0.416, 0.419, 0.421, 0.423, 0.424,
118 0.424, 0.423, 0.422, 0.420, 0.418, 0.415, 0.412, 0.408,
119 0.407, 0.335, 0.268, 0.215, 0.177, 0.145, 0.121, 0.103,
120 0.088, 0.077, 0.067, 0.059, 0.053, 0.047, 0.042, 0.038,
121 0.035, 0.032, 0.029, 0.027, 0.025, 0.023, 0.021, 0.020,
122 0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.013, 0.012,
123 0.011, 0.011, 0.010, 0.010, 0.009, 0.009, 0.008, 0.008
124};
125
126
128{
129 0.0,
130 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
131 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
132 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
133 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
134 0.001, 0.001, 0.001, 0.001, 0.002, 0.002, 0.003, 0.003,
135 0.004, 0.006, 0.007, 0.010, 0.000, 0.000, 0.000, 0.001,
136 0.006, 0.014, 0.025, 0.036, 0.047, 0.058, 0.068, 0.077,
137 0.086, 0.094, 0.101, 0.107, 0.113, 0.118, 0.122, 0.126,
138 0.129, 0.132, 0.134, 0.136, 0.137, 0.138, 0.139, 0.140,
139 0.140, 0.140, 0.139, 0.139, 0.138, 0.137, 0.136, 0.135,
140 0.135, 0.111, 0.088, 0.070, 0.059, 0.047, 0.039, 0.033,
141 0.029, 0.025, 0.022, 0.019, 0.017, 0.015, 0.014, 0.012,
142 0.011, 0.010, 0.009, 0.009, 0.008, 0.007, 0.007, 0.006,
143 0.006, 0.005, 0.005, 0.005, 0.005, 0.004, 0.004, 0.004,
144 0.004, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003
145};
146
148{
149 0.0,
150 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
151 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
152 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
153 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
154 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
155 0.001, 0.001, 0.003, 0.005, 0.009, 0.000, 0.000, 0.001,
156 0.005, 0.018, 0.038, 0.061, 0.086, 0.110, 0.134, 0.157,
157 0.178, 0.197, 0.216, 0.232, 0.248, 0.262, 0.274, 0.285,
158 0.295, 0.304, 0.312, 0.318, 0.324, 0.329, 0.333, 0.336,
159 0.338, 0.340, 0.341, 0.342, 0.342, 0.341, 0.340, 0.339,
160 0.338, 0.293, 0.240, 0.196, 0.166, 0.135, 0.114, 0.098,
161 0.084, 0.073, 0.064, 0.057, 0.055, 0.045, 0.041, 0.037,
162 0.034, 0.031, 0.028, 0.026, 0.024, 0.022, 0.021, 0.019,
163 0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.012, 0.012,
164 0.011, 0.011, 0.010, 0.010, 0.009, 0.009, 0.008, 0.008
165};
166
168{
169 0.0,
170 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
171 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
172 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
173 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
174 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001,
175 0.001, 0.001, 0.002, 0.003, 0.005, 0.008, 0.000, 0.000,
176 0.001, 0.004, 0.010, 0.018, 0.027, 0.035, 0.044, 0.052,
177 0.059, 0.066, 0.073, 0.078, 0.083, 0.088, 0.092, 0.096,
178 0.099, 0.102, 0.104, 0.106, 0.108, 0.110, 0.111, 0.112,
179 0.112, 0.113, 0.113, 0.113, 0.112, 0.112, 0.112, 0.111,
180 0.111, 0.094, 0.076, 0.062, 0.052, 0.042, 0.036, 0.030,
181 0.026, 0.023, 0.020, 0.018, 0.016, 0.014, 0.013, 0.011,
182 0.010, 0.009, 0.009, 0.008, 0.007, 0.007, 0.006, 0.006,
183 0.006, 0.005, 0.005, 0.005, 0.004, 0.004, 0.004, 0.004,
184 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.002
185};
186
188{
189 0.0,
190 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
191 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
192 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
193 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
194 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
195 0.001, 0.001, 0.001, 0.002, 0.003, 0.006, 0.000, 0.000,
196 0.001, 0.007, 0.020, 0.040, 0.060, 0.080, 0.099, 0.117,
197 0.133, 0.147, 0.160, 0.171, 0.181, 0.190, 0.198, 0.204,
198 0.210, 0.215, 0.219, 0.222, 0.225, 0.227, 0.228, 0.229,
199 0.229, 0.229, 0.229, 0.228, 0.227, 0.226, 0.224, 0.222,
200 0.222, 0.183, 0.146, 0.117, 0.098, 0.078, 0.066, 0.056,
201 0.048, 0.041, 0.036, 0.032, 0.028, 0.025, 0.023, 0.021,
202 0.019, 0.017, 0.016, 0.014, 0.013, 0.012, 0.011, 0.011,
203 0.010, 0.009, 0.009, 0.008, 0.008, 0.007, 0.007, 0.006,
204 0.006, 0.006, 0.005, 0.005, 0.005, 0.005, 0.005, 0.004
205};
206
208{
209 0.0,
210 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
211 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
212 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
213 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
214 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
215 0.000, 0.001, 0.001, 0.002, 0.004, 0.007, 0.000, 0.000,
216 0.001, 0.004, 0.015, 0.033, 0.053, 0.075, 0.096, 0.117,
217 0.136, 0.154, 0.171, 0.187, 0.201, 0.214, 0.225, 0.236,
218 0.245, 0.253, 0.261, 0.267, 0.272, 0.277, 0.281, 0.284,
219 0.287, 0.288, 0.290, 0.290, 0.291, 0.291, 0.290, 0.289,
220 0.289, 0.251, 0.206, 0.168, 0.142, 0.115, 0.097, 0.083,
221 0.071, 0.062, 0.059, 0.048, 0.043, 0.038, 0.035, 0.031,
222 0.028, 0.026, 0.024, 0.022, 0.020, 0.019, 0.017, 0.016,
223 0.015, 0.014, 0.013, 0.012, 0.012, 0.011, 0.010, 0.010,
224 0.009, 0.009, 0.008, 0.008, 0.008, 0.007, 0.007, 0.007
225};
226
228{
229 0.0,
230 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
231 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
232 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
233 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
234 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
235 0.000, 0.001, 0.001, 0.002, 0.003, 0.006, 0.011, 0.000,
236 0.000, 0.002, 0.011, 0.029, 0.053, 0.078, 0.103, 0.128,
237 0.151, 0.173, 0.194, 0.213, 0.230, 0.246, 0.261, 0.274,
238 0.285, 0.296, 0.305, 0.313, 0.320, 0.326, 0.331, 0.335,
239 0.339, 0.342, 0.344, 0.345, 0.346, 0.346, 0.345, 0.344,
240 0.344, 0.301, 0.247, 0.202, 0.170, 0.139, 0.117, 0.099,
241 0.086, 0.075, 0.065, 0.058, 0.051, 0.046, 0.042, 0.038,
242 0.034, 0.031, 0.029, 0.026, 0.024, 0.022, 0.021, 0.019,
243 0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.013, 0.012,
244 0.011, 0.011, 0.010, 0.010, 0.009, 0.009, 0.008, 0.008
245};
246
247
248
250{
251 xMap["delta(1600)-"] = (G4double*) sigmaDD1600;
252 xMap["delta(1600)0"] = (G4double*) sigmaDD1600;
253 xMap["delta(1600)+"] = (G4double*) sigmaDD1600;
254 xMap["delta(1600)++"] = (G4double*) sigmaDD1600;
255
256 xMap["delta(1620)-"] = (G4double*) sigmaDD1620;
257 xMap["delta(1620)0"] = (G4double*) sigmaDD1620;
258 xMap["delta(1620)+"] = (G4double*) sigmaDD1620;
259 xMap["delta(1620)++"] = (G4double*) sigmaDD1620;
260
261 xMap["delta(1700)-"] = (G4double*) sigmaDD1700;
262 xMap["delta(1700)0"] = (G4double*) sigmaDD1700;
263 xMap["delta(1700)+"] = (G4double*) sigmaDD1700;
264 xMap["delta(1700)++"] = (G4double*) sigmaDD1700;
265
266 xMap["delta(1900)-"] = (G4double*) sigmaDD1900;
267 xMap["delta(1900)0"] = (G4double*) sigmaDD1900;
268 xMap["delta(1900)+"] = (G4double*) sigmaDD1900;
269 xMap["delta(1900)++"] = (G4double*) sigmaDD1900;
270
271 xMap["delta(1905)-"] = (G4double*) sigmaDD1905;
272 xMap["delta(1905)0"] = (G4double*) sigmaDD1905;
273 xMap["delta(1905)+"] = (G4double*) sigmaDD1905;
274 xMap["delta(1905)++"] = (G4double*) sigmaDD1905;
275
276 xMap["delta(1910)-"] = (G4double*) sigmaDD1910;
277 xMap["delta(1910)0"] = (G4double*) sigmaDD1910;
278 xMap["delta(1910)+"] = (G4double*) sigmaDD1910;
279 xMap["delta(1910)++"] = (G4double*) sigmaDD1910;
280
281 xMap["delta(1920)-"] = (G4double*) sigmaDD1920;
282 xMap["delta(1920)0"] = (G4double*) sigmaDD1920;
283 xMap["delta(1920)+"] = (G4double*) sigmaDD1920;
284 xMap["delta(1920)++"] = (G4double*) sigmaDD1920;
285
286 xMap["delta(1930)-"] = (G4double*) sigmaDD1930;
287 xMap["delta(1930)0"] = (G4double*) sigmaDD1930;
288 xMap["delta(1930)+"] = (G4double*) sigmaDD1930;
289 xMap["delta(1930)++"] = (G4double*) sigmaDD1930;
290
291 xMap["delta(1950)-"] = (G4double*) sigmaDD1950;
292 xMap["delta(1950)0"] = (G4double*) sigmaDD1950;
293 xMap["delta(1950)+"] = (G4double*) sigmaDD1950;
294 xMap["delta(1950)++"] = (G4double*) sigmaDD1950;
295}
296
297
299{ }
300
301
303{
304 // NOTE: the returned pointer is owned by the client
305
306 if (xMap.find(particleName) != xMap.end())
307 {
308 // Cross section table for the requested particle available in the Map
310 std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter;
311 G4double* sigmaPointer = 0;
312 for (iter = xMap.begin(); iter != xMap.end(); ++iter)
313 {
314 G4String str = (*iter).first;
315 if (str == particleName)
316 {
317 sigmaPointer = (*iter).second;
318 }
319 }
320
321 G4int i;
322 for (i=0; i<sizeDeltaDeltastar; i++)
323 {
324 G4double value = *(sigmaPointer + i) * 0.5* millibarn;
326 sigmaVector->PutValue(i,energy,value);
327 }
328 return sigmaVector;
329 }
330 else
331 // No cross section table for the requested particle is available in the Map
332 return 0;
333}
334
335
336
static constexpr double millibarn
Definition: G4SIunits.hh:86
static constexpr double GeV
Definition: G4SIunits.hh:203
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
void PutValue(const std::size_t index, const G4double e, const G4double value)
static const G4double energyTable[121]
virtual const G4PhysicsVector * CrossSectionTable(const G4String &particleName) const
static const G4double sigmaDD1950[121]
static const G4double sigmaDD1910[121]
std::map< G4String, G4double *, std::less< G4String > > xMap
static const G4double sigmaDD1900[121]
static const G4int sizeDeltaDeltastar
static const G4double sigmaDD1920[121]
static const G4double sigmaDD1620[121]
static const G4double sigmaDD1930[121]
static const G4double sigmaDD1600[121]
static const G4double sigmaDD1905[121]
static const G4double sigmaDD1700[121]
G4double energy(const ThreeVector &p, const G4double m)