50 const G4double G4PiNuclearCrossSection::e1[38] = {
51 .02, .04, .06, .08, .1, .12, .13, .14, .15, .16, .17, .18, .19, .20,
52 .22, .24, .26, .28, .30, .35, .40, .45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9,
53 1, 2, 3, 5, 10, 20, 50, 100, 500, 100000};
55 const G4double G4PiNuclearCrossSection::he_t[38] = {
56 40, 70, 108, 152, 208, 276, 300, 320, 329, 333, 332, 328, 322, 310, 288,
57 260, 240, 216, 196, 144, 125, 112,108.5, 109, 110.5, 117, 123,128.5, 135,
58 110, 96, 87, 85, 83.5, 83.5, 83.5, 83.5, 83.5};
60 const G4double G4PiNuclearCrossSection::he_in[38] = {
61 18, 38, 62, 98, 136, 176, 190, 200, 209, 212, 212, 208, 204, 196,
62 176, 164, 150, 134, 124,97.5, 90, 85, 82.5, 83.5, 86.5, 93, 97.5, 100,
63 102, 83, 77, 75, 74, 72.5, 72.5, 72.5, 72.5, 72.5};
65 const G4double G4PiNuclearCrossSection::be_m_t[38] = {
66 150, 210, 294, 396, 520, 600, 623, 635, 642, 640, 630, 615, 600, 576, 540,
67 504, 470, 435, 400, 340, 294, 258, 236, 230, 233, 244, 257, 270, 276, 250,
68 230, 215, 205, 194, 188, 186, 186, 186};
70 const G4double G4PiNuclearCrossSection::be_m_in[38] = {
71 90, 126, 177, 240, 320, 380, 400, 410, 414, 410, 400, 387, 371, 360, 333,
72 312, 285, 260, 237, 216, 198, 187, 182, 180, 182, 187, 193, 203, 207, 179,
73 172, 165, 159, 155, 144, 144, 144, 144};
75 const G4double G4PiNuclearCrossSection::be_p_t[24] = {
76 96, 150, 222, 320, 430, 514, 545, 565, 574, 574, 564, 552, 535, 522, 490,
77 462, 432, 398, 367, 314, 276, 248, 232, 230};
79 const G4double G4PiNuclearCrossSection::be_p_in[24] = {
80 60, 95, 142, 194, 262, 319, 345, 361, 364, 364, 354, 350, 330, 319, 298,
81 280, 258, 237, 216, 200, 189, 183, 182, 180};
83 const G4double G4PiNuclearCrossSection::e2[39] = {
84 .02, .04, .06, .08, .10, .11, .12, .13, .14, .15, .16, .17, .18, .20, .22,
85 .24, .26, .28, .30, .35, .40, .45, .50, .55, .575, .60, .70, .80, .90, 1,
86 2, 3, 5, 10, 20, 50, 100, 500, 100000};
88 const G4double G4PiNuclearCrossSection::c_m_t[39] = {
89 204, 260, 366, 517, 630, 673, 694, 704, 710, 711, 706, 694, 676, 648, 616,
90 584, 548, 518, 489, 426, 376, 342, 323, 310, 312, 313, 319, 333, 342, 348,
91 310, 290, 268, 250, 245, 237, 234, 234, 234};
93 const G4double G4PiNuclearCrossSection::c_m_in[39] = {
94 128, 160, 224, 315, 388, 416, 430, 438, 444, 445, 440, 432, 416, 400, 380,
95 354, 320, 304, 288, 264, 246, 240, 233, 232, 233, 234, 238, 246, 252, 256,
96 220, 210, 198, 187, 183, 176, 174, 174, 174};
98 const G4double G4PiNuclearCrossSection::c_p_t[24] = {
99 140, 192, 294, 428, 594, 642, 662, 687, 685, 688, 684, 672, 656, 630, 598,
100 567, 533, 504, 474, 416, 369, 336, 319, 310};
102 const G4double G4PiNuclearCrossSection::c_p_in[24] = {
103 94, 132, 184, 260, 370, 398, 408, 420, 426, 428, 424, 416, 400, 386, 366,
104 340, 308, 294, 280, 257, 241, 236, 231, 232};
106 const G4double G4PiNuclearCrossSection::n_m_t[39] = {
107 246, 308, 424, 590, 729, 776, 800, 821, 822, 817, 800, 778, 768, 728, 690,
108 654, 615, 584, 556, 480, 430, 393, 373, 367, 368, 370, 375, 388, 390, 397,
109 364, 337, 310, 291, 275, 268, 268, 268, 268};
111 const G4double G4PiNuclearCrossSection::n_m_in[39] = {
112 155, 188, 256, 360, 456, 492, 512, 526, 526, 520, 504, 491, 475, 450, 425,
113 396, 376, 360, 340, 300, 282, 270, 265, 265, 266, 268, 273, 280, 288, 288,
114 256, 237, 226, 218, 208, 202, 202, 202, 202};
116 const G4double G4PiNuclearCrossSection::n_p_t[27] = {
117 150, 212, 328, 500, 680, 735, 762, 781, 782, 779, 770, 748, 740, 706, 672,
118 633, 600, 569, 541, 467, 419, 385, 368, 364, 366, 368, 375};
120 const G4double G4PiNuclearCrossSection::n_p_in[27] = {
121 90, 140, 208, 300, 426, 467, 490, 504, 504, 500, 484, 474, 460, 437, 413,
122 381, 365, 350, 330, 292, 276, 267, 263, 264, 265, 267, 273};
124 const G4double G4PiNuclearCrossSection::e3[31] = {
125 .02, .04, .06, .08, .10, .12, .14, .16, .18, .20, .22, .25, .30, .35, .40,
126 .45, .50, .60, .70, .80, .90, 1, 2, 3, 5, 10, 20, 50, 100, 500,
129 const G4double G4PiNuclearCrossSection::o_m_t[31] = {
130 280, 360, 500, 685, 812, 861, 870, 865, 835, 800, 755, 700, 600, 537, 493,
131 468, 441, 436, 443, 449, 460, 463, 432, 385, 350, 325, 312, 307, 303, 303,
134 const G4double G4PiNuclearCrossSection::o_m_in[31] = {
135 190, 207, 300, 420, 500, 540, 550, 542, 520, 490, 460, 423, 360, 339, 321,
136 314, 312, 314, 319, 324, 328, 330, 300, 275, 250, 240, 229, 225, 222, 222,
139 const G4double G4PiNuclearCrossSection::o_p_t[20] = {
140 170, 240, 390, 570, 740, 818, 830, 822, 800, 765, 725, 675, 585, 525, 483,
141 458, 444, 447, 453, 449};
143 const G4double G4PiNuclearCrossSection::o_p_in[20] = {
144 100, 145, 240, 340, 470, 518, 530, 522, 505, 477, 448, 412, 350, 330, 316,
145 310, 308, 311, 317, 324};
147 const G4double G4PiNuclearCrossSection::na_m_t[31] = {
148 450, 545, 705, 910, 1020, 1075, 1087, 1080, 1042, 987, 943, 885, 790, 700,
149 650, 610, 585, 575, 585, 595, 600, 610, 556, 524, 494, 458, 445, 429,
152 const G4double G4PiNuclearCrossSection::na_m_in[31] = {
153 275, 315, 413, 545, 620, 660, 670, 662, 630, 593, 570, 520, 465, 420, 410,
154 395, 390, 400, 410, 418, 420, 422, 372, 348, 330, 320, 310, 294, 292, 292,
157 const G4double G4PiNuclearCrossSection::na_p_t[22] = {
158 210, 320, 530, 795, 960, 1035, 1050, 1040, 1007, 957, 918, 865, 773, 685,
159 636, 598, 575, 565, 578, 590, 598, 610};
161 const G4double G4PiNuclearCrossSection::na_p_in[22] = {
162 115, 210, 340, 495, 585, 630, 645, 637, 605, 572, 550, 505, 455, 410, 401,
163 388, 383, 393, 405, 414, 418, 422};
165 const G4double G4PiNuclearCrossSection::e3_1[31] = {
166 0.02, 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20,
167 0.22, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.60, 0.70, 0.80,
168 0.90, 1.0, 2.0, 3.0, 5.0, 10.0, 20.0, 50.0, 100.0, 500.0, 100000.0};
170 const G4double G4PiNuclearCrossSection::al_m_t[31] = {
171 532, 637, 832, 1057, 1207, 1230, 1210, 1174, 1133, 1095,
172 1038, 970, 890, 807, 750, 710, 675, 665, 670, 673,
173 678, 682, 618, 574, 546, 520, 507, 495, 488, 488, 488};
175 const G4double G4PiNuclearCrossSection::al_m_in[31] = {
176 300, 360, 495, 665, 750, 765, 750, 730, 700, 660, 615, 570, 520, 490, 470,
177 450, 448, 450, 450, 452, 456, 460, 408, 392, 376, 356, 347, 338, 332, 332,
180 const G4double G4PiNuclearCrossSection::al_p_t[21] = {
181 225, 350, 616, 945, 1122, 1175, 1157, 1128, 1088, 1045,
182 988, 935, 870, 787, 730, 690, 660, 652, 660, 668, 678};
184 const G4double G4PiNuclearCrossSection::al_p_in[21] = {
185 120, 238, 390, 610, 712, 735, 720, 703, 655, 635, 590, 550, 505, 475, 455,
186 438, 440, 445, 445, 450, 456};
188 const G4double G4PiNuclearCrossSection::ca_m_t[31] = {
189 800, 980, 1240, 1460, 1570, 1600, 1580, 1535, 1475, 1425,
190 1375, 1295, 1200, 1083, 1000, 948, 915, 895, 900, 908,
191 915, 922, 856, 795, 740, 705, 682, 660, 660, 660, 660};
193 const G4double G4PiNuclearCrossSection::ca_m_in[31] = {
194 470, 550, 620, 860, 955, 980, 960, 920, 860, 820, 780, 740, 665, 637, 615,
195 600, 590, 590, 600, 608, 610, 615, 550, 525, 510, 488, 470, 450, 450, 450,
198 const G4double G4PiNuclearCrossSection::ca_p_t[23] = {
199 275, 445, 790, 1195, 1440, 1485, 1475, 1435, 1385, 1335, 1295, 1245, 1160, 1050, 970,
200 923, 895, 877, 887, 897, 904, 913, 855};
202 const G4double G4PiNuclearCrossSection::ca_p_in[23] = {
203 160, 315, 500, 745, 870, 905, 900, 860, 810, 770, 740, 710, 640, 617, 595,
204 585, 575, 575, 590, 600, 602, 608, 510};
207 const G4double G4PiNuclearCrossSection::e4[32] = {
208 0.02, 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20, 0.22, 0.25, 0.30, 0.35, 0.40,
209 0.45, 0.50, 0.55, 0.60, 0.70, 0.80, 0.90, 1, 2, 3, 5, 10, 20, 50, 100,
212 const G4double G4PiNuclearCrossSection::fe_m_t[32] = {
213 1175, 1363, 1670, 1950, 2050, 2040, 1975, 1886, 1834, 1773, 1720, 1635,
214 1474, 1380, 1269, 1225, 1182, 1162, 1159, 1162, 1178, 1190, 1197, 1102,
215 1135, 975, 945, 925, 905, 905, 905, 905};
217 const G4double G4PiNuclearCrossSection::fe_m_in[32] = {
218 625, 725, 910, 1180, 1275, 1250, 1200, 1150, 1100, 1040, 995, 925,
219 825, 810, 780, 760, 745, 740, 740, 740, 750, 760, 765, 690,
220 660, 635, 615, 600, 585, 585, 585, 585};
222 const G4double G4PiNuclearCrossSection::fe_p_t[25] = {
223 330, 575, 1010, 1500, 1837, 1875, 1820, 1751, 1691, 1636, 1690, 1450,
224 1396, 1305, 1219, 1190, 1148, 1138, 1134, 1144, 1163, 1175, 1183, 1198,
227 const G4double G4PiNuclearCrossSection::fe_p_in[25] = {
228 210, 410, 707, 1010, 1125, 1150, 1100, 1070, 1010, 960, 920, 776,
229 780, 760, 750, 740, 720, 725, 725, 730, 740, 750, 755, 690,
232 const G4double G4PiNuclearCrossSection::cu_m_t[32] = {
233 1400, 1600, 1875, 2088, 2200, 2220, 2175, 2125, 2075, 2012, 1950, 1855,
234 1670, 1530, 1430, 1370, 1315, 1315, 1315, 1330, 1345, 1360, 1365, 1250,
235 1185, 1128, 1070, 1035, 1010, 1010, 1010, 1010};
237 const G4double G4PiNuclearCrossSection::cu_m_in[32] = {
238 725, 840, 1020, 1200, 1295, 1300, 1267, 1240, 1213, 1175, 1125, 1042,
239 950, 900, 860, 840, 830, 832, 835, 840, 850, 860, 865, 785,
240 735, 705, 680, 650, 630, 630, 630, 630};
242 const G4double G4PiNuclearCrossSection::cu_p_t[25] = {
243 355, 605, 1120, 1630, 1940, 2010, 2010, 1980, 1925, 1895, 1830, 1730,
244 1585, 1490, 1400, 1340, 1290, 1290, 1290, 1310, 1330, 1345, 1350, 1240,
247 const G4double G4PiNuclearCrossSection::cu_p_in[25] = {
248 230, 425, 780, 1025, 1155, 1190, 1190, 1180, 1125, 1100, 1050, 1000,
249 900, 870, 835, 815, 810, 812, 815, 825, 840, 850, 855, 780,
252 const G4double G4PiNuclearCrossSection::e5[34] = {
253 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20, 0.22, 0.25,
254 0.30, 0.35, 0.40, 0.45, 0.50, 0.60, 0.70, 0.80, 0.90, 1, 2, 3, 5, 10, 20,
255 50, 100, 500, 100000};
257 const G4double G4PiNuclearCrossSection::mo_m_t[34] = {
258 2430, 2610, 2710, 2790, 2880, 2940, 2965, 2970, 2970, 2920, 2840, 2720,
259 2570, 2500, 2365, 2200, 2050, 1926, 1825, 1768, 1749, 1750, 1778, 1789,
260 1808, 1690, 1645, 1530, 1492, 1450, 1425, 1425, 1425, 1425};
262 const G4double G4PiNuclearCrossSection::mo_m_in[34] = {
263 925, 1125, 1250, 1375, 1500, 1600, 1680, 1750, 1770, 1730, 1660, 1580,
264 1500, 1450, 1330, 1250, 1190, 1140, 1100, 1075, 1075, 1070, 1088, 1095,
265 1110, 1035, 1005, 940, 917, 880, 860, 860, 860, 860};
267 const G4double G4PiNuclearCrossSection::mo_p_t[27] = {
268 410, 730, 1110, 1530, 1920, 2200, 2385, 2520, 2600, 2630, 2575, 2470,
269 2320, 2285, 2185, 2053, 1945, 1852, 1776, 1719, 1710, 1716, 1746, 1759,
272 const G4double G4PiNuclearCrossSection::mo_p_in[27] = {
273 270, 540, 825, 975, 1140, 1285, 1400, 1480, 1555, 1580, 1525, 1470,
274 1360, 1340, 1255, 1160, 1120, 1085, 1060, 1045, 1045, 1045, 1065, 1075,
277 const G4double G4PiNuclearCrossSection::cd_m_t[34] = {
278 3060, 3125, 3170, 3220, 3255, 3280, 3290, 3260, 3270, 3200, 3120, 3080,
279 3090, 2920, 2810, 2640, 2362, 2230, 2115, 2050, 2020, 2025, 2040, 2070,
280 2100, 1900, 1795, 1740, 1675, 1645, 1625, 1620, 1620, 1620};
282 const G4double G4PiNuclearCrossSection::cd_m_in[34]= {
283 1025, 1275, 1440, 1625, 1740, 1800, 1880, 1920, 1980, 1920, 1850, 1810,
284 1720, 1650, 1560, 1450, 1330, 1290, 1245, 1210, 1200, 1200, 1205, 1205,
285 1230, 1130, 1085, 1060, 1000, 985, 975, 970, 970, 970};
287 const G4double G4PiNuclearCrossSection::cd_p_t[28] = {
288 455, 780, 1170, 1700, 2120, 2400, 2600, 2720, 2820, 2840, 2800, 2760,
289 2720, 2640, 2560, 2450, 2252, 2130, 2035, 1985, 1970, 1975, 2005, 2035,
290 2070, 1880, 1795, 1740};
292 const G4double G4PiNuclearCrossSection::cd_p_in[28] = {
293 310, 580, 880, 1060, 1270, 1400, 1530, 1610, 1660, 1680, 1640, 1600,
294 1560, 1500, 1430, 1330, 1280, 1230, 1200, 1180, 1170, 1175, 1180, 1180,
295 1210, 1120, 1085, 1060};
297 const G4double G4PiNuclearCrossSection::e6[35] = {
298 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.12, 0.14, 0.16, 0.18,
299 0.20, 0.22, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.70, 0.80,
300 0.90, 1.0, 2.0, 3.0, 5.0, 10.0, 20.0, 50.0, 100.0, 500.0, 100000.0};
302 const G4double G4PiNuclearCrossSection::sn_m_t[35] = {
303 3000, 3180, 3250, 3300, 3300, 3410, 3470, 3450, 3410, 3350, 3280, 3200,
304 3120, 3050, 2900, 2630, 2500, 2325, 2190, 2100, 2060, 2055, 2055, 2055,
305 2067, 2085, 2000, 1900, 1835, 1770, 1720, 1700, 1695, 1695, 1695};
307 const G4double G4PiNuclearCrossSection::sn_m_in[35] = {
308 1050, 1350, 1520, 1650, 1800, 1980, 2070, 2120, 2090, 2050, 1980, 1920,
309 1830, 1770, 1670, 1500, 1435, 1350, 1300, 1230, 1220, 1235, 1235, 1235,
310 1237, 1240, 1160, 1120, 1090, 1065, 1040, 1020, 1015, 1015, 1015};
312 const G4double G4PiNuclearCrossSection::sn_p_t[29] = {
313 465, 800, 1200, 1760, 2170, 2480, 2730, 2885, 2970, 2980, 2970, 2890,
314 2840, 2790, 2620, 2450, 2335, 2205, 2080, 2020, 2010, 1990, 1990, 2015,
315 2030, 2045, 1980, 1890, 1835};
317 const G4double G4PiNuclearCrossSection::sn_p_in[29] = {
318 315, 590, 880, 1220, 1460, 1580, 1700, 1770, 1810, 1810, 1800, 1730,
319 1680, 1630, 1530, 1400, 1335, 1270, 1210, 1180, 1190, 1190, 1190, 1205,
320 1210, 1210, 1150, 1115, 1090};
322 const G4double G4PiNuclearCrossSection::w_m_t[35] = {
323 5200, 5115, 5025, 4975, 4900, 4850, 4780, 4725, 4600, 4490, 4355, 4255,
324 4125, 4040, 3830, 3580, 3330, 3110, 2955, 2860, 2852, 2845, 2885, 2900,
325 2915, 2940, 2800, 2660, 2570, 2490, 2460, 2425, 2420, 2420, 2420};
327 const G4double G4PiNuclearCrossSection::w_m_in[35] = {
328 1450, 1850, 2100, 2350, 2550, 2700, 2825, 2900, 2850, 2750, 2630, 2525,
329 2400, 2300, 2200, 2070, 1880, 1770, 1715, 1680, 1680, 1680, 1685, 1690,
330 1700, 1720, 1635, 1560, 1530, 1460, 1440, 1410, 1410, 1410, 1410};
332 const G4double G4PiNuclearCrossSection::w_p_t[30] = {
333 480, 900, 1500, 2350, 3020, 3420, 3650, 3775, 3875, 3830, 3750, 3700,
334 3630, 3550, 3550, 3290, 3070, 2890, 2840, 2730, 2725, 2720, 2770, 2805,
335 2828, 2865, 2770, 2640, 2570, 2490};
337 const G4double G4PiNuclearCrossSection::w_p_in[30] = {
338 325, 680, 990, 1500, 1850, 2150, 2250, 2300, 2350, 2330, 2280, 2230,
339 2200, 2120, 2130, 1900, 1780, 1670, 1635, 1600, 1602, 1605, 1610, 1615,
340 1630, 1660, 1620, 1550, 1530, 1460};
342 const G4double G4PiNuclearCrossSection::e7[35] = {
343 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.12, 0.14, 0.16, 0.18,
344 0.20, 0.22, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.70, 0.80,
345 0.90, 1, 2, 3, 5, 10, 20, 50, 100, 500, 100000};
347 const G4double G4PiNuclearCrossSection::pb_m_t[35] = {
348 5890, 5700, 5610, 5580, 5550, 5480, 5400, 5300, 5100, 4930, 4750, 4600,
349 4400, 4280, 4170, 3915, 3650, 3470, 3260, 3150, 3120, 3070, 3085, 3100,
350 3120, 3160, 3070, 2930, 2820, 2750, 2710, 2655, 2640, 2640, 2640};
352 const G4double G4PiNuclearCrossSection::pb_m_in[35] = {
353 1575, 2025, 2300, 2575, 2850, 3000, 3115, 3180, 3080, 2940, 2800, 2670, 2550, 2450, 2370,
354 2220, 2110, 2000, 1920, 1880, 1850, 1800, 1805, 1810, 1820, 1840, 1800, 1720, 1640, 1620,
355 1570, 1530, 1530, 1530, 1530};
357 const G4double G4PiNuclearCrossSection::pb_p_t[30] = {
358 515, 940, 1500, 2400, 3270, 3750, 4050, 4140, 4260, 4200, 4080, 3990, 3990, 3810, 3730,
359 3520, 3370, 3186, 3110, 3010, 2990, 2985, 3005, 3020, 3040, 3080, 3020, 2905, 2790, 2750};
361 const G4double G4PiNuclearCrossSection::pb_p_in[30] = {
362 348, 707, 1040, 1650, 2100, 2400, 2580, 2640, 2650, 2520, 2410, 2300, 2250, 2190, 2130,
363 2000, 1930, 1870, 1830, 1790, 1770, 1765, 1775, 1780, 1790, 1800, 1775, 1710, 1620, 1620};
365 const G4double G4PiNuclearCrossSection::u_m_t[35] = {
366 7080, 6830, 6650, 6530, 6400, 6280, 6100, 5840, 5660, 5520, 5330, 5160,
367 4990, 4810, 4630, 4323, 4130, 3870, 3700, 3550, 3490, 3465, 3467, 3475,
368 3495, 3515, 3440, 3360, 3150, 3040, 2985, 2955, 2940, 2940, 2940};
370 const G4double G4PiNuclearCrossSection::u_m_in[35] = {
371 1740, 2220, 2500, 2820, 3080, 3300, 3420, 3500, 3420, 3330, 3200, 3060,
372 2940, 2850, 2710, 2470, 2380, 2250, 2160, 2080, 2040, 2045, 2047, 2050,
373 2055, 2060, 2010, 1980, 1830, 1780, 1735, 1710, 1700, 1700, 1700};
375 const G4double G4PiNuclearCrossSection::u_p_t[30] = {
376 485, 960, 1580, 2700, 3550, 4050, 4320, 4420, 4620, 4660, 4580, 4470,
377 4350, 4295, 4187, 3938, 3755, 3573, 3450, 3342, 3310, 3295, 3310, 3330,
378 3375, 3405, 3350, 3338, 3135, 3040};
380 const G4double G4PiNuclearCrossSection::u_p_in[30] = {
381 334, 720, 1020, 1560, 2100, 2300, 2550, 2700, 2880, 2880, 2760, 2660,
382 2550, 2510, 2430, 2270, 2130, 2060, 2000, 1970, 1950, 1950, 1960, 1960,
383 1970, 1980, 1950, 1978, 1830, 1780};
388 fTotalXsc(0.0), fElasticXsc(0.0)
393 thePimData.push_back(
new G4PiData(he_t, he_in, e1, 38));
394 thePipData.push_back(
new G4PiData(he_t, he_in, e1, 38));
395 thePimData.push_back(
new G4PiData(be_m_t, be_m_in, e1, 38));
396 thePipData.push_back(
new G4PiData(be_p_t, be_p_in, e1, 24));
397 thePimData.push_back(
new G4PiData(c_m_t, c_m_in, e2, 39));
398 thePipData.push_back(
new G4PiData(c_p_t, c_p_in, e2, 24));
399 thePimData.push_back(
new G4PiData(n_m_t, n_m_in, e2, 39));
400 thePipData.push_back(
new G4PiData(n_p_t, n_p_in, e2, 27));
401 thePimData.push_back(
new G4PiData(o_m_t, o_m_in, e3, 31));
402 thePipData.push_back(
new G4PiData(o_p_t, o_p_in, e3, 20));
403 thePimData.push_back(
new G4PiData(na_m_t, na_m_in, e3, 31));
404 thePipData.push_back(
new G4PiData(na_p_t, na_p_in, e3, 22));
405 thePimData.push_back(
new G4PiData(al_m_t, al_m_in, e3_1, 31));
406 thePipData.push_back(
new G4PiData(al_p_t, al_p_in, e3_1, 21));
407 thePimData.push_back(
new G4PiData(ca_m_t, ca_m_in, e3_1, 31));
408 thePipData.push_back(
new G4PiData(ca_p_t, ca_p_in, e3_1, 23));
409 thePimData.push_back(
new G4PiData(fe_m_t, fe_m_in, e4, 32));
410 thePipData.push_back(
new G4PiData(fe_p_t, fe_p_in, e4, 25));
411 thePimData.push_back(
new G4PiData(cu_m_t, cu_m_in, e4, 32));
412 thePipData.push_back(
new G4PiData(cu_p_t, cu_p_in, e4, 25));
413 thePimData.push_back(
new G4PiData(mo_m_t, mo_m_in, e5, 34));
414 thePipData.push_back(
new G4PiData(mo_p_t, mo_p_in, e5, 27));
415 thePimData.push_back(
new G4PiData(cd_m_t, cd_m_in, e5, 34));
416 thePipData.push_back(
new G4PiData(cd_p_t, cd_p_in, e5, 28));
417 thePimData.push_back(
new G4PiData(sn_m_t, sn_m_in, e6, 35));
418 thePipData.push_back(
new G4PiData(sn_p_t, sn_p_in, e6, 29));
419 thePimData.push_back(
new G4PiData(w_m_t, w_m_in, e6, 35));
420 thePipData.push_back(
new G4PiData(w_p_t, w_p_in, e6, 30));
421 thePimData.push_back(
new G4PiData(pb_m_t, pb_m_in, e7, 35));
422 thePipData.push_back(
new G4PiData(pb_p_t, pb_p_in, e7, 30));
423 thePimData.push_back(
new G4PiData(u_m_t, u_m_in, e7, 35));
424 thePipData.push_back(
new G4PiData(u_p_t, u_p_in, e7, 30));
447 for(
auto xsec : thePimData) {
delete xsec; }
448 for(
auto xsec : thePipData) {
delete xsec; }
454 outFile <<
"G4PiNuclearCrossSection calculates the pion inelastic cross\n"
455 <<
"section for all nuclei heavier than hydrogen. It uses the\n"
456 <<
"Barashenkov cross sections and is valid for all incident\n"
473 ed <<
"This cross section is applicable only to pions and not to "
475 G4Exception(
"G4PiNuclearCrossSection::BuildPhysicsTable",
"had001",
493 while(it < theZ.size() && Z > theZ[it]) it++;
498 if( it == theZ.size() )
501 const G4bool isHeavyElementAllowed =
true;
502 if ( isHeavyElementAllowed ) {
504 G4int zz = (Z > 100) ? 100 : Z;
513 const std::vector<G4double> vecScaling{ 0.996756,
521 result = vecScaling[zz-93] * thePimData[it]->ReactionXSection( kineticEnergy );
522 fTotalXsc = vecScaling[zz-93] * thePimData[it]->TotalXSection( kineticEnergy );
523 fElasticXsc = std::max(fTotalXsc - result, 0.0);
527 ed <<
"This cross section not applicable to Z= " << Z <<
" projectile: "
529 G4Exception(
"G4PiNuclearCrossSection::GetElementCrossSection",
"had001",
539 result = thePimData[it]->ReactionXSection(kineticEnergy);
540 fTotalXsc = thePimData[it]->TotalXSection(kineticEnergy);
548 x1 = thePimData[it-1]->ReactionXSection(kineticEnergy);
549 xt1 = thePimData[it-1]->TotalXSection(kineticEnergy);
551 x2 = thePimData[it]->ReactionXSection(kineticEnergy);
552 xt2 = thePimData[it]->TotalXSection(kineticEnergy);
555 result = Interpolate(Z1, Z2, Z, x1, x2);
556 fTotalXsc = Interpolate(Z1, Z2, Z, xt1, xt2);
574 std::vector<G4PiData *> * theData = &thePimData;
575 if(thePipData[it]->AppliesTo(kineticEnergy))
577 theData = &thePipData;
579 result = theData->operator[](it)->ReactionXSection(kineticEnergy);
580 fTotalXsc = theData->operator[](it)->TotalXSection(kineticEnergy);
588 std::vector<G4PiData *> * theLData = &thePimData;
589 if(thePipData[it-1]->AppliesTo(kineticEnergy))
591 theLData = &thePipData;
593 std::vector<G4PiData *> * theHData = &thePimData;
594 if(thePipData[it]->AppliesTo(kineticEnergy))
596 theHData = &thePipData;
598 x1 = theLData->operator[](it-1)->ReactionXSection(kineticEnergy);
599 xt1 = theLData->operator[](it-1)->TotalXSection(kineticEnergy);
601 x2 = theHData->operator[](it)->ReactionXSection(kineticEnergy);
602 xt2 = theHData->operator[](it)->TotalXSection(kineticEnergy);
605 result = Interpolate(Z1, Z2, Z, x1, x2);
606 fTotalXsc = Interpolate(Z1, Z2, Z, xt1, xt2);
621 fElasticXsc = fTotalXsc - result;
622 if( fElasticXsc < 0.) fElasticXsc = 0.;
633 1.0001, 4.0000, 6.9241, 9.000, 10.801, 12.011, 14.004, 16.004, 19.000,
634 20.188, 23.000, 24.320, 27.000, 28.109, 31.000, 32.094, 35.484, 39.985,
635 39.135, 40.116, 45.000, 47.918, 50.998, 52.055, 55.000, 55.910, 59.000,
636 58.760, 63.617, 65.468, 69.798, 72.691, 75.000, 79.042, 79.986, 83.887,
637 85.557, 87.710, 89.000, 91.318, 93.000, 96.025, 98.000, 101.16, 103.00,
638 106.51, 107.96, 112.51, 114.91, 118.81, 121.86, 127.70, 127.00, 131.39,
639 133.00, 137.42, 139.00, 140.21, 141.00, 144.32, 145.00, 150.45, 152.04,
640 157.33, 159.00, 162.57, 165.00, 167.32, 169.00, 173.10, 175.03, 178.54,
641 181.00, 183.89, 186.25, 190.27, 192.25, 195.11, 197.00, 200.63, 204.41,
642 207.24, 209.00, 209.00, 210.00, 222.00, 223.00, 226.00, 227.00, 232.00,
649 for (
G4int i=0; i<92; ++i)
657 G4double r1 = x1 / A75[Z1-1] * A75[Z-1];
658 G4double r2 = x2 / A75[Z2-1] * A75[Z-1];
#define G4_DECLARE_XS_FACTORY(cross_section)
double A(double temperature)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
const G4ParticleDefinition * GetParticleDefinition() const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
virtual G4double GetElementCrossSection(const G4DynamicParticle *particle, G4int Z, const G4Material *)
virtual void CrossSectionDescription(std::ostream &) const
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual ~G4PiNuclearCrossSection()
G4PiNuclearCrossSection()
virtual G4bool IsElementApplicable(const G4DynamicParticle *aParticle, G4int Z, const G4Material *)
static G4PionMinus * PionMinus()
static G4PionPlus * PionPlus()
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
void SetMaxKinEnergy(G4double value)
void SetMinKinEnergy(G4double value)