Geant4  10.02.p02
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"
39 #include "G4PhysicsFreeVector.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 const G4double sigmaDD1950[121]
void PutValue(size_t binNumber, G4double binValue, G4double dataValue)
G4int first(char) const
static const G4int sizeDeltaDeltastar
std::map< G4String, G4double *, std::less< G4String > > xMap
int G4int
Definition: G4Types.hh:78
static const G4double energyTable[121]
static const G4double sigmaDD1905[121]
virtual const G4PhysicsVector * CrossSectionTable(const G4String &particleName) const
static const G4double sigmaDD1900[121]
static const double GeV
Definition: G4SIunits.hh:214
static const G4double sigmaDD1930[121]
static const G4double sigmaDD1600[121]
G4double energy(const ThreeVector &p, const G4double m)
static const G4double sigmaDD1620[121]
static const double millibarn
Definition: G4SIunits.hh:105
double G4double
Definition: G4Types.hh:76
static const G4double sigmaDD1910[121]
static const G4double sigmaDD1700[121]
static const G4double sigmaDD1920[121]