Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -14,6 +14,42 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
12-Oct-2012 Gabriele Cosmo hadr-im_r-V09-05-08
- Explicitly inclusion of headers for system of units and physical
constants... fixed cases introduced again in last tags...
05-Oct-2012 Gunter Folger hadr-im_r-V09-05-07
- add Print() to G4CollisionInitialState
28-Sep-2012 Alberto Ribon hadr-im_r-V09-05-06
- Fixed reproducibility violation in G4CollisionComposite.cc.
20-Sep-2012 Gabriele Cosmo hadr-im_r-V09-05-05
- Explicitly use inclusion of headers for system of units and physical
constants, in plan to remove implicit inclusion from globals.hh.
12-Jun-2012 Gunter Folger hadr-im_r-V09-05-04
- fixes to avoid shadowing of variables
29-May-2012 Gunter Folger hadr-im_r-V09-05-03
- Fix coverity warnings, part 2; fixed ~20 more warnings, mostly not
initialized data members, or dead code.
Affected 25 source and 18 header files
29-May-2012 Gunter Folger hadr-im_r-V09-05-02
- Ignore: incomplete tag
18-May-2012 Gunter Folger hadr-im_r-V09-05-01
- Fix coverity warnings, part 1: includes done, src started.
03-Feb-2012 Gunter Folger hadr-im_r-V09-05-00
- Incorporate new data from extended nucleon-nucleon elastic scattering data,
i.e. SAID evaluation.
These double differential elastic cross sections now cover energies up to 5 GeV.
Data copied from G4LE{np,pp}..., affects
G4AngularDistribution{NP,PP}{,Data}.hh
11-Nov-2011Gunter Folger hadr-im_r-V09-04-01
- Move to new style G4Exception
@@ -41,7 +41,8 @@ class G4AngularDistributionNP : public G4VAngularDistribution
{
private:
enum { NENERGY=22, NANGLE=180 };
// enum { NENERGY=22, NANGLE=180 };
enum { NENERGY=39, NANGLE=180 };
public:
@@ -28,6 +28,7 @@
// THIS FILE contains static array initialization
// F.W. Jones, L.G. Greeniaus, H.P. Wellisch
// FWJ 27-AUG-2010: extended to 5 GeV by Tony Kwan TRIUMF
// Table of Cumulative np Scattering Probabilities
// To be used for generation as a function of std::cos(theta cm)
@@ -41,6 +42,8 @@
// Appended at end: cm momentum (GeV/c), Lab Energy (GeV), max
// dsigma/domega-CM (mb/sr), total cross section
#include "G4Types.hh"
G4float G4AngularDistributionNP::sig[NENERGY][NANGLE] = {
//------------ 0.01 GeV
{0.00007, 0.00030, 0.00066, 0.00118, 0.00184, 0.00265, 0.00360,
@@ -608,33 +611,532 @@
0.92349, 0.92705, 0.93068, 0.93437, 0.93811, 0.94189, 0.94568,
0.94948, 0.95326, 0.95701, 0.96071, 0.96434, 0.96789, 0.97135,
0.97472, 0.97798, 0.98115, 0.98421, 0.98717, 0.98999, 0.99263,
0.99502, 0.99707, 0.99865, 0.99965, 1.00000}
0.99502, 0.99707, 0.99865, 0.99965, 1.00000},
//--------- 1.3 GeV
{0.00044, 0.00170, 0.00506, 0.01004, 0.01659, 0.02465, 0.03416,
0.04506, 0.05727, 0.07071, 0.08529, 0.10091, 0.11749, 0.13490,
0.15303, 0.17179, 0.19105, 0.21070, 0.23062, 0.25072, 0.27089,
0.29104, 0.31108, 0.33093, 0.35050, 0.36974, 0.38858, 0.40696,
0.42485, 0.44221, 0.45900, 0.47520, 0.49079, 0.50576, 0.52012,
0.53384, 0.54695, 0.55944, 0.57133, 0.58264, 0.59338, 0.60357,
0.61323, 0.62239, 0.63107, 0.63930, 0.64709, 0.65448, 0.66148,
0.66812, 0.67441, 0.68038, 0.68605, 0.69143, 0.69654, 0.70138,
0.70599, 0.71035, 0.71450, 0.71843, 0.72215, 0.72567, 0.72900,
0.73214, 0.73511, 0.73790, 0.74052, 0.74298, 0.74529, 0.74744,
0.74945, 0.75133, 0.75308, 0.75470, 0.75622, 0.75763, 0.75895,
0.76018, 0.76133, 0.76242, 0.76344, 0.76442, 0.76536, 0.76628,
0.76717, 0.76805, 0.76893, 0.76981, 0.77071, 0.77164, 0.77259,
0.77358, 0.77461, 0.77569, 0.77682, 0.77801, 0.77927, 0.78059,
0.78198, 0.78344, 0.78497, 0.78658, 0.78826, 0.79002, 0.79185,
0.79376, 0.79574, 0.79778, 0.79990, 0.80207, 0.80431, 0.80660,
0.80894, 0.81133, 0.81376, 0.81623, 0.81872, 0.82125, 0.82379,
0.82635, 0.82893, 0.83151, 0.83409, 0.83668, 0.83927, 0.84185,
0.84443, 0.84701, 0.84958, 0.85215, 0.85471, 0.85727, 0.85982,
0.86238, 0.86494, 0.86750, 0.87007, 0.87264, 0.87523, 0.87783,
0.88044, 0.88308, 0.88573, 0.88841, 0.89113, 0.89388, 0.89667,
0.89951, 0.90239, 0.90534, 0.90836, 0.91144, 0.91460, 0.91784,
0.92115, 0.92455, 0.92803, 0.93158, 0.93520, 0.93889, 0.94262,
0.94638, 0.95016, 0.95394, 0.95769, 0.96141, 0.96508, 0.96867,
0.97219, 0.97561, 0.97894, 0.98217, 0.98529, 0.98828, 0.99112,
0.99373, 0.99605, 0.99794, 0.99929, 1.00000},
//--------- 1.4 GeV
{0.00047, 0.00183, 0.00543, 0.01078, 0.01782, 0.02649, 0.03671,
0.04843, 0.06154, 0.07596, 0.09158, 0.10830, 0.12599, 0.14453,
0.16381, 0.18368, 0.20401, 0.22469, 0.24558, 0.26658, 0.28758,
0.30846, 0.32913, 0.34951, 0.36951, 0.38907, 0.40813, 0.42664,
0.44456, 0.46184, 0.47847, 0.49443, 0.50971, 0.52431, 0.53821,
0.55145, 0.56402, 0.57594, 0.58723, 0.59792, 0.60803, 0.61758,
0.62661, 0.63515, 0.64321, 0.65084, 0.65805, 0.66488, 0.67135,
0.67748, 0.68330, 0.68883, 0.69408, 0.69908, 0.70383, 0.70835,
0.71265, 0.71674, 0.72063, 0.72433, 0.72784, 0.73117, 0.73432,
0.73729, 0.74010, 0.74274, 0.74522, 0.74754, 0.74971, 0.75173,
0.75361, 0.75535, 0.75697, 0.75846, 0.75985, 0.76112, 0.76230,
0.76340, 0.76441, 0.76536, 0.76625, 0.76710, 0.76791, 0.76869,
0.76946, 0.77022, 0.77098, 0.77175, 0.77255, 0.77338, 0.77424,
0.77515, 0.77612, 0.77714, 0.77823, 0.77939, 0.78062, 0.78193,
0.78333, 0.78481, 0.78637, 0.78803, 0.78977, 0.79160, 0.79352,
0.79553, 0.79762, 0.79980, 0.80205, 0.80439, 0.80679, 0.80925,
0.81178, 0.81437, 0.81700, 0.81967, 0.82238, 0.82512, 0.82788,
0.83066, 0.83345, 0.83625, 0.83905, 0.84184, 0.84463, 0.84740,
0.85016, 0.85291, 0.85564, 0.85835, 0.86105, 0.86373, 0.86639,
0.86903, 0.87166, 0.87427, 0.87687, 0.87945, 0.88203, 0.88459,
0.88715, 0.88970, 0.89224, 0.89480, 0.89735, 0.89992, 0.90250,
0.90511, 0.90775, 0.91043, 0.91316, 0.91594, 0.91878, 0.92170,
0.92469, 0.92776, 0.93092, 0.93416, 0.93747, 0.94087, 0.94432,
0.94784, 0.95139, 0.95496, 0.95854, 0.96211, 0.96564, 0.96912,
0.97254, 0.97588, 0.97914, 0.98231, 0.98538, 0.98833, 0.99113,
0.99373, 0.99603, 0.99793, 0.99929, 1.00000},
//--------- 1.5 GeV
{0.00049, 0.00194, 0.00576, 0.01143, 0.01890, 0.02810, 0.03895,
0.05136, 0.06525, 0.08051, 0.09702, 0.11466, 0.13329, 0.15278,
0.17297, 0.19374, 0.21493, 0.23642, 0.25807, 0.27974, 0.30132,
0.32270, 0.34379, 0.36448, 0.38471, 0.40440, 0.42350, 0.44196,
0.45974, 0.47682, 0.49316, 0.50877, 0.52364, 0.53776, 0.55116,
0.56384, 0.57583, 0.58715, 0.59782, 0.60788, 0.61736, 0.62629,
0.63471, 0.64264, 0.65013, 0.65719, 0.66387, 0.67019, 0.67618,
0.68187, 0.68727, 0.69240, 0.69730, 0.70196, 0.70641, 0.71066,
0.71472, 0.71859, 0.72228, 0.72580, 0.72915, 0.73233, 0.73534,
0.73820, 0.74090, 0.74344, 0.74583, 0.74806, 0.75015, 0.75209,
0.75390, 0.75557, 0.75711, 0.75853, 0.75984, 0.76105, 0.76215,
0.76318, 0.76412, 0.76500, 0.76582, 0.76660, 0.76734, 0.76806,
0.76877, 0.76947, 0.77018, 0.77091, 0.77167, 0.77247, 0.77331,
0.77420, 0.77516, 0.77618, 0.77728, 0.77845, 0.77972, 0.78107,
0.78251, 0.78405, 0.78569, 0.78743, 0.78927, 0.79121, 0.79325,
0.79539, 0.79763, 0.79996, 0.80238, 0.80489, 0.80747, 0.81014,
0.81287, 0.81567, 0.81852, 0.82142, 0.82435, 0.82732, 0.83032,
0.83333, 0.83635, 0.83937, 0.84239, 0.84540, 0.84839, 0.85136,
0.85431, 0.85724, 0.86014, 0.86300, 0.86584, 0.86864, 0.87141,
0.87414, 0.87684, 0.87951, 0.88215, 0.88475, 0.88732, 0.88986,
0.89237, 0.89485, 0.89731, 0.89974, 0.90216, 0.90457, 0.90697,
0.90938, 0.91180, 0.91424, 0.91671, 0.91923, 0.92180, 0.92443,
0.92714, 0.92993, 0.93281, 0.93578, 0.93885, 0.94200, 0.94524,
0.94855, 0.95193, 0.95535, 0.95880, 0.96226, 0.96571, 0.96913,
0.97250, 0.97582, 0.97906, 0.98222, 0.98528, 0.98824, 0.99105,
0.99366, 0.99598, 0.99790, 0.99928, 1.00000},
//--------- 1.6 GeV
{0.00052, 0.00203, 0.00605, 0.01201, 0.01986, 0.02952, 0.04091,
0.05394, 0.06851, 0.08449, 0.10176, 0.12018, 0.13960, 0.15987,
0.18083, 0.20233, 0.22421, 0.24632, 0.26852, 0.29069, 0.31269,
0.33440, 0.35574, 0.37661, 0.39692, 0.41662, 0.43563, 0.45393,
0.47148, 0.48825, 0.50423, 0.51942, 0.53381, 0.54743, 0.56029,
0.57240, 0.58380, 0.59452, 0.60458, 0.61404, 0.62291, 0.63125,
0.63908, 0.64645, 0.65339, 0.65993, 0.66612, 0.67198, 0.67753,
0.68281, 0.68783, 0.69262, 0.69720, 0.70157, 0.70576, 0.70977,
0.71361, 0.71729, 0.72081, 0.72417, 0.72739, 0.73045, 0.73336,
0.73612, 0.73874, 0.74121, 0.74353, 0.74571, 0.74774, 0.74964,
0.75140, 0.75303, 0.75454, 0.75592, 0.75720, 0.75837, 0.75945,
0.76045, 0.76136, 0.76222, 0.76302, 0.76378, 0.76451, 0.76522,
0.76592, 0.76662, 0.76734, 0.76807, 0.76885, 0.76966, 0.77052,
0.77145, 0.77244, 0.77351, 0.77466, 0.77590, 0.77723, 0.77865,
0.78018, 0.78181, 0.78355, 0.78540, 0.78736, 0.78943, 0.79161,
0.79390, 0.79629, 0.79879, 0.80138, 0.80407, 0.80685, 0.80972,
0.81266, 0.81566, 0.81873, 0.82185, 0.82501, 0.82820, 0.83142,
0.83465, 0.83789, 0.84113, 0.84435, 0.84756, 0.85075, 0.85391,
0.85704, 0.86012, 0.86317, 0.86618, 0.86914, 0.87205, 0.87491,
0.87773, 0.88049, 0.88320, 0.88587, 0.88848, 0.89104, 0.89355,
0.89601, 0.89843, 0.90080, 0.90313, 0.90543, 0.90769, 0.90993,
0.91216, 0.91439, 0.91663, 0.91888, 0.92118, 0.92352, 0.92592,
0.92839, 0.93095, 0.93361, 0.93637, 0.93924, 0.94221, 0.94529,
0.94846, 0.95172, 0.95505, 0.95843, 0.96184, 0.96527, 0.96868,
0.97207, 0.97541, 0.97868, 0.98188, 0.98500, 0.98800, 0.99086,
0.99352, 0.99589, 0.99784, 0.99926, 1.00000},
//--------- 1.7 GeV
{0.00054, 0.00212, 0.00631, 0.01254, 0.02072, 0.03080, 0.04268,
0.05626, 0.07142, 0.08804, 0.10598, 0.12508, 0.14517, 0.16611,
0.18771, 0.20981, 0.23225, 0.25488, 0.27753, 0.30007, 0.32237,
0.34432, 0.36580, 0.38673, 0.40703, 0.42664, 0.44549, 0.46356,
0.48082, 0.49724, 0.51282, 0.52756, 0.54147, 0.55456, 0.56687,
0.57842, 0.58925, 0.59938, 0.60886, 0.61773, 0.62604, 0.63381,
0.64110, 0.64795, 0.65439, 0.66045, 0.66619, 0.67161, 0.67677,
0.68167, 0.68635, 0.69082, 0.69510, 0.69920, 0.70315, 0.70694,
0.71058, 0.71408, 0.71744, 0.72066, 0.72375, 0.72670, 0.72951,
0.73219, 0.73473, 0.73714, 0.73940, 0.74153, 0.74353, 0.74539,
0.74712, 0.74873, 0.75021, 0.75159, 0.75285, 0.75402, 0.75509,
0.75609, 0.75701, 0.75788, 0.75870, 0.75947, 0.76022, 0.76096,
0.76169, 0.76243, 0.76319, 0.76397, 0.76479, 0.76566, 0.76659,
0.76758, 0.76865, 0.76979, 0.77102, 0.77235, 0.77377, 0.77530,
0.77693, 0.77867, 0.78053, 0.78250, 0.78459, 0.78679, 0.78911,
0.79155, 0.79410, 0.79676, 0.79952, 0.80239, 0.80535, 0.80840,
0.81153, 0.81473, 0.81800, 0.82132, 0.82468, 0.82808, 0.83149,
0.83493, 0.83836, 0.84179, 0.84520, 0.84859, 0.85194, 0.85526,
0.85854, 0.86177, 0.86494, 0.86806, 0.87112, 0.87412, 0.87706,
0.87994, 0.88275, 0.88549, 0.88817, 0.89078, 0.89333, 0.89580,
0.89822, 0.90057, 0.90286, 0.90509, 0.90728, 0.90941, 0.91152,
0.91359, 0.91566, 0.91772, 0.91980, 0.92190, 0.92406, 0.92627,
0.92856, 0.93095, 0.93344, 0.93604, 0.93877, 0.94161, 0.94459,
0.94768, 0.95088, 0.95417, 0.95754, 0.96096, 0.96441, 0.96787,
0.97132, 0.97473, 0.97809, 0.98137, 0.98456, 0.98765, 0.99059,
0.99332, 0.99576, 0.99777, 0.99923, 1.00000},
//--------- 1.8 GeV
{0.00056, 0.00220, 0.00656, 0.01302, 0.02152, 0.03198, 0.04430,
0.05838, 0.07409, 0.09129, 0.10983, 0.12954, 0.15025, 0.17178,
0.19395, 0.21658, 0.23950, 0.26255, 0.28557, 0.30841, 0.33095,
0.35306, 0.37463, 0.39557, 0.41581, 0.43528, 0.45394, 0.47175,
0.48869, 0.50474, 0.51991, 0.53420, 0.54762, 0.56021, 0.57199,
0.58299, 0.59326, 0.60284, 0.61177, 0.62009, 0.62786, 0.63511,
0.64190, 0.64825, 0.65422, 0.65984, 0.66515, 0.67018, 0.67496,
0.67951, 0.68386, 0.68803, 0.69203, 0.69588, 0.69958, 0.70316,
0.70660, 0.70992, 0.71312, 0.71620, 0.71916, 0.72199, 0.72470,
0.72729, 0.72976, 0.73209, 0.73430, 0.73638, 0.73834, 0.74017,
0.74188, 0.74347, 0.74494, 0.74631, 0.74758, 0.74876, 0.74985,
0.75087, 0.75182, 0.75272, 0.75357, 0.75439, 0.75519, 0.75598,
0.75677, 0.75758, 0.75840, 0.75926, 0.76016, 0.76112, 0.76213,
0.76321, 0.76437, 0.76561, 0.76694, 0.76837, 0.76990, 0.77153,
0.77328, 0.77514, 0.77711, 0.77920, 0.78142, 0.78375, 0.78620,
0.78878, 0.79147, 0.79427, 0.79719, 0.80021, 0.80333, 0.80654,
0.80984, 0.81321, 0.81664, 0.82013, 0.82367, 0.82723, 0.83082,
0.83442, 0.83802, 0.84160, 0.84517, 0.84870, 0.85219, 0.85564,
0.85904, 0.86238, 0.86566, 0.86886, 0.87200, 0.87507, 0.87806,
0.88098, 0.88382, 0.88658, 0.88926, 0.89187, 0.89439, 0.89683,
0.89920, 0.90149, 0.90370, 0.90585, 0.90793, 0.90996, 0.91195,
0.91390, 0.91582, 0.91775, 0.91968, 0.92164, 0.92365, 0.92572,
0.92787, 0.93013, 0.93250, 0.93499, 0.93763, 0.94041, 0.94333,
0.94638, 0.94957, 0.95287, 0.95627, 0.95974, 0.96326, 0.96681,
0.97035, 0.97387, 0.97734, 0.98073, 0.98404, 0.98723, 0.99027,
0.99309, 0.99561, 0.99770, 0.99920, 1.00000},
//--------- 1.9 GeV
{0.00058, 0.00228, 0.00679, 0.01347, 0.02227, 0.03309, 0.04583,
0.06038, 0.07659, 0.09433, 0.11343, 0.13370, 0.15496, 0.17703,
0.19971, 0.22282, 0.24617, 0.26960, 0.29294, 0.31604, 0.33877,
0.36099, 0.38262, 0.40355, 0.42370, 0.44303, 0.46148, 0.47903,
0.49565, 0.51134, 0.52610, 0.53995, 0.55292, 0.56502, 0.57629,
0.58679, 0.59654, 0.60559, 0.61400, 0.62181, 0.62908, 0.63584,
0.64215, 0.64805, 0.65358, 0.65879, 0.66370, 0.66835, 0.67277,
0.67699, 0.68103, 0.68490, 0.68863, 0.69223, 0.69570, 0.69905,
0.70230, 0.70544, 0.70847, 0.71140, 0.71422, 0.71693, 0.71954,
0.72203, 0.72441, 0.72667, 0.72882, 0.73085, 0.73277, 0.73456,
0.73625, 0.73783, 0.73930, 0.74068, 0.74196, 0.74316, 0.74428,
0.74533, 0.74633, 0.74728, 0.74819, 0.74907, 0.74994, 0.75081,
0.75168, 0.75257, 0.75349, 0.75444, 0.75544, 0.75649, 0.75760,
0.75879, 0.76005, 0.76140, 0.76284, 0.76438, 0.76601, 0.76776,
0.76961, 0.77158, 0.77366, 0.77586, 0.77819, 0.78063, 0.78320,
0.78589, 0.78869, 0.79162, 0.79466, 0.79780, 0.80105, 0.80439,
0.80781, 0.81131, 0.81488, 0.81850, 0.82217, 0.82587, 0.82959,
0.83332, 0.83704, 0.84075, 0.84443, 0.84807, 0.85167, 0.85522,
0.85871, 0.86213, 0.86548, 0.86875, 0.87195, 0.87506, 0.87809,
0.88103, 0.88389, 0.88666, 0.88933, 0.89192, 0.89442, 0.89683,
0.89915, 0.90138, 0.90353, 0.90561, 0.90761, 0.90955, 0.91143,
0.91328, 0.91510, 0.91691, 0.91873, 0.92058, 0.92248, 0.92445,
0.92651, 0.92868, 0.93097, 0.93341, 0.93599, 0.93874, 0.94165,
0.94472, 0.94793, 0.95128, 0.95474, 0.95830, 0.96192, 0.96558,
0.96925, 0.97290, 0.97650, 0.98003, 0.98346, 0.98677, 0.98992,
0.99284, 0.99545, 0.99761, 0.99917, 1.00000},
//--------- 2.0 GeV
{0.00060, 0.00235, 0.00701, 0.01391, 0.02299, 0.03416, 0.04730,
0.06230, 0.07900, 0.09725, 0.11687, 0.13768, 0.15947, 0.18206,
0.20522, 0.22877, 0.25253, 0.27630, 0.29993, 0.32327, 0.34617,
0.36850, 0.39016, 0.41107, 0.43114, 0.45031, 0.46856, 0.48584,
0.50216, 0.51750, 0.53188, 0.54532, 0.55784, 0.56948, 0.58028,
0.59029, 0.59955, 0.60812, 0.61604, 0.62338, 0.63017, 0.63648,
0.64234, 0.64781, 0.65294, 0.65775, 0.66228, 0.66658, 0.67066,
0.67456, 0.67830, 0.68189, 0.68535, 0.68870, 0.69194, 0.69508,
0.69812, 0.70107, 0.70394, 0.70671, 0.70939, 0.71197, 0.71446,
0.71685, 0.71914, 0.72133, 0.72341, 0.72539, 0.72726, 0.72903,
0.73070, 0.73226, 0.73374, 0.73513, 0.73643, 0.73766, 0.73882,
0.73993, 0.74098, 0.74199, 0.74298, 0.74395, 0.74490, 0.74586,
0.74683, 0.74782, 0.74884, 0.74990, 0.75100, 0.75217, 0.75339,
0.75469, 0.75606, 0.75752, 0.75906, 0.76070, 0.76244, 0.76428,
0.76623, 0.76829, 0.77046, 0.77276, 0.77517, 0.77770, 0.78035,
0.78312, 0.78601, 0.78902, 0.79214, 0.79537, 0.79871, 0.80214,
0.80565, 0.80924, 0.81290, 0.81662, 0.82038, 0.82417, 0.82798,
0.83180, 0.83561, 0.83940, 0.84316, 0.84689, 0.85056, 0.85418,
0.85773, 0.86121, 0.86461, 0.86792, 0.87115, 0.87429, 0.87734,
0.88030, 0.88316, 0.88592, 0.88859, 0.89116, 0.89363, 0.89601,
0.89829, 0.90047, 0.90257, 0.90458, 0.90652, 0.90839, 0.91020,
0.91196, 0.91370, 0.91543, 0.91717, 0.91894, 0.92076, 0.92266,
0.92466, 0.92677, 0.92903, 0.93144, 0.93401, 0.93677, 0.93970,
0.94280, 0.94607, 0.94950, 0.95306, 0.95672, 0.96047, 0.96426,
0.96807, 0.97186, 0.97561, 0.97928, 0.98285, 0.98629, 0.98956,
0.99259, 0.99529, 0.99752, 0.99914, 1.00000},
//--------- 2.2 GeV
{0.00063, 0.00250, 0.00744, 0.01476, 0.02440, 0.03623, 0.05015,
0.06601, 0.08365, 0.10288, 0.12351, 0.14533, 0.16812, 0.19166,
0.21574, 0.24014, 0.26465, 0.28908, 0.31326, 0.33703, 0.36024,
0.38276, 0.40448, 0.42533, 0.44523, 0.46412, 0.48198, 0.49879,
0.51454, 0.52924, 0.54292, 0.55560, 0.56731, 0.57812, 0.58806,
0.59719, 0.60557, 0.61326, 0.62031, 0.62678, 0.63274, 0.63822,
0.64329, 0.64799, 0.65236, 0.65646, 0.66031, 0.66395, 0.66740,
0.67070, 0.67387, 0.67692, 0.67988, 0.68274, 0.68553, 0.68824,
0.69089, 0.69347, 0.69599, 0.69844, 0.70083, 0.70315, 0.70540,
0.70758, 0.70969, 0.71172, 0.71367, 0.71555, 0.71734, 0.71906,
0.72070, 0.72227, 0.72377, 0.72520, 0.72658, 0.72790, 0.72917,
0.73041, 0.73161, 0.73279, 0.73395, 0.73511, 0.73628, 0.73745,
0.73864, 0.73986, 0.74111, 0.74240, 0.74373, 0.74512, 0.74657,
0.74808, 0.74966, 0.75131, 0.75304, 0.75485, 0.75675, 0.75874,
0.76082, 0.76300, 0.76528, 0.76767, 0.77017, 0.77278, 0.77551,
0.77835, 0.78130, 0.78437, 0.78755, 0.79084, 0.79423, 0.79772,
0.80129, 0.80495, 0.80868, 0.81247, 0.81631, 0.82017, 0.82406,
0.82796, 0.83185, 0.83573, 0.83957, 0.84337, 0.84711, 0.85079,
0.85440, 0.85793, 0.86138, 0.86473, 0.86799, 0.87115, 0.87421,
0.87717, 0.88002, 0.88276, 0.88540, 0.88793, 0.89036, 0.89268,
0.89489, 0.89700, 0.89902, 0.90094, 0.90278, 0.90455, 0.90626,
0.90792, 0.90955, 0.91118, 0.91283, 0.91451, 0.91626, 0.91810,
0.92005, 0.92215, 0.92440, 0.92684, 0.92947, 0.93230, 0.93535,
0.93860, 0.94205, 0.94569, 0.94948, 0.95341, 0.95744, 0.96153,
0.96565, 0.96976, 0.97382, 0.97779, 0.98165, 0.98535, 0.98885,
0.99209, 0.99497, 0.99736, 0.99909, 1.00000},
//--------- 2.4 GeV
{0.00067, 0.00264, 0.00785, 0.01558, 0.02574, 0.03821, 0.05286,
0.06954, 0.08806, 0.10823, 0.12981, 0.15259, 0.17632, 0.20077,
0.22570, 0.25088, 0.27610, 0.30116, 0.32586, 0.35003, 0.37354,
0.39624, 0.41803, 0.43884, 0.45859, 0.47724, 0.49476, 0.51114,
0.52639, 0.54053, 0.55358, 0.56559, 0.57660, 0.58667, 0.59586,
0.60423, 0.61184, 0.61876, 0.62505, 0.63077, 0.63599, 0.64076,
0.64513, 0.64915, 0.65287, 0.65634, 0.65958, 0.66264, 0.66554,
0.66830, 0.67096, 0.67352, 0.67601, 0.67843, 0.68079, 0.68311,
0.68538, 0.68761, 0.68980, 0.69195, 0.69406, 0.69613, 0.69815,
0.70014, 0.70207, 0.70396, 0.70579, 0.70758, 0.70931, 0.71100,
0.71263, 0.71422, 0.71576, 0.71727, 0.71874, 0.72017, 0.72158,
0.72298, 0.72436, 0.72573, 0.72710, 0.72848, 0.72986, 0.73127,
0.73269, 0.73415, 0.73563, 0.73715, 0.73871, 0.74031, 0.74195,
0.74365, 0.74539, 0.74720, 0.74905, 0.75098, 0.75296, 0.75502,
0.75715, 0.75936, 0.76166, 0.76404, 0.76652, 0.76910, 0.77178,
0.77457, 0.77746, 0.78047, 0.78359, 0.78681, 0.79014, 0.79357,
0.79710, 0.80071, 0.80441, 0.80816, 0.81198, 0.81583, 0.81972,
0.82361, 0.82751, 0.83139, 0.83525, 0.83907, 0.84283, 0.84653,
0.85016, 0.85371, 0.85717, 0.86054, 0.86381, 0.86698, 0.87004,
0.87299, 0.87584, 0.87857, 0.88118, 0.88369, 0.88608, 0.88836,
0.89053, 0.89259, 0.89455, 0.89642, 0.89820, 0.89991, 0.90156,
0.90317, 0.90475, 0.90634, 0.90794, 0.90960, 0.91133, 0.91317,
0.91514, 0.91728, 0.91959, 0.92211, 0.92485, 0.92782, 0.93103,
0.93446, 0.93813, 0.94200, 0.94605, 0.95026, 0.95458, 0.95898,
0.96341, 0.96783, 0.97218, 0.97645, 0.98057, 0.98451, 0.98823,
0.99166, 0.99470, 0.99721, 0.99904, 1.00000},
//--------- 2.6 GeV
{0.00070, 0.00277, 0.00824, 0.01635, 0.02700, 0.04007, 0.05542,
0.07286, 0.09220, 0.11323, 0.13570, 0.15936, 0.18397, 0.20926,
0.23498, 0.26089, 0.28675, 0.31237, 0.33754, 0.36209, 0.38586,
0.40874, 0.43061, 0.45138, 0.47101, 0.48944, 0.50666, 0.52267,
0.53748, 0.55112, 0.56362, 0.57504, 0.58544, 0.59487, 0.60341,
0.61111, 0.61806, 0.62431, 0.62995, 0.63503, 0.63962, 0.64377,
0.64755, 0.65100, 0.65416, 0.65709, 0.65981, 0.66237, 0.66479,
0.66709, 0.66930, 0.67143, 0.67351, 0.67554, 0.67754, 0.67950,
0.68144, 0.68336, 0.68526, 0.68715, 0.68902, 0.69087, 0.69270,
0.69451, 0.69630, 0.69807, 0.69982, 0.70154, 0.70323, 0.70491,
0.70655, 0.70818, 0.70979, 0.71138, 0.71296, 0.71453, 0.71609,
0.71765, 0.71921, 0.72078, 0.72236, 0.72395, 0.72556, 0.72719,
0.72884, 0.73051, 0.73221, 0.73393, 0.73568, 0.73746, 0.73927,
0.74110, 0.74297, 0.74487, 0.74680, 0.74877, 0.75079, 0.75285,
0.75496, 0.75712, 0.75935, 0.76166, 0.76404, 0.76650, 0.76906,
0.77172, 0.77447, 0.77734, 0.78032, 0.78341, 0.78661, 0.78993,
0.79334, 0.79686, 0.80046, 0.80414, 0.80789, 0.81170, 0.81555,
0.81942, 0.82331, 0.82719, 0.83105, 0.83488, 0.83867, 0.84239,
0.84605, 0.84963, 0.85313, 0.85653, 0.85983, 0.86302, 0.86610,
0.86908, 0.87193, 0.87467, 0.87729, 0.87979, 0.88217, 0.88444,
0.88659, 0.88863, 0.89056, 0.89239, 0.89414, 0.89582, 0.89743,
0.89900, 0.90056, 0.90212, 0.90371, 0.90536, 0.90710, 0.90896,
0.91096, 0.91315, 0.91553, 0.91814, 0.92099, 0.92409, 0.92745,
0.93107, 0.93492, 0.93901, 0.94329, 0.94774, 0.95231, 0.95697,
0.96166, 0.96633, 0.97094, 0.97543, 0.97977, 0.98390, 0.98778,
0.99135, 0.99450, 0.99711, 0.99900, 1.00000},
//--------- 2.8 GeV
{0.00073, 0.00289, 0.00860, 0.01706, 0.02817, 0.04179, 0.05777,
0.07591, 0.09600, 0.11781, 0.14108, 0.16554, 0.19093, 0.21697,
0.24340, 0.26997, 0.29643, 0.32256, 0.34817, 0.37305, 0.39708,
0.42011, 0.44204, 0.46280, 0.48233, 0.50059, 0.51757, 0.53327,
0.54771, 0.56093, 0.57298, 0.58392, 0.59380, 0.60270, 0.61070,
0.61785, 0.62425, 0.62997, 0.63507, 0.63962, 0.64370, 0.64735,
0.65064, 0.65362, 0.65633, 0.65883, 0.66113, 0.66328, 0.66531,
0.66725, 0.66910, 0.67090, 0.67266, 0.67438, 0.67609, 0.67778,
0.67947, 0.68116, 0.68285, 0.68454, 0.68624, 0.68794, 0.68965,
0.69136, 0.69307, 0.69478, 0.69649, 0.69820, 0.69991, 0.70161,
0.70332, 0.70502, 0.70672, 0.70843, 0.71014, 0.71186, 0.71358,
0.71532, 0.71707, 0.71883, 0.72061, 0.72241, 0.72423, 0.72606,
0.72791, 0.72977, 0.73166, 0.73355, 0.73545, 0.73737, 0.73929,
0.74122, 0.74316, 0.74511, 0.74706, 0.74903, 0.75101, 0.75301,
0.75504, 0.75710, 0.75921, 0.76136, 0.76358, 0.76587, 0.76825,
0.77071, 0.77327, 0.77594, 0.77872, 0.78162, 0.78463, 0.78777,
0.79102, 0.79438, 0.79785, 0.80141, 0.80505, 0.80877, 0.81254,
0.81636, 0.82020, 0.82405, 0.82789, 0.83172, 0.83551, 0.83925,
0.84293, 0.84653, 0.85005, 0.85348, 0.85681, 0.86004, 0.86315,
0.86615, 0.86903, 0.87179, 0.87442, 0.87693, 0.87932, 0.88159,
0.88373, 0.88577, 0.88769, 0.88951, 0.89124, 0.89290, 0.89450,
0.89606, 0.89760, 0.89916, 0.90075, 0.90240, 0.90416, 0.90604,
0.90809, 0.91032, 0.91277, 0.91545, 0.91839, 0.92160, 0.92508,
0.92883, 0.93283, 0.93708, 0.94153, 0.94616, 0.95091, 0.95575,
0.96063, 0.96548, 0.97025, 0.97489, 0.97936, 0.98360, 0.98757,
0.99121, 0.99442, 0.99707, 0.99898, 1.00000},
//--------- 3.0 GeV
{0.00076, 0.00300, 0.00892, 0.01769, 0.02919, 0.04329, 0.05981,
0.07854, 0.09927, 0.12174, 0.14569, 0.17082, 0.19686, 0.22353,
0.25054, 0.27764, 0.30457, 0.33111, 0.35706, 0.38222, 0.40644,
0.42960, 0.45158, 0.47231, 0.49173, 0.50983, 0.52659, 0.54202,
0.55615, 0.56902, 0.58069, 0.59122, 0.60068, 0.60915, 0.61670,
0.62342, 0.62938, 0.63466, 0.63934, 0.64349, 0.64717, 0.65044,
0.65337, 0.65600, 0.65838, 0.66056, 0.66257, 0.66444, 0.66621,
0.66790, 0.66953, 0.67112, 0.67268, 0.67424, 0.67579, 0.67735,
0.67893, 0.68052, 0.68214, 0.68378, 0.68544, 0.68713, 0.68884,
0.69058, 0.69234, 0.69412, 0.69592, 0.69773, 0.69956, 0.70141,
0.70327, 0.70514, 0.70702, 0.70892, 0.71083, 0.71276, 0.71470,
0.71666, 0.71863, 0.72061, 0.72262, 0.72463, 0.72666, 0.72869,
0.73074, 0.73278, 0.73483, 0.73687, 0.73890, 0.74092, 0.74293,
0.74492, 0.74688, 0.74883, 0.75076, 0.75267, 0.75457, 0.75646,
0.75835, 0.76025, 0.76217, 0.76412, 0.76611, 0.76815, 0.77027,
0.77246, 0.77475, 0.77714, 0.77964, 0.78226, 0.78500, 0.78787,
0.79086, 0.79397, 0.79721, 0.80055, 0.80399, 0.80753, 0.81113,
0.81479, 0.81850, 0.82224, 0.82598, 0.82972, 0.83343, 0.83711,
0.84074, 0.84431, 0.84781, 0.85122, 0.85454, 0.85776, 0.86087,
0.86387, 0.86676, 0.86953, 0.87218, 0.87470, 0.87711, 0.87939,
0.88155, 0.88360, 0.88554, 0.88738, 0.88914, 0.89082, 0.89244,
0.89403, 0.89560, 0.89719, 0.89882, 0.90052, 0.90233, 0.90426,
0.90637, 0.90867, 0.91119, 0.91396, 0.91699, 0.92030, 0.92388,
0.92774, 0.93186, 0.93622, 0.94079, 0.94554, 0.95041, 0.95537,
0.96035, 0.96529, 0.97015, 0.97486, 0.97938, 0.98365, 0.98763,
0.99126, 0.99445, 0.99708, 0.99899, 1.00000},
//--------- 3.4 GeV
{0.00079, 0.00310, 0.00922, 0.01828, 0.03014, 0.04465, 0.06161,
0.08081, 0.10201, 0.12494, 0.14932, 0.17485, 0.20124, 0.22819,
0.25542, 0.28267, 0.30967, 0.33619, 0.36203, 0.38701, 0.41098,
0.43380, 0.45539, 0.47567, 0.49459, 0.51214, 0.52831, 0.54314,
0.55665, 0.56889, 0.57993, 0.58985, 0.59871, 0.60661, 0.61362,
0.61982, 0.62530, 0.63014, 0.63442, 0.63820, 0.64155, 0.64454,
0.64722, 0.64964, 0.65185, 0.65389, 0.65580, 0.65761, 0.65935,
0.66105, 0.66273, 0.66440, 0.66609, 0.66781, 0.66957, 0.67138,
0.67325, 0.67518, 0.67717, 0.67923, 0.68136, 0.68355, 0.68581,
0.68813, 0.69051, 0.69294, 0.69541, 0.69793, 0.70048, 0.70307,
0.70568, 0.70832, 0.71097, 0.71364, 0.71632, 0.71901, 0.72170,
0.72439, 0.72708, 0.72976, 0.73243, 0.73508, 0.73771, 0.74031,
0.74288, 0.74541, 0.74789, 0.75031, 0.75267, 0.75497, 0.75719,
0.75933, 0.76138, 0.76336, 0.76525, 0.76706, 0.76879, 0.77045,
0.77206, 0.77361, 0.77513, 0.77663, 0.77813, 0.77964, 0.78119,
0.78279, 0.78446, 0.78621, 0.78806, 0.79003, 0.79213, 0.79436,
0.79672, 0.79923, 0.80188, 0.80466, 0.80757, 0.81060, 0.81373,
0.81697, 0.82028, 0.82365, 0.82708, 0.83053, 0.83400, 0.83747,
0.84093, 0.84435, 0.84773, 0.85106, 0.85432, 0.85751, 0.86062,
0.86364, 0.86656, 0.86938, 0.87210, 0.87471, 0.87721, 0.87959,
0.88187, 0.88405, 0.88612, 0.88810, 0.88999, 0.89182, 0.89359,
0.89532, 0.89704, 0.89877, 0.90054, 0.90237, 0.90431, 0.90637,
0.90859, 0.91099, 0.91361, 0.91646, 0.91956, 0.92293, 0.92655,
0.93044, 0.93456, 0.93892, 0.94346, 0.94816, 0.95296, 0.95783,
0.96269, 0.96750, 0.97218, 0.97670, 0.98099, 0.98500, 0.98870,
0.99204, 0.99496, 0.99735, 0.99908, 1.00000},
//--------- 3.8 GeV
{0.00077, 0.00304, 0.00904, 0.01792, 0.02952, 0.04371, 0.06028,
0.07902, 0.09967, 0.12198, 0.14567, 0.17043, 0.19598, 0.22204,
0.24832, 0.27455, 0.30049, 0.32592, 0.35063, 0.37445, 0.39725,
0.41890, 0.43933, 0.45845, 0.47625, 0.49269, 0.50780, 0.52161,
0.53414, 0.54547, 0.55565, 0.56477, 0.57289, 0.58010, 0.58649,
0.59213, 0.59710, 0.60149, 0.60536, 0.60879, 0.61183, 0.61455,
0.61700, 0.61923, 0.62129, 0.62322, 0.62505, 0.62681, 0.62855,
0.63028, 0.63203, 0.63382, 0.63567, 0.63760, 0.63961, 0.64173,
0.64396, 0.64630, 0.64877, 0.65136, 0.65407, 0.65691, 0.65986,
0.66293, 0.66611, 0.66939, 0.67276, 0.67621, 0.67975, 0.68334,
0.68700, 0.69071, 0.69446, 0.69825, 0.70206, 0.70590, 0.70974,
0.71360, 0.71744, 0.72128, 0.72510, 0.72889, 0.73264, 0.73634,
0.73999, 0.74356, 0.74705, 0.75044, 0.75372, 0.75689, 0.75993,
0.76284, 0.76560, 0.76821, 0.77067, 0.77299, 0.77516, 0.77719,
0.77909, 0.78088, 0.78257, 0.78418, 0.78573, 0.78724, 0.78873,
0.79024, 0.79178, 0.79338, 0.79506, 0.79684, 0.79873, 0.80076,
0.80292, 0.80524, 0.80771, 0.81033, 0.81311, 0.81603, 0.81909,
0.82228, 0.82558, 0.82897, 0.83245, 0.83599, 0.83957, 0.84318,
0.84680, 0.85042, 0.85401, 0.85756, 0.86106, 0.86450, 0.86786,
0.87113, 0.87430, 0.87737, 0.88032, 0.88315, 0.88585, 0.88842,
0.89086, 0.89318, 0.89536, 0.89742, 0.89937, 0.90122, 0.90298,
0.90467, 0.90632, 0.90795, 0.90959, 0.91126, 0.91300, 0.91484,
0.91681, 0.91894, 0.92126, 0.92379, 0.92655, 0.92956, 0.93281,
0.93631, 0.94004, 0.94400, 0.94814, 0.95244, 0.95685, 0.96131,
0.96579, 0.97022, 0.97454, 0.97869, 0.98264, 0.98632, 0.98970,
0.99274, 0.99540, 0.99757, 0.99916, 1.00000},
//--------- 4.2 GeV
{0.00078, 0.00307, 0.00913, 0.01809, 0.02982, 0.04417, 0.06093,
0.07989, 0.10079, 0.12334, 0.14725, 0.17223, 0.19797, 0.22417,
0.25054, 0.27681, 0.30272, 0.32806, 0.35261, 0.37621, 0.39871,
0.42000, 0.43999, 0.45863, 0.47589, 0.49175, 0.50624, 0.51940,
0.53127, 0.54191, 0.55141, 0.55983, 0.56728, 0.57382, 0.57956,
0.58458, 0.58897, 0.59280, 0.59615, 0.59910, 0.60170, 0.60402,
0.60612, 0.60804, 0.60983, 0.61153, 0.61318, 0.61480, 0.61643,
0.61809, 0.61981, 0.62160, 0.62348, 0.62545, 0.62754, 0.62975,
0.63208, 0.63453, 0.63711, 0.63981, 0.64263, 0.64556, 0.64860,
0.65173, 0.65495, 0.65825, 0.66162, 0.66506, 0.66855, 0.67209,
0.67567, 0.67929, 0.68294, 0.68663, 0.69035, 0.69409, 0.69787,
0.70167, 0.70550, 0.70935, 0.71322, 0.71711, 0.72101, 0.72491,
0.72881, 0.73269, 0.73653, 0.74033, 0.74407, 0.74773, 0.75129,
0.75476, 0.75810, 0.76130, 0.76437, 0.76728, 0.77004, 0.77265,
0.77511, 0.77742, 0.77960, 0.78166, 0.78362, 0.78550, 0.78731,
0.78909, 0.79086, 0.79264, 0.79445, 0.79632, 0.79827, 0.80031,
0.80246, 0.80474, 0.80714, 0.80968, 0.81235, 0.81516, 0.81809,
0.82114, 0.82430, 0.82755, 0.83087, 0.83426, 0.83770, 0.84116,
0.84464, 0.84811, 0.85156, 0.85497, 0.85834, 0.86164, 0.86486,
0.86800, 0.87104, 0.87397, 0.87679, 0.87949, 0.88207, 0.88451,
0.88683, 0.88902, 0.89108, 0.89303, 0.89486, 0.89660, 0.89827,
0.89987, 0.90144, 0.90299, 0.90457, 0.90620, 0.90791, 0.90974,
0.91171, 0.91387, 0.91624, 0.91884, 0.92169, 0.92481, 0.92820,
0.93186, 0.93578, 0.93993, 0.94430, 0.94884, 0.95352, 0.95826,
0.96303, 0.96776, 0.97239, 0.97686, 0.98111, 0.98509, 0.98876,
0.99206, 0.99495, 0.99734, 0.99907, 1.00000},
//--------- 4.6 GeV
{0.00078, 0.00309, 0.00920, 0.01824, 0.03008, 0.04457, 0.06151,
0.08066, 0.10176, 0.12452, 0.14865, 0.17384, 0.19977, 0.22615,
0.25267, 0.27907, 0.30508, 0.33048, 0.35506, 0.37866, 0.40112,
0.42234, 0.44222, 0.46073, 0.47784, 0.49353, 0.50784, 0.52079,
0.53245, 0.54288, 0.55216, 0.56037, 0.56760, 0.57395, 0.57951,
0.58435, 0.58858, 0.59227, 0.59550, 0.59835, 0.60087, 0.60314,
0.60520, 0.60711, 0.60892, 0.61066, 0.61237, 0.61408, 0.61583,
0.61763, 0.61950, 0.62147, 0.62355, 0.62574, 0.62806, 0.63050,
0.63308, 0.63577, 0.63859, 0.64153, 0.64456, 0.64770, 0.65091,
0.65419, 0.65753, 0.66092, 0.66433, 0.66778, 0.67123, 0.67470,
0.67817, 0.68165, 0.68512, 0.68860, 0.69209, 0.69559, 0.69911,
0.70264, 0.70621, 0.70981, 0.71344, 0.71711, 0.72081, 0.72455,
0.72830, 0.73208, 0.73585, 0.73962, 0.74335, 0.74705, 0.75068,
0.75423, 0.75768, 0.76102, 0.76422, 0.76729, 0.77020, 0.77295,
0.77555, 0.77799, 0.78028, 0.78244, 0.78448, 0.78641, 0.78826,
0.79005, 0.79180, 0.79355, 0.79531, 0.79711, 0.79897, 0.80092,
0.80296, 0.80511, 0.80739, 0.80979, 0.81233, 0.81499, 0.81777,
0.82067, 0.82367, 0.82677, 0.82993, 0.83315, 0.83641, 0.83970,
0.84298, 0.84626, 0.84950, 0.85270, 0.85584, 0.85890, 0.86188,
0.86477, 0.86755, 0.87022, 0.87278, 0.87521, 0.87752, 0.87971,
0.88178, 0.88373, 0.88557, 0.88731, 0.88897, 0.89055, 0.89207,
0.89357, 0.89505, 0.89656, 0.89812, 0.89976, 0.90152, 0.90342,
0.90551, 0.90780, 0.91033, 0.91313, 0.91620, 0.91956, 0.92321,
0.92716, 0.93137, 0.93584, 0.94053, 0.94540, 0.95041, 0.95549,
0.96059, 0.96565, 0.97059, 0.97536, 0.97990, 0.98414, 0.98805,
0.99157, 0.99464, 0.99717, 0.99901, 1.00000},
//--------- 5.0 GeV
{0.00079, 0.00311, 0.00924, 0.01833, 0.03024, 0.04481, 0.06184,
0.08109, 0.10230, 0.12518, 0.14941, 0.17470, 0.20071, 0.22715,
0.25372, 0.28014, 0.30616, 0.33154, 0.35608, 0.37960, 0.40197,
0.42308, 0.44285, 0.46121, 0.47816, 0.49369, 0.50783, 0.52061,
0.53209, 0.54235, 0.55146, 0.55951, 0.56660, 0.57280, 0.57823,
0.58295, 0.58707, 0.59067, 0.59382, 0.59660, 0.59907, 0.60130,
0.60334, 0.60524, 0.60706, 0.60882, 0.61058, 0.61236, 0.61419,
0.61609, 0.61809, 0.62020, 0.62244, 0.62481, 0.62732, 0.62996,
0.63275, 0.63566, 0.63870, 0.64185, 0.64510, 0.64843, 0.65182,
0.65526, 0.65873, 0.66222, 0.66571, 0.66919, 0.67265, 0.67608,
0.67948, 0.68284, 0.68618, 0.68949, 0.69278, 0.69606, 0.69935,
0.70264, 0.70596, 0.70931, 0.71271, 0.71615, 0.71965, 0.72319,
0.72679, 0.73043, 0.73410, 0.73779, 0.74148, 0.74515, 0.74879,
0.75237, 0.75587, 0.75927, 0.76256, 0.76571, 0.76871, 0.77155,
0.77424, 0.77676, 0.77912, 0.78134, 0.78343, 0.78539, 0.78726,
0.78906, 0.79081, 0.79254, 0.79427, 0.79604, 0.79786, 0.79976,
0.80175, 0.80386, 0.80608, 0.80843, 0.81092, 0.81353, 0.81626,
0.81911, 0.82206, 0.82509, 0.82820, 0.83135, 0.83454, 0.83774,
0.84094, 0.84411, 0.84724, 0.85031, 0.85330, 0.85621, 0.85903,
0.86174, 0.86434, 0.86682, 0.86919, 0.87143, 0.87355, 0.87555,
0.87744, 0.87923, 0.88092, 0.88252, 0.88406, 0.88554, 0.88699,
0.88844, 0.88990, 0.89142, 0.89300, 0.89470, 0.89654, 0.89855,
0.90076, 0.90321, 0.90591, 0.90889, 0.91217, 0.91575, 0.91963,
0.92382, 0.92828, 0.93300, 0.93794, 0.94307, 0.94833, 0.95366,
0.95900, 0.96429, 0.96945, 0.97443, 0.97916, 0.98357, 0.98763,
0.99127, 0.99445, 0.99707, 0.99898, 1.00000}
};
// CM momentum (GeV/c)
G4float G4AngularDistributionNP::pcm[NENERGY] = {
0.685E-01, 0.969E-01, 0.119, 0.153, 0.181, 0.217, 0.256,
0.291, 0.336, 0.399, 0.444, 0.484, 0.522, 0.539,
0.565, 0.589, 0.613, 0.650, 0.685, 0.718, 0.750
};
0.565, 0.589, 0.613, 0.650, 0.685, 0.718, 0.750,
0.781, 0.810, 0.839, 0.866, 0.893, 0.919, 0.944,
0.969, 1.016, 1.061, 1.104, 1.146, 1.186, 1.263,
1.335, 1.404, 1.469, 1.532
};
// Lab energy (GeV)
G4float G4AngularDistributionNP::elab[NENERGY] = {
0.100E-01, 0.200E-01, 0.300E-01, 0.500E-01, 0.700E-01, 0.100, 0.140,
0.180, 0.240, 0.340, 0.420, 0.500, 0.580, 0.620,
0.680, 0.740, 0.800, 0.900, 1.00, 1.10, 1.20
};
0.680, 0.740, 0.800, 0.900, 1.00, 1.10, 1.200,
1.300, 1.400, 1.500, 1.600, 1.700, 1.800, 1.900,
2.000, 2.200, 2.400, 2.600, 2.800, 3.000, 3.400,
3.800, 4.200, 4.600, 5.000
};
// Max dsigma/domega-CM (mb/sr)
G4float G4AngularDistributionNP::dsigmax[NENERGY] = {
79.0, 43.0, 29.8, 20.0, 16.3, 14.5, 13.3,
12.6, 11.9, 11.3, 11.1, 10.7, 9.69, 10.1,
11.4, 12.5, 13.3, 14.5, 15.6, 16.9, 18.3
};
11.4, 12.5, 13.3, 14.5, 15.6, 16.9, 18.3,
20.070, 21.620, 23.090, 24.460, 25.710, 26.870, 27.950,
28.990, 30.950, 32.790, 34.570, 36.370, 38.090, 40.810,
40.950, 40.230, 39.840, 39.010
};
// Total cross section
G4float G4AngularDistributionNP::sigtot[NENERGY] = {
947., 485., 310., 168., 110., 75.7, 55.2,
45.9, 39.1, 34.1, 32.3, 31.3, 30.1, 29.5,
28.4, 27.4, 26.4, 24.8, 23.4, 22.4, 21.9
};
28.4, 27.4, 26.4, 24.8, 23.4, 22.4, 21.9,
22.074, 22.182, 22.380, 22.589, 22.777, 22.939, 23.072,
23.182, 23.339, 23.443, 23.561, 23.752, 23.996, 24.841,
25.406, 24.742, 24.314, 23.695
};
@@ -41,7 +41,8 @@ class G4AngularDistributionPP : public G4VAngularDistribution
{
private:
enum { NENERGY=22, NANGLE=180 };
// enum { NENERGY=22, NANGLE=180 };
enum { NENERGY=40, NENERGYC=22, NANGLE=180 };
public:
@@ -55,10 +56,12 @@ class G4AngularDistributionPP : public G4VAngularDistribution
private:
static G4float sig[NENERGY][NANGLE];
static G4float pcm[NENERGY], elab[NENERGY],
dsigmax[NENERGY], sigtot[NENERGY];
};
// Coulomb effects suppressed:
static G4float sig[NENERGY][NANGLE];
static G4float pcm[NENERGY], elab[NENERGY],
dsigmax[NENERGY], sigtot[NENERGY];
};
#endif
@@ -28,6 +28,8 @@
// THIS FILE contains static array initialization
// F.W. Jones, L.G. Greeniaus, H.P. Wellisch
// FWJ 27-AUG-2010: extended Coulomb-suppressed data to 5 GeV
// Table of Cumulative nn or pp Scattering Probabilities
// To be used for generation as a function of std::cos(theta cm)
// Coulomb effects are SUPPRESSED
@@ -38,38 +40,52 @@
// Range of validity of tables: 10 - 1200 MeV
// Results are extracted from RA Arndt's PSA of 1998
// CM Angle range: 0.5 - 179.5 degrees in 1 degree steps
#include "G4Types.hh"
// CM momentum (GeV/c)
G4float G4AngularDistributionPP::pcm[NENERGY] = {
0.685E-01, 0.969E-01, 0.137, 0.181, 0.217, 0.237, 0.256,
0.291, 0.321, 0.349, 0.363, 0.375, 0.400, 0.444,
0.494, 0.540, 0.573, 0.613, 0.650, 0.685, 0.719, 0.751
0.494, 0.540, 0.573, 0.613, 0.650, 0.685, 0.719, 0.751,
0.781, 0.810, 0.839, 0.866, 0.893, 0.919, 0.944,
0.969, 1.016, 1.061, 1.104, 1.146, 1.186, 1.263,
1.335, 1.404, 1.469, 1.532
};
// Lab energy (GeV)
G4float G4AngularDistributionPP::elab[NENERGY] = {
0.100E-01, 0.200E-01, 0.400E-01, 0.700E-01, 0.100, 0.120, 0.140,
0.180, 0.220, 0.260, 0.280, 0.300, 0.340, 0.420,
0.520, 0.620, 0.700, 0.800, 0.900, 1.00, 1.10, 1.20
0.520, 0.620, 0.700, 0.800, 0.900, 1.00, 1.10, 1.20,
1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90,
2.00, 2.20, 2.40, 2.60, 2.80, 3.00, 3.40,
3.80, 4.20, 4.60, 5.00
};
// Max dSigma/domega-CM (mb/sr)
G4float G4AngularDistributionPP::dsigmax[NENERGY] = {
63.9, 29.9, 14.5, 8.97, 7.23, 6.66, 6.30,
5.89, 5.68, 5.57, 5.56, 5.57, 5.74, 6.38,
7.66, 9.65, 12.4, 15.6, 18.0, 20.1, 22.0, 23.8
7.66, 9.65, 12.4, 15.6, 18.0, 20.1, 22.0, 23.8,
26.710, 28.910, 31.000, 32.990, 34.900, 36.730, 38.520,
40.270, 43.680, 46.950, 50.100, 53.160, 55.880, 58.820,
57.420, 57.820, 58.590, 57.800
};
// Total cross section
G4float G4AngularDistributionPP::sigtot[NENERGY] = {
396., 179., 80.7, 44.5, 32.8, 29.0, 26.9,
24.9, 24.4, 24.3, 24.4, 24.4, 24.7, 25.5,
26.4, 26.1, 25.6, 25.1, 24.4, 23.4, 22.4, 21.5
26.4, 26.1, 25.6, 25.1, 24.4, 23.4, 22.4, 21.5,
22.765, 23.275, 23.744, 24.188, 24.620, 25.058, 25.509,
25.981, 26.984, 28.055, 29.242, 30.608, 32.026, 34.457,
34.394, 33.885, 34.122, 33.603
};
G4float G4AngularDistributionPP::sig[NENERGY][NANGLE] = {
//------------ 0.01 GeV
{0.00008, 0.00031, 0.00070, 0.00124, 0.00193, 0.00278, 0.00378,
{0.00008, 0.00031, 0.00070, 0.00124, 0.00193, 0.00278, 0.00378,
0.00494, 0.00624, 0.00770, 0.00932, 0.01108, 0.01299, 0.01506,
0.01727, 0.01963, 0.02214, 0.02480, 0.02760, 0.03055, 0.03364,
0.03687, 0.04025, 0.04377, 0.04743, 0.05122, 0.05515, 0.05922,
@@ -661,6 +677,493 @@
0.78531, 0.79690, 0.80861, 0.82040, 0.83224, 0.84409, 0.85591,
0.86765, 0.87926, 0.89069, 0.90188, 0.91277, 0.92330, 0.93341,
0.94303, 0.95210, 0.96057, 0.96836, 0.97543, 0.98170, 0.98714,
0.99168, 0.99528, 0.99789, 0.99947, 1.00000}
0.99168, 0.99528, 0.99789, 0.99947, 1.00000},
//--------- 1.3 GeV
{0.00015, 0.00134, 0.00371, 0.00720, 0.01178, 0.01737, 0.02391,
0.03133, 0.03957, 0.04856, 0.05823, 0.06850, 0.07930, 0.09057,
0.10223, 0.11420, 0.12643, 0.13883, 0.15137, 0.16396, 0.17656,
0.18913, 0.20161, 0.21395, 0.22613, 0.23811, 0.24987, 0.26137,
0.27259, 0.28351, 0.29412, 0.30440, 0.31434, 0.32392, 0.33315,
0.34201, 0.35050, 0.35861, 0.36636, 0.37373, 0.38074, 0.38739,
0.39369, 0.39964, 0.40526, 0.41056, 0.41555, 0.42024, 0.42465,
0.42879, 0.43269, 0.43634, 0.43978, 0.44300, 0.44604, 0.44890,
0.45160, 0.45414, 0.45654, 0.45882, 0.46097, 0.46302, 0.46497,
0.46682, 0.46860, 0.47029, 0.47192, 0.47348, 0.47498, 0.47642,
0.47782, 0.47918, 0.48049, 0.48177, 0.48301, 0.48423, 0.48542,
0.48659, 0.48774, 0.48886, 0.48998, 0.49108, 0.49216, 0.49324,
0.49431, 0.49537, 0.49643, 0.49748, 0.49853, 0.49957, 0.50062,
0.50166, 0.50271, 0.50376, 0.50482, 0.50588, 0.50695, 0.50803,
0.50911, 0.51021, 0.51133, 0.51246, 0.51360, 0.51477, 0.51596,
0.51718, 0.51842, 0.51970, 0.52101, 0.52237, 0.52377, 0.52521,
0.52671, 0.52827, 0.52990, 0.53159, 0.53337, 0.53522, 0.53717,
0.53922, 0.54137, 0.54365, 0.54605, 0.54859, 0.55129, 0.55415,
0.55719, 0.56041, 0.56385, 0.56750, 0.57139, 0.57554, 0.57995,
0.58464, 0.58963, 0.59492, 0.60054, 0.60649, 0.61279, 0.61944,
0.62645, 0.63383, 0.64157, 0.64969, 0.65818, 0.66703, 0.67626,
0.68584, 0.69578, 0.70605, 0.71666, 0.72759, 0.73881, 0.75030,
0.76205, 0.77403, 0.78621, 0.79856, 0.81104, 0.82360, 0.83621,
0.84880, 0.86132, 0.87373, 0.88595, 0.89793, 0.90958, 0.92085,
0.93165, 0.94192, 0.95159, 0.96058, 0.96882, 0.97624, 0.98278,
0.98837, 0.99295, 0.99644, 0.99881, 1.00000},
//--------- 1.4 GeV
{0.00017, 0.00149, 0.00412, 0.00800, 0.01307, 0.01926, 0.02649,
0.03468, 0.04375, 0.05362, 0.06420, 0.07541, 0.08717, 0.09938,
0.11197, 0.12485, 0.13795, 0.15118, 0.16447, 0.17777, 0.19101,
0.20414, 0.21710, 0.22986, 0.24237, 0.25460, 0.26653, 0.27812,
0.28937, 0.30024, 0.31074, 0.32085, 0.33055, 0.33986, 0.34876,
0.35725, 0.36533, 0.37302, 0.38030, 0.38719, 0.39371, 0.39984,
0.40562, 0.41104, 0.41614, 0.42091, 0.42538, 0.42956, 0.43347,
0.43712, 0.44054, 0.44374, 0.44674, 0.44954, 0.45218, 0.45465,
0.45698, 0.45918, 0.46125, 0.46322, 0.46508, 0.46685, 0.46854,
0.47015, 0.47169, 0.47316, 0.47458, 0.47595, 0.47727, 0.47854,
0.47978, 0.48098, 0.48214, 0.48329, 0.48440, 0.48550, 0.48657,
0.48763, 0.48867, 0.48970, 0.49072, 0.49173, 0.49273, 0.49373,
0.49472, 0.49570, 0.49668, 0.49766, 0.49864, 0.49962, 0.50059,
0.50157, 0.50254, 0.50352, 0.50451, 0.50549, 0.50648, 0.50748,
0.50848, 0.50949, 0.51051, 0.51154, 0.51258, 0.51364, 0.51471,
0.51581, 0.51692, 0.51806, 0.51923, 0.52043, 0.52167, 0.52294,
0.52426, 0.52562, 0.52704, 0.52852, 0.53006, 0.53167, 0.53336,
0.53513, 0.53699, 0.53895, 0.54103, 0.54322, 0.54555, 0.54803,
0.55066, 0.55347, 0.55646, 0.55966, 0.56308, 0.56674, 0.57065,
0.57483, 0.57929, 0.58407, 0.58916, 0.59459, 0.60036, 0.60650,
0.61301, 0.61990, 0.62719, 0.63487, 0.64295, 0.65144, 0.66034,
0.66965, 0.67935, 0.68946, 0.69995, 0.71083, 0.72207, 0.73367,
0.74559, 0.75782, 0.77033, 0.78309, 0.79604, 0.80917, 0.82240,
0.83569, 0.84899, 0.86222, 0.87531, 0.88820, 0.90078, 0.91300,
0.92476, 0.93597, 0.94655, 0.95642, 0.96549, 0.97368, 0.98091,
0.98709, 0.99216, 0.99604, 0.99867, 1.00000},
//--------- 1.5 GeV
{0.00018, 0.00164, 0.00453, 0.00879, 0.01436, 0.02113, 0.02904,
0.03798, 0.04787, 0.05860, 0.07008, 0.08221, 0.09489, 0.10802,
0.12151, 0.13525, 0.14917, 0.16316, 0.17717, 0.19110, 0.20490,
0.21851, 0.23188, 0.24496, 0.25772, 0.27012, 0.28213, 0.29374,
0.30493, 0.31568, 0.32599, 0.33586, 0.34527, 0.35424, 0.36276,
0.37084, 0.37849, 0.38570, 0.39251, 0.39890, 0.40491, 0.41053,
0.41580, 0.42071, 0.42530, 0.42958, 0.43356, 0.43727, 0.44073,
0.44394, 0.44694, 0.44974, 0.45235, 0.45479, 0.45708, 0.45923,
0.46126, 0.46317, 0.46498, 0.46669, 0.46832, 0.46987, 0.47135,
0.47277, 0.47413, 0.47544, 0.47670, 0.47792, 0.47910, 0.48024,
0.48135, 0.48243, 0.48349, 0.48452, 0.48554, 0.48654, 0.48752,
0.48849, 0.48945, 0.49040, 0.49134, 0.49228, 0.49321, 0.49414,
0.49506, 0.49598, 0.49690, 0.49781, 0.49873, 0.49964, 0.50055,
0.50147, 0.50238, 0.50330, 0.50421, 0.50513, 0.50606, 0.50698,
0.50791, 0.50885, 0.50979, 0.51074, 0.51170, 0.51267, 0.51365,
0.51465, 0.51567, 0.51670, 0.51776, 0.51884, 0.51995, 0.52110,
0.52228, 0.52349, 0.52475, 0.52606, 0.52742, 0.52884, 0.53032,
0.53187, 0.53350, 0.53522, 0.53702, 0.53893, 0.54096, 0.54311,
0.54540, 0.54784, 0.55045, 0.55325, 0.55625, 0.55947, 0.56292,
0.56663, 0.57061, 0.57489, 0.57948, 0.58439, 0.58966, 0.59528,
0.60129, 0.60769, 0.61449, 0.62171, 0.62935, 0.63743, 0.64595,
0.65492, 0.66433, 0.67420, 0.68451, 0.69526, 0.70645, 0.71805,
0.73007, 0.74247, 0.75522, 0.76830, 0.78167, 0.79528, 0.80908,
0.82302, 0.83702, 0.85102, 0.86493, 0.87868, 0.89216, 0.90529,
0.91798, 0.93011, 0.94159, 0.95232, 0.96220, 0.97114, 0.97905,
0.98583, 0.99139, 0.99565, 0.99854, 1.00000},
//--------- 1.6 GeV
{0.00020, 0.00179, 0.00493, 0.00957, 0.01561, 0.02296, 0.03153,
0.04121, 0.05189, 0.06345, 0.07580, 0.08882, 0.10238, 0.11639,
0.13073, 0.14529, 0.15997, 0.17468, 0.18933, 0.20385, 0.21816,
0.23219, 0.24591, 0.25925, 0.27218, 0.28468, 0.29672, 0.30828,
0.31935, 0.32992, 0.33999, 0.34957, 0.35865, 0.36724, 0.37535,
0.38300, 0.39018, 0.39693, 0.40324, 0.40914, 0.41465, 0.41978,
0.42455, 0.42899, 0.43310, 0.43692, 0.44046, 0.44374, 0.44679,
0.44961, 0.45224, 0.45469, 0.45697, 0.45911, 0.46111, 0.46299,
0.46476, 0.46644, 0.46803, 0.46954, 0.47098, 0.47236, 0.47368,
0.47495, 0.47617, 0.47735, 0.47849, 0.47959, 0.48066, 0.48171,
0.48272, 0.48371, 0.48468, 0.48563, 0.48657, 0.48749, 0.48840,
0.48930, 0.49019, 0.49107, 0.49195, 0.49282, 0.49368, 0.49455,
0.49541, 0.49626, 0.49712, 0.49797, 0.49883, 0.49968, 0.50054,
0.50139, 0.50224, 0.50310, 0.50395, 0.50481, 0.50567, 0.50654,
0.50740, 0.50827, 0.50915, 0.51003, 0.51092, 0.51182, 0.51273,
0.51365, 0.51458, 0.51554, 0.51651, 0.51750, 0.51851, 0.51955,
0.52063, 0.52173, 0.52287, 0.52405, 0.52527, 0.52654, 0.52786,
0.52924, 0.53068, 0.53219, 0.53378, 0.53546, 0.53723, 0.53911,
0.54111, 0.54325, 0.54553, 0.54797, 0.55060, 0.55343, 0.55647,
0.55975, 0.56329, 0.56711, 0.57123, 0.57566, 0.58043, 0.58556,
0.59107, 0.59697, 0.60328, 0.61003, 0.61721, 0.62485, 0.63297,
0.64156, 0.65064, 0.66021, 0.67029, 0.68086, 0.69193, 0.70349,
0.71553, 0.72802, 0.74096, 0.75430, 0.76801, 0.78205, 0.79636,
0.81087, 0.82552, 0.84023, 0.85492, 0.86948, 0.88382, 0.89782,
0.91139, 0.92440, 0.93675, 0.94831, 0.95899, 0.96867, 0.97724,
0.98459, 0.99063, 0.99527, 0.99841, 1.00000},
//--------- 1.7 GeV
{0.00022, 0.00193, 0.00532, 0.01032, 0.01683, 0.02474, 0.03395,
0.04433, 0.05578, 0.06815, 0.08133, 0.09520, 0.10962, 0.12446,
0.13961, 0.15494, 0.17034, 0.18572, 0.20096, 0.21600, 0.23076,
0.24517, 0.25917, 0.27272, 0.28578, 0.29832, 0.31033, 0.32180,
0.33271, 0.34306, 0.35286, 0.36212, 0.37084, 0.37904, 0.38673,
0.39393, 0.40066, 0.40693, 0.41276, 0.41818, 0.42321, 0.42787,
0.43218, 0.43617, 0.43985, 0.44324, 0.44638, 0.44928, 0.45196,
0.45445, 0.45675, 0.45889, 0.46089, 0.46276, 0.46452, 0.46617,
0.46773, 0.46922, 0.47063, 0.47198, 0.47327, 0.47451, 0.47570,
0.47685, 0.47796, 0.47904, 0.48008, 0.48109, 0.48208, 0.48304,
0.48398, 0.48490, 0.48580, 0.48668, 0.48755, 0.48840, 0.48925,
0.49008, 0.49091, 0.49173, 0.49254, 0.49335, 0.49416, 0.49496,
0.49576, 0.49656, 0.49735, 0.49815, 0.49894, 0.49973, 0.50052,
0.50131, 0.50211, 0.50290, 0.50370, 0.50449, 0.50529, 0.50609,
0.50690, 0.50771, 0.50852, 0.50934, 0.51017, 0.51100, 0.51185,
0.51270, 0.51357, 0.51446, 0.51536, 0.51627, 0.51721, 0.51817,
0.51916, 0.52017, 0.52122, 0.52229, 0.52340, 0.52455, 0.52575,
0.52698, 0.52827, 0.52962, 0.53103, 0.53252, 0.53408, 0.53573,
0.53749, 0.53936, 0.54136, 0.54350, 0.54581, 0.54829, 0.55097,
0.55387, 0.55700, 0.56040, 0.56408, 0.56806, 0.57237, 0.57703,
0.58206, 0.58748, 0.59332, 0.59959, 0.60631, 0.61351, 0.62120,
0.62940, 0.63812, 0.64737, 0.65717, 0.66753, 0.67844, 0.68990,
0.70191, 0.71446, 0.72751, 0.74106, 0.75506, 0.76947, 0.78423,
0.79927, 0.81452, 0.82989, 0.84529, 0.86062, 0.87577, 0.89060,
0.90502, 0.91888, 0.93207, 0.94444, 0.95588, 0.96627, 0.97548,
0.98339, 0.98990, 0.99489, 0.99828, 1.00000},
//--------- 1.8 GeV
{0.00023, 0.00207, 0.00570, 0.01104, 0.01800, 0.02645, 0.03628,
0.04735, 0.05953, 0.07268, 0.08666, 0.10134, 0.11657, 0.13221,
0.14812, 0.16418, 0.18027, 0.19626, 0.21207, 0.22759, 0.24274,
0.25747, 0.27172, 0.28543, 0.29858, 0.31114, 0.32309, 0.33443,
0.34515, 0.35526, 0.36477, 0.37369, 0.38204, 0.38984, 0.39710,
0.40386, 0.41014, 0.41595, 0.42133, 0.42629, 0.43087, 0.43509,
0.43897, 0.44254, 0.44582, 0.44884, 0.45161, 0.45417, 0.45653,
0.45871, 0.46073, 0.46261, 0.46436, 0.46600, 0.46755, 0.46901,
0.47039, 0.47171, 0.47297, 0.47418, 0.47534, 0.47646, 0.47755,
0.47860, 0.47961, 0.48060, 0.48156, 0.48250, 0.48341, 0.48431,
0.48518, 0.48603, 0.48687, 0.48769, 0.48850, 0.48929, 0.49008,
0.49086, 0.49162, 0.49238, 0.49314, 0.49389, 0.49463, 0.49537,
0.49611, 0.49684, 0.49757, 0.49830, 0.49903, 0.49976, 0.50049,
0.50122, 0.50195, 0.50268, 0.50341, 0.50414, 0.50488, 0.50562,
0.50637, 0.50711, 0.50787, 0.50863, 0.50940, 0.51017, 0.51096,
0.51175, 0.51256, 0.51338, 0.51422, 0.51507, 0.51595, 0.51684,
0.51775, 0.51869, 0.51965, 0.52064, 0.52166, 0.52270, 0.52379,
0.52491, 0.52607, 0.52728, 0.52854, 0.52986, 0.53125, 0.53270,
0.53425, 0.53589, 0.53764, 0.53952, 0.54154, 0.54372, 0.54608,
0.54864, 0.55141, 0.55443, 0.55771, 0.56128, 0.56516, 0.56937,
0.57395, 0.57892, 0.58429, 0.59011, 0.59638, 0.60314, 0.61040,
0.61820, 0.62655, 0.63547, 0.64498, 0.65509, 0.66581, 0.67715,
0.68910, 0.70165, 0.71480, 0.72852, 0.74276, 0.75749, 0.77265,
0.78817, 0.80397, 0.81997, 0.83605, 0.85211, 0.86803, 0.88367,
0.89889, 0.91357, 0.92756, 0.94071, 0.95289, 0.96395, 0.97378,
0.98223, 0.98919, 0.99453, 0.99816, 1.00000},
//--------- 1.9 GeV
{0.00025, 0.00220, 0.00606, 0.01174, 0.01913, 0.02810, 0.03852,
0.05025, 0.06314, 0.07703, 0.09179, 0.10724, 0.12324, 0.13964,
0.15628, 0.17304, 0.18976, 0.20634, 0.22266, 0.23863, 0.25416,
0.26918, 0.28364, 0.29749, 0.31069, 0.32324, 0.33511, 0.34630,
0.35682, 0.36668, 0.37589, 0.38447, 0.39245, 0.39985, 0.40671,
0.41304, 0.41888, 0.42426, 0.42920, 0.43374, 0.43790, 0.44171,
0.44519, 0.44839, 0.45131, 0.45398, 0.45643, 0.45868, 0.46075,
0.46266, 0.46443, 0.46608, 0.46762, 0.46906, 0.47042, 0.47171,
0.47294, 0.47411, 0.47524, 0.47632, 0.47737, 0.47839, 0.47937,
0.48033, 0.48126, 0.48217, 0.48306, 0.48392, 0.48476, 0.48559,
0.48640, 0.48719, 0.48797, 0.48873, 0.48948, 0.49021, 0.49094,
0.49166, 0.49236, 0.49306, 0.49376, 0.49445, 0.49513, 0.49581,
0.49648, 0.49715, 0.49782, 0.49848, 0.49915, 0.49981, 0.50047,
0.50113, 0.50180, 0.50246, 0.50313, 0.50380, 0.50448, 0.50515,
0.50584, 0.50652, 0.50722, 0.50792, 0.50862, 0.50934, 0.51007,
0.51080, 0.51155, 0.51232, 0.51309, 0.51388, 0.51469, 0.51552,
0.51636, 0.51723, 0.51811, 0.51902, 0.51995, 0.52091, 0.52189,
0.52291, 0.52396, 0.52504, 0.52617, 0.52734, 0.52857, 0.52986,
0.53122, 0.53266, 0.53420, 0.53585, 0.53762, 0.53953, 0.54160,
0.54385, 0.54630, 0.54897, 0.55189, 0.55508, 0.55857, 0.56238,
0.56654, 0.57108, 0.57602, 0.58140, 0.58724, 0.59357, 0.60042,
0.60783, 0.61581, 0.62439, 0.63360, 0.64345, 0.65397, 0.66516,
0.67703, 0.68957, 0.70278, 0.71663, 0.73109, 0.74610, 0.76163,
0.77760, 0.79392, 0.81049, 0.82721, 0.84396, 0.86061, 0.87700,
0.89301, 0.90846, 0.92322, 0.93711, 0.95000, 0.96172, 0.97214,
0.98112, 0.98851, 0.99419, 0.99805, 1.00000},
//--------- 2.0 GeV
{0.00026, 0.00233, 0.00641, 0.01241, 0.02022, 0.02969, 0.04068,
0.05304, 0.06661, 0.08122, 0.09672, 0.11292, 0.12968, 0.14681,
0.16415, 0.18156, 0.19889, 0.21601, 0.23282, 0.24920, 0.26507,
0.28035, 0.29500, 0.30896, 0.32220, 0.33472, 0.34649, 0.35753,
0.36784, 0.37744, 0.38635, 0.39460, 0.40222, 0.40924, 0.41570,
0.42162, 0.42705, 0.43201, 0.43655, 0.44069, 0.44446, 0.44789,
0.45102, 0.45387, 0.45646, 0.45883, 0.46099, 0.46297, 0.46478,
0.46646, 0.46800, 0.46944, 0.47079, 0.47205, 0.47325, 0.47439,
0.47547, 0.47651, 0.47751, 0.47848, 0.47942, 0.48034, 0.48123,
0.48210, 0.48294, 0.48377, 0.48458, 0.48537, 0.48614, 0.48690,
0.48764, 0.48837, 0.48908, 0.48978, 0.49047, 0.49114, 0.49181,
0.49246, 0.49311, 0.49375, 0.49438, 0.49501, 0.49562, 0.49624,
0.49685, 0.49745, 0.49806, 0.49866, 0.49925, 0.49985, 0.50045,
0.50104, 0.50164, 0.50224, 0.50284, 0.50345, 0.50406, 0.50467,
0.50529, 0.50592, 0.50655, 0.50719, 0.50783, 0.50849, 0.50915,
0.50983, 0.51052, 0.51122, 0.51193, 0.51266, 0.51340, 0.51415,
0.51493, 0.51572, 0.51653, 0.51735, 0.51820, 0.51907, 0.51996,
0.52087, 0.52182, 0.52278, 0.52379, 0.52483, 0.52591, 0.52705,
0.52824, 0.52951, 0.53085, 0.53229, 0.53384, 0.53551, 0.53733,
0.53931, 0.54147, 0.54383, 0.54643, 0.54927, 0.55240, 0.55584,
0.55961, 0.56375, 0.56828, 0.57325, 0.57867, 0.58460, 0.59105,
0.59807, 0.60569, 0.61394, 0.62285, 0.63245, 0.64276, 0.65379,
0.66556, 0.67807, 0.69132, 0.70528, 0.71992, 0.73520, 0.75107,
0.76745, 0.78425, 0.80138, 0.81871, 0.83611, 0.85346, 0.87059,
0.88734, 0.90355, 0.91904, 0.93366, 0.94723, 0.95958, 0.97057,
0.98004, 0.98785, 0.99385, 0.99793, 1.00000},
//--------- 2.2 GeV
{0.00029, 0.00256, 0.00706, 0.01367, 0.02225, 0.03265, 0.04472,
0.05826, 0.07311, 0.08907, 0.10596, 0.12357, 0.14172, 0.16020,
0.17885, 0.19749, 0.21595, 0.23409, 0.25179, 0.26893, 0.28541,
0.30116, 0.31613, 0.33026, 0.34354, 0.35596, 0.36752, 0.37823,
0.38811, 0.39720, 0.40553, 0.41314, 0.42007, 0.42637, 0.43208,
0.43725, 0.44192, 0.44614, 0.44994, 0.45337, 0.45645, 0.45923,
0.46173, 0.46399, 0.46602, 0.46787, 0.46954, 0.47106, 0.47245,
0.47373, 0.47491, 0.47600, 0.47703, 0.47799, 0.47890, 0.47977,
0.48061, 0.48141, 0.48219, 0.48295, 0.48368, 0.48440, 0.48511,
0.48579, 0.48647, 0.48713, 0.48778, 0.48841, 0.48903, 0.48964,
0.49024, 0.49082, 0.49139, 0.49195, 0.49251, 0.49305, 0.49358,
0.49410, 0.49462, 0.49513, 0.49563, 0.49612, 0.49661, 0.49710,
0.49758, 0.49806, 0.49853, 0.49900, 0.49947, 0.49994, 0.50041,
0.50088, 0.50135, 0.50182, 0.50229, 0.50277, 0.50325, 0.50373,
0.50422, 0.50472, 0.50522, 0.50573, 0.50624, 0.50677, 0.50730,
0.50784, 0.50839, 0.50895, 0.50953, 0.51011, 0.51071, 0.51131,
0.51194, 0.51257, 0.51322, 0.51388, 0.51455, 0.51524, 0.51594,
0.51666, 0.51740, 0.51816, 0.51894, 0.51974, 0.52057, 0.52144,
0.52236, 0.52332, 0.52434, 0.52544, 0.52662, 0.52789, 0.52928,
0.53081, 0.53248, 0.53432, 0.53636, 0.53861, 0.54112, 0.54389,
0.54698, 0.55040, 0.55421, 0.55842, 0.56309, 0.56826, 0.57398,
0.58027, 0.58720, 0.59481, 0.60314, 0.61223, 0.62211, 0.63282,
0.64438, 0.65679, 0.67007, 0.68421, 0.69917, 0.71493, 0.73140,
0.74853, 0.76622, 0.78436, 0.80282, 0.82145, 0.84010, 0.85858,
0.87673, 0.89434, 0.91122, 0.92718, 0.94203, 0.95557, 0.96763,
0.97804, 0.98662, 0.99323, 0.99772, 1.00000},
//--------- 2.4 GeV
{0.00031, 0.00277, 0.00763, 0.01476, 0.02403, 0.03525, 0.04826,
0.06285, 0.07882, 0.09597, 0.11407, 0.13291, 0.15228, 0.17196,
0.19174, 0.21143, 0.23086, 0.24987, 0.26831, 0.28606, 0.30304,
0.31915, 0.33434, 0.34858, 0.36184, 0.37412, 0.38542, 0.39579,
0.40524, 0.41382, 0.42159, 0.42859, 0.43487, 0.44051, 0.44554,
0.45004, 0.45404, 0.45761, 0.46078, 0.46361, 0.46612, 0.46836,
0.47036, 0.47215, 0.47376, 0.47521, 0.47651, 0.47770, 0.47878,
0.47978, 0.48070, 0.48156, 0.48236, 0.48311, 0.48383, 0.48451,
0.48517, 0.48581, 0.48642, 0.48702, 0.48760, 0.48816, 0.48871,
0.48925, 0.48978, 0.49029, 0.49079, 0.49128, 0.49176, 0.49223,
0.49268, 0.49313, 0.49356, 0.49399, 0.49440, 0.49481, 0.49521,
0.49560, 0.49599, 0.49637, 0.49675, 0.49712, 0.49749, 0.49785,
0.49821, 0.49857, 0.49893, 0.49928, 0.49964, 0.49999, 0.50034,
0.50070, 0.50105, 0.50141, 0.50176, 0.50212, 0.50248, 0.50285,
0.50321, 0.50359, 0.50396, 0.50434, 0.50473, 0.50512, 0.50552,
0.50593, 0.50635, 0.50677, 0.50721, 0.50765, 0.50811, 0.50857,
0.50905, 0.50954, 0.51004, 0.51056, 0.51108, 0.51162, 0.51217,
0.51274, 0.51332, 0.51391, 0.51453, 0.51516, 0.51582, 0.51650,
0.51722, 0.51798, 0.51878, 0.51963, 0.52055, 0.52155, 0.52263,
0.52382, 0.52513, 0.52657, 0.52818, 0.52997, 0.53197, 0.53421,
0.53673, 0.53955, 0.54272, 0.54629, 0.55029, 0.55479, 0.55982,
0.56546, 0.57174, 0.57874, 0.58650, 0.59509, 0.60454, 0.61490,
0.62621, 0.63848, 0.65174, 0.66598, 0.68116, 0.69727, 0.71425,
0.73200, 0.75044, 0.76945, 0.78888, 0.80857, 0.82835, 0.84803,
0.86740, 0.88624, 0.90434, 0.92149, 0.93746, 0.95205, 0.96506,
0.97628, 0.98555, 0.99268, 0.99754, 1.00000},
//--------- 2.6 GeV
{0.00033, 0.00293, 0.00806, 0.01561, 0.02540, 0.03726, 0.05100,
0.06641, 0.08326, 0.10133, 0.12039, 0.14019, 0.16051, 0.18110,
0.20175, 0.22224, 0.24239, 0.26203, 0.28100, 0.29919, 0.31647,
0.33279, 0.34807, 0.36229, 0.37543, 0.38749, 0.39849, 0.40848,
0.41749, 0.42558, 0.43281, 0.43924, 0.44494, 0.44999, 0.45443,
0.45834, 0.46178, 0.46481, 0.46748, 0.46982, 0.47190, 0.47374,
0.47538, 0.47685, 0.47817, 0.47936, 0.48045, 0.48145, 0.48237,
0.48322, 0.48402, 0.48477, 0.48548, 0.48616, 0.48681, 0.48743,
0.48802, 0.48860, 0.48916, 0.48969, 0.49021, 0.49072, 0.49120,
0.49167, 0.49213, 0.49257, 0.49299, 0.49340, 0.49379, 0.49417,
0.49454, 0.49489, 0.49523, 0.49556, 0.49588, 0.49619, 0.49649,
0.49678, 0.49707, 0.49736, 0.49764, 0.49791, 0.49818, 0.49845,
0.49872, 0.49899, 0.49925, 0.49952, 0.49978, 0.50005, 0.50031,
0.50058, 0.50084, 0.50111, 0.50137, 0.50164, 0.50191, 0.50218,
0.50245, 0.50273, 0.50300, 0.50329, 0.50358, 0.50387, 0.50417,
0.50448, 0.50480, 0.50513, 0.50547, 0.50582, 0.50619, 0.50657,
0.50696, 0.50737, 0.50779, 0.50823, 0.50869, 0.50916, 0.50964,
0.51015, 0.51067, 0.51120, 0.51176, 0.51234, 0.51293, 0.51355,
0.51420, 0.51488, 0.51559, 0.51634, 0.51714, 0.51799, 0.51891,
0.51991, 0.52100, 0.52219, 0.52351, 0.52498, 0.52662, 0.52846,
0.53053, 0.53288, 0.53554, 0.53857, 0.54201, 0.54592, 0.55037,
0.55541, 0.56111, 0.56754, 0.57477, 0.58286, 0.59187, 0.60185,
0.61286, 0.62492, 0.63805, 0.65227, 0.66755, 0.68386, 0.70115,
0.71933, 0.73830, 0.75794, 0.77809, 0.79859, 0.81924, 0.83983,
0.86014, 0.87994, 0.89900, 0.91707, 0.93392, 0.94933, 0.96306,
0.97493, 0.98472, 0.99226, 0.99740, 1.00000},
//--------- 2.8 GeV
{0.00034, 0.00303, 0.00833, 0.01613, 0.02625, 0.03851, 0.05271,
0.06863, 0.08604, 0.10471, 0.12437, 0.14478, 0.16569, 0.18686,
0.20804, 0.22903, 0.24961, 0.26960, 0.28886, 0.30726, 0.32467,
0.34103, 0.35628, 0.37040, 0.38336, 0.39518, 0.40588, 0.41552,
0.42413, 0.43179, 0.43857, 0.44454, 0.44977, 0.45435, 0.45834,
0.46181, 0.46484, 0.46748, 0.46978, 0.47181, 0.47360, 0.47519,
0.47662, 0.47791, 0.47908, 0.48016, 0.48117, 0.48211, 0.48299,
0.48383, 0.48463, 0.48540, 0.48613, 0.48684, 0.48753, 0.48819,
0.48883, 0.48944, 0.49004, 0.49061, 0.49117, 0.49170, 0.49221,
0.49269, 0.49316, 0.49361, 0.49403, 0.49443, 0.49481, 0.49518,
0.49552, 0.49584, 0.49615, 0.49644, 0.49672, 0.49698, 0.49724,
0.49748, 0.49772, 0.49795, 0.49817, 0.49839, 0.49861, 0.49882,
0.49903, 0.49924, 0.49945, 0.49966, 0.49987, 0.50008, 0.50029,
0.50049, 0.50070, 0.50091, 0.50112, 0.50133, 0.50154, 0.50176,
0.50197, 0.50219, 0.50241, 0.50264, 0.50288, 0.50313, 0.50338,
0.50364, 0.50392, 0.50421, 0.50452, 0.50485, 0.50519, 0.50555,
0.50593, 0.50633, 0.50676, 0.50720, 0.50767, 0.50816, 0.50867,
0.50920, 0.50975, 0.51032, 0.51092, 0.51154, 0.51217, 0.51283,
0.51352, 0.51423, 0.51496, 0.51573, 0.51653, 0.51737, 0.51826,
0.51920, 0.52020, 0.52128, 0.52246, 0.52375, 0.52517, 0.52676,
0.52855, 0.53058, 0.53289, 0.53552, 0.53855, 0.54202, 0.54601,
0.55058, 0.55582, 0.56178, 0.56856, 0.57622, 0.58484, 0.59447,
0.60517, 0.61699, 0.62995, 0.64406, 0.65931, 0.67567, 0.69308,
0.71147, 0.73073, 0.75073, 0.77131, 0.79230, 0.81348, 0.83465,
0.85556, 0.87597, 0.89563, 0.91430, 0.93171, 0.94763, 0.96183,
0.97409, 0.98421, 0.99201, 0.99731, 1.00000},
//--------- 3.0 GeV
{0.00034, 0.00306, 0.00843, 0.01631, 0.02656, 0.03898, 0.05337,
0.06951, 0.08717, 0.10608, 0.12601, 0.14669, 0.16785, 0.18926,
0.21066, 0.23183, 0.25256, 0.27267, 0.29199, 0.31041, 0.32780,
0.34409, 0.35923, 0.37318, 0.38595, 0.39753, 0.40798, 0.41733,
0.42564, 0.43299, 0.43945, 0.44510, 0.45003, 0.45430, 0.45801,
0.46122, 0.46401, 0.46643, 0.46856, 0.47043, 0.47209, 0.47358,
0.47494, 0.47618, 0.47734, 0.47842, 0.47945, 0.48043, 0.48137,
0.48227, 0.48315, 0.48400, 0.48483, 0.48563, 0.48641, 0.48717,
0.48791, 0.48862, 0.48930, 0.48997, 0.49061, 0.49122, 0.49181,
0.49237, 0.49290, 0.49341, 0.49389, 0.49435, 0.49477, 0.49518,
0.49556, 0.49591, 0.49625, 0.49656, 0.49686, 0.49713, 0.49740,
0.49764, 0.49788, 0.49811, 0.49832, 0.49854, 0.49874, 0.49894,
0.49914, 0.49933, 0.49953, 0.49972, 0.49991, 0.50010, 0.50029,
0.50048, 0.50067, 0.50086, 0.50106, 0.50125, 0.50145, 0.50165,
0.50186, 0.50207, 0.50229, 0.50251, 0.50275, 0.50300, 0.50326,
0.50354, 0.50383, 0.50414, 0.50448, 0.50483, 0.50521, 0.50562,
0.50605, 0.50650, 0.50698, 0.50749, 0.50802, 0.50858, 0.50917,
0.50978, 0.51042, 0.51109, 0.51177, 0.51249, 0.51322, 0.51398,
0.51476, 0.51556, 0.51639, 0.51724, 0.51812, 0.51902, 0.51996,
0.52094, 0.52197, 0.52305, 0.52421, 0.52545, 0.52681, 0.52830,
0.52996, 0.53183, 0.53396, 0.53638, 0.53917, 0.54238, 0.54609,
0.55036, 0.55528, 0.56093, 0.56739, 0.57474, 0.58306, 0.59240,
0.60285, 0.61443, 0.62720, 0.64115, 0.65628, 0.67257, 0.68996,
0.70837, 0.72769, 0.74780, 0.76852, 0.78969, 0.81109, 0.83250,
0.85366, 0.87434, 0.89426, 0.91318, 0.93083, 0.94697, 0.96136,
0.97378, 0.98403, 0.99191, 0.99728, 1.00000},
//--------- 3.4 GeV
{0.00032, 0.00286, 0.00789, 0.01528, 0.02491, 0.03660, 0.05017,
0.06540, 0.08209, 0.09999, 0.11884, 0.13841, 0.15844, 0.17869,
0.19893, 0.21893, 0.23851, 0.25748, 0.27569, 0.29302, 0.30936,
0.32465, 0.33885, 0.35192, 0.36386, 0.37470, 0.38447, 0.39322,
0.40101, 0.40792, 0.41402, 0.41939, 0.42412, 0.42828, 0.43194,
0.43518, 0.43807, 0.44066, 0.44302, 0.44517, 0.44717, 0.44904,
0.45082, 0.45252, 0.45417, 0.45576, 0.45732, 0.45885, 0.46035,
0.46183, 0.46328, 0.46472, 0.46613, 0.46752, 0.46889, 0.47024,
0.47156, 0.47285, 0.47413, 0.47537, 0.47660, 0.47779, 0.47896,
0.48010, 0.48121, 0.48228, 0.48333, 0.48435, 0.48533, 0.48628,
0.48720, 0.48809, 0.48894, 0.48976, 0.49055, 0.49131, 0.49204,
0.49275, 0.49343, 0.49409, 0.49473, 0.49535, 0.49595, 0.49654,
0.49712, 0.49769, 0.49825, 0.49880, 0.49935, 0.49990, 0.50045,
0.50100, 0.50155, 0.50210, 0.50266, 0.50323, 0.50381, 0.50440,
0.50500, 0.50562, 0.50626, 0.50692, 0.50760, 0.50831, 0.50904,
0.50980, 0.51059, 0.51141, 0.51226, 0.51315, 0.51407, 0.51502,
0.51600, 0.51702, 0.51807, 0.51915, 0.52026, 0.52139, 0.52256,
0.52376, 0.52498, 0.52622, 0.52750, 0.52879, 0.53012, 0.53146,
0.53283, 0.53422, 0.53563, 0.53707, 0.53852, 0.54000, 0.54150,
0.54303, 0.54459, 0.54619, 0.54783, 0.54953, 0.55131, 0.55318,
0.55518, 0.55733, 0.55968, 0.56228, 0.56516, 0.56841, 0.57207,
0.57623, 0.58095, 0.58632, 0.59242, 0.59933, 0.60712, 0.61587,
0.62564, 0.63648, 0.64842, 0.66149, 0.67569, 0.69098, 0.70732,
0.72465, 0.74286, 0.76183, 0.78140, 0.80140, 0.82163, 0.84188,
0.86191, 0.88148, 0.90034, 0.91823, 0.93492, 0.95016, 0.96372,
0.97541, 0.98504, 0.99243, 0.99746, 1.00000},
//--------- 3.8 GeV
{0.00028, 0.00255, 0.00702, 0.01360, 0.02217, 0.03257, 0.04464,
0.05819, 0.07303, 0.08892, 0.10565, 0.12298, 0.14070, 0.15857,
0.17639, 0.19396, 0.21111, 0.22768, 0.24354, 0.25858, 0.27272,
0.28590, 0.29809, 0.30927, 0.31945, 0.32865, 0.33692, 0.34432,
0.35090, 0.35674, 0.36192, 0.36650, 0.37057, 0.37420, 0.37746,
0.38041, 0.38312, 0.38564, 0.38801, 0.39028, 0.39246, 0.39460,
0.39671, 0.39880, 0.40089, 0.40298, 0.40507, 0.40718, 0.40929,
0.41141, 0.41355, 0.41569, 0.41783, 0.41998, 0.42213, 0.42429,
0.42644, 0.42860, 0.43077, 0.43293, 0.43509, 0.43726, 0.43943,
0.44160, 0.44377, 0.44594, 0.44811, 0.45028, 0.45245, 0.45462,
0.45679, 0.45895, 0.46112, 0.46329, 0.46547, 0.46764, 0.46983,
0.47201, 0.47421, 0.47642, 0.47863, 0.48086, 0.48310, 0.48534,
0.48760, 0.48987, 0.49215, 0.49444, 0.49673, 0.49902, 0.50132,
0.50361, 0.50590, 0.50819, 0.51047, 0.51274, 0.51499, 0.51724,
0.51948, 0.52171, 0.52392, 0.52613, 0.52832, 0.53051, 0.53270,
0.53487, 0.53705, 0.53922, 0.54139, 0.54355, 0.54572, 0.54789,
0.55006, 0.55223, 0.55440, 0.55657, 0.55874, 0.56091, 0.56308,
0.56525, 0.56741, 0.56957, 0.57174, 0.57390, 0.57605, 0.57821,
0.58036, 0.58251, 0.58465, 0.58679, 0.58893, 0.59105, 0.59316,
0.59527, 0.59736, 0.59945, 0.60154, 0.60363, 0.60574, 0.60787,
0.61006, 0.61233, 0.61470, 0.61722, 0.61993, 0.62288, 0.62614,
0.62977, 0.63384, 0.63842, 0.64359, 0.64943, 0.65601, 0.66341,
0.67168, 0.68088, 0.69106, 0.70223, 0.71442, 0.72759, 0.74173,
0.75677, 0.77262, 0.78919, 0.80634, 0.82391, 0.84172, 0.85959,
0.87730, 0.89464, 0.91137, 0.92726, 0.94209, 0.95564, 0.96772,
0.97812, 0.98669, 0.99327, 0.99774, 1.00000},
//--------- 4.2 GeV
{0.00029, 0.00260, 0.00715, 0.01383, 0.02251, 0.03304, 0.04523,
0.05889, 0.07382, 0.08978, 0.10655, 0.12388, 0.14156, 0.15935,
0.17704, 0.19443, 0.21134, 0.22763, 0.24315, 0.25779, 0.27148,
0.28416, 0.29581, 0.30640, 0.31596, 0.32453, 0.33214, 0.33885,
0.34475, 0.34990, 0.35439, 0.35830, 0.36171, 0.36471, 0.36737,
0.36975, 0.37193, 0.37395, 0.37587, 0.37772, 0.37954, 0.38135,
0.38318, 0.38503, 0.38691, 0.38884, 0.39081, 0.39283, 0.39489,
0.39698, 0.39911, 0.40127, 0.40345, 0.40565, 0.40787, 0.41011,
0.41235, 0.41460, 0.41686, 0.41912, 0.42138, 0.42365, 0.42591,
0.42818, 0.43045, 0.43272, 0.43501, 0.43730, 0.43960, 0.44192,
0.44427, 0.44664, 0.44905, 0.45149, 0.45398, 0.45652, 0.45912,
0.46178, 0.46450, 0.46729, 0.47016, 0.47309, 0.47608, 0.47915,
0.48227, 0.48544, 0.48867, 0.49193, 0.49521, 0.49851, 0.50182,
0.50513, 0.50841, 0.51167, 0.51489, 0.51807, 0.52119, 0.52425,
0.52725, 0.53018, 0.53304, 0.53583, 0.53856, 0.54122, 0.54382,
0.54636, 0.54885, 0.55129, 0.55370, 0.55607, 0.55842, 0.56074,
0.56304, 0.56533, 0.56762, 0.56989, 0.57216, 0.57443, 0.57669,
0.57896, 0.58122, 0.58348, 0.58574, 0.58799, 0.59023, 0.59247,
0.59469, 0.59689, 0.59907, 0.60123, 0.60336, 0.60545, 0.60751,
0.60953, 0.61150, 0.61343, 0.61531, 0.61716, 0.61899, 0.62080,
0.62262, 0.62447, 0.62639, 0.62841, 0.63059, 0.63297, 0.63563,
0.63863, 0.64204, 0.64595, 0.65044, 0.65559, 0.66148, 0.66820,
0.67580, 0.68436, 0.69393, 0.70452, 0.71616, 0.72884, 0.74253,
0.75717, 0.77268, 0.78896, 0.80587, 0.82326, 0.84095, 0.85874,
0.87641, 0.89375, 0.91052, 0.92648, 0.94140, 0.95506, 0.96725,
0.97778, 0.98646, 0.99315, 0.99769, 1.00000},
//--------- 4.6 GeV
{0.00029, 0.00262, 0.00720, 0.01392, 0.02265, 0.03322, 0.04546,
0.05917, 0.07414, 0.09015, 0.10696, 0.12434, 0.14205, 0.15987,
0.17759, 0.19500, 0.21192, 0.22821, 0.24372, 0.25835, 0.27202,
0.28466, 0.29626, 0.30680, 0.31630, 0.32478, 0.33230, 0.33892,
0.34470, 0.34973, 0.35408, 0.35785, 0.36112, 0.36397, 0.36647,
0.36869, 0.37071, 0.37258, 0.37435, 0.37606, 0.37775, 0.37945,
0.38117, 0.38294, 0.38476, 0.38665, 0.38860, 0.39062, 0.39271,
0.39486, 0.39707, 0.39933, 0.40164, 0.40399, 0.40637, 0.40878,
0.41121, 0.41366, 0.41611, 0.41856, 0.42100, 0.42344, 0.42586,
0.42827, 0.43065, 0.43302, 0.43537, 0.43771, 0.44003, 0.44235,
0.44467, 0.44700, 0.44935, 0.45172, 0.45413, 0.45658, 0.45909,
0.46167, 0.46432, 0.46705, 0.46986, 0.47275, 0.47573, 0.47879,
0.48193, 0.48514, 0.48841, 0.49173, 0.49508, 0.49846, 0.50184,
0.50522, 0.50857, 0.51189, 0.51516, 0.51837, 0.52151, 0.52457,
0.52755, 0.53045, 0.53326, 0.53599, 0.53864, 0.54121, 0.54372,
0.54618, 0.54859, 0.55096, 0.55331, 0.55563, 0.55795, 0.56027,
0.56260, 0.56493, 0.56728, 0.56965, 0.57204, 0.57444, 0.57687,
0.57930, 0.58175, 0.58420, 0.58665, 0.58909, 0.59152, 0.59393,
0.59631, 0.59866, 0.60097, 0.60324, 0.60544, 0.60760, 0.60968,
0.61170, 0.61366, 0.61555, 0.61737, 0.61914, 0.62086, 0.62255,
0.62424, 0.62595, 0.62772, 0.62959, 0.63161, 0.63384, 0.63634,
0.63918, 0.64245, 0.64622, 0.65058, 0.65561, 0.66139, 0.66800,
0.67552, 0.68400, 0.69350, 0.70404, 0.71564, 0.72828, 0.74195,
0.75658, 0.77209, 0.78837, 0.80530, 0.82271, 0.84042, 0.85824,
0.87596, 0.89334, 0.91015, 0.92615, 0.94112, 0.95484, 0.96707,
0.97765, 0.98637, 0.99310, 0.99768, 1.00000},
//--------- 5.0 GeV
{0.00029, 0.00261, 0.00718, 0.01388, 0.02258, 0.03311, 0.04530,
0.05895, 0.07385, 0.08979, 0.10652, 0.12382, 0.14145, 0.15918,
0.17680, 0.19413, 0.21097, 0.22717, 0.24260, 0.25715, 0.27074,
0.28332, 0.29485, 0.30532, 0.31476, 0.32318, 0.33064, 0.33720,
0.34292, 0.34789, 0.35218, 0.35589, 0.35909, 0.36187, 0.36429,
0.36645, 0.36839, 0.37018, 0.37187, 0.37351, 0.37512, 0.37675,
0.37842, 0.38015, 0.38194, 0.38381, 0.38577, 0.38782, 0.38996,
0.39218, 0.39449, 0.39687, 0.39933, 0.40185, 0.40442, 0.40704,
0.40970, 0.41237, 0.41507, 0.41776, 0.42045, 0.42312, 0.42577,
0.42839, 0.43097, 0.43351, 0.43600, 0.43846, 0.44087, 0.44325,
0.44561, 0.44795, 0.45028, 0.45261, 0.45497, 0.45736, 0.45979,
0.46229, 0.46485, 0.46749, 0.47022, 0.47304, 0.47595, 0.47896,
0.48205, 0.48522, 0.48846, 0.49176, 0.49510, 0.49847, 0.50184,
0.50521, 0.50854, 0.51184, 0.51508, 0.51825, 0.52135, 0.52435,
0.52726, 0.53008, 0.53281, 0.53546, 0.53802, 0.54051, 0.54295,
0.54534, 0.54769, 0.55003, 0.55236, 0.55470, 0.55705, 0.55943,
0.56185, 0.56430, 0.56680, 0.56934, 0.57192, 0.57454, 0.57718,
0.57986, 0.58254, 0.58524, 0.58793, 0.59061, 0.59326, 0.59588,
0.59845, 0.60097, 0.60343, 0.60582, 0.60812, 0.61035, 0.61248,
0.61453, 0.61649, 0.61836, 0.62016, 0.62188, 0.62355, 0.62518,
0.62680, 0.62843, 0.63012, 0.63191, 0.63386, 0.63601, 0.63844,
0.64121, 0.64441, 0.64812, 0.65241, 0.65738, 0.66310, 0.66966,
0.67712, 0.68554, 0.69497, 0.70545, 0.71698, 0.72955, 0.74315,
0.75770, 0.77313, 0.78933, 0.80617, 0.82349, 0.84112, 0.85885,
0.87648, 0.89378, 0.91051, 0.92644, 0.94135, 0.95500, 0.96718,
0.97772, 0.98641, 0.99311, 0.99768, 1.00000}
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4CollisionComposite.hh,v 1.8 2010-03-12 15:45:18 gunter Exp $
// $Id$
// -------------------------------------------------------------------
// GEANT4 Class file
//
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4CollisionInitialState.hh,v 1.5 2010-03-12 15:45:18 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// $Id: G4CollisionInitialState.hh,v 1.0 1998/06/30
// -----------------------------------------------------------------------------
@@ -44,43 +43,40 @@
class G4BCAction;
class G4CollisionInitialState
class G4CollisionInitialState
{
public:
G4CollisionInitialState();
G4CollisionInitialState(G4double time, G4KineticTrack * aPrimary,
G4KineticTrack * aTarget);
// +new interface post pion:
G4CollisionInitialState(G4double time, G4KineticTrack * aPrimary,
const G4KineticTrackVector & aTarget,
G4BCAction * aFSGenerator);
// -new interface post pion:
G4CollisionInitialState(G4CollisionInitialState & right);
~G4CollisionInitialState() { }
const G4CollisionInitialState & operator=(const G4CollisionInitialState & right);
G4CollisionInitialState(const G4CollisionInitialState & right);
G4CollisionInitialState & operator=(const G4CollisionInitialState & right);
int operator<(const G4CollisionInitialState & right) const
{return (theCollisionTime < right.theCollisionTime);}
int operator==(const G4CollisionInitialState& right) const
{return (theCollisionTime == right.theCollisionTime);}
G4KineticTrack * GetPrimary(void)
G4KineticTrack * GetPrimary(void)
{return thePrimary;}
void SetPrimary(G4KineticTrack * aPrimary)
void SetPrimary(G4KineticTrack * aPrimary)
{thePrimary = aPrimary;}
G4KineticTrack * GetTarget(void)
G4KineticTrack * GetTarget(void)
{return theTarget;}
void SetTarget(G4KineticTrack * aTarget)
void SetTarget(G4KineticTrack * aTarget)
{theTarget = aTarget;}
// +new interface post pion:
void AddTarget(G4KineticTrack * aTarget)
void AddTarget(G4KineticTrack * aTarget)
{theTs.push_back(aTarget);}
G4KineticTrackVector & GetTargetCollection(void)
{return theTs;}
@@ -103,12 +99,12 @@ public:
}
return G4lrint(result);
}
// -new interface post pion:
G4double GetCollisionTime(void)
G4double GetCollisionTime(void)
{return theCollisionTime;}
void SetCollisionTime(G4double value)
void SetCollisionTime(G4double value)
{theCollisionTime = value;}
// for debugging only
@@ -116,6 +112,16 @@ public:
{
return theFSGenerator;
}
void Print() const;
// friend std::ostream& operator<<(std::ostream & out, const G4CollisionInitialState & collision){
// out=1;
// return out;
// }
private:
G4double theCollisionTime;
@@ -52,6 +52,10 @@ public:
G4CollisionInitialState * GetNextCollision();
void Print();
private:
G4CollisionManager(const G4CollisionManager &);
G4CollisionManager & operator= (const G4CollisionManager &);
private:
G4ListOfCollisions * theCollisionList; //was sorted (by time) vector...
};
@@ -62,6 +62,9 @@ public:
virtual G4String GetName() const { return "Meson Baryon CollisionComposite"; }
private:
G4CollisionMesonBaryon(const G4CollisionMesonBaryon &);
G4CollisionMesonBaryon & operator= (const G4CollisionMesonBaryon &);
protected:
@@ -53,6 +53,11 @@ public:
virtual G4String GetName() const;
virtual G4bool IsInCharge(const G4KineticTrack& trk1,
const G4KineticTrack& trk2) const;
private:
G4CollisionMesonBaryonElastic(const G4CollisionMesonBaryonElastic &);
G4CollisionMesonBaryonElastic & operator= (const G4CollisionMesonBaryonElastic &);
protected:
virtual const G4VCrossSectionSource* GetCrossSectionSource() const
@@ -49,6 +49,12 @@ public:
G4CollisionMesonBaryonToResonance();
virtual ~G4CollisionMesonBaryonToResonance(){};
private:
G4CollisionMesonBaryonToResonance(const G4CollisionMesonBaryonToResonance &);
G4CollisionMesonBaryonToResonance & operator= (const G4CollisionMesonBaryonToResonance &);
virtual G4String GetName() const { return "mN -> baryon Resonance Collision"; }
virtual G4double CrossSection(const G4KineticTrack& trk1,
const G4KineticTrack& trk2) const
@@ -54,6 +54,11 @@ public:
virtual G4double CrossSection(const G4KineticTrack& trk1,
const G4KineticTrack& trk2) const;
private:
G4CollisionNN(const G4CollisionNN &);
G4CollisionNN & operator= (const G4CollisionNN &);
protected:
virtual const G4VCrossSectionSource* GetCrossSectionSource() const { return crossSectionSource; }
@@ -56,6 +56,9 @@ public:
virtual G4String GetName() const { return "NN Elastic Collision"; }
private:
G4CollisionNNElastic(const G4CollisionNNElastic &);
G4CollisionNNElastic & operator= (const G4CollisionNNElastic &);
protected:
@@ -46,7 +46,11 @@ public:
G4CollisionNNToDeltaDelta();
virtual ~G4CollisionNNToDeltaDelta() {};
virtual G4String GetName() const { return "NN -> Delta Delta Collision"; }
private:
G4CollisionNNToDeltaDelta(const G4CollisionNNToDeltaDelta &);
G4CollisionNNToDeltaDelta & operator= (const G4CollisionNNToDeltaDelta &);
protected:
std::vector<G4String> result;
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1600();
virtual ~G4CollisionNNToDeltaDelta1600() {}
virtual ~G4CollisionNNToDeltaDelta1600();
virtual G4String GetName() const { return "NN -> Delta Delta(1600) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToDeltaDelta1600(const G4CollisionNNToDeltaDelta1600 &);
G4CollisionNNToDeltaDelta1600 & operator= (const G4CollisionNNToDeltaDelta1600 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1620();
virtual ~G4CollisionNNToDeltaDelta1620() {}
virtual ~G4CollisionNNToDeltaDelta1620();
virtual G4String GetName() const { return "NN -> Delta Delta(1620) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToDeltaDelta1620(const G4CollisionNNToDeltaDelta1620 &);
G4CollisionNNToDeltaDelta1620 & operator= (const G4CollisionNNToDeltaDelta1620 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1700();
virtual ~G4CollisionNNToDeltaDelta1700() {}
virtual ~G4CollisionNNToDeltaDelta1700();
virtual G4String GetName() const { return "NN -> Delta Delta(1700) Collision"; }
@@ -51,6 +51,10 @@ public:
return *aList;
}
private:
G4CollisionNNToDeltaDelta1700(const G4CollisionNNToDeltaDelta1700 &);
G4CollisionNNToDeltaDelta1700 & operator= (const G4CollisionNNToDeltaDelta1700 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1900();
virtual ~G4CollisionNNToDeltaDelta1900() {}
virtual ~G4CollisionNNToDeltaDelta1900();
virtual G4String GetName() const { return "NN -> Delta Delta(1900) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1905();
virtual ~G4CollisionNNToDeltaDelta1905() {}
virtual ~G4CollisionNNToDeltaDelta1905();
virtual G4String GetName() const { return "NN -> Delta Delta(1905) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1910();
virtual ~G4CollisionNNToDeltaDelta1910() {}
virtual ~G4CollisionNNToDeltaDelta1910();
virtual G4String GetName() const { return "NN -> Delta Delta(1910) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1920();
virtual ~G4CollisionNNToDeltaDelta1920() {}
virtual ~G4CollisionNNToDeltaDelta1920();
virtual G4String GetName() const { return "NN -> Delta Delta(1920) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1930();
virtual ~G4CollisionNNToDeltaDelta1930() {}
virtual ~G4CollisionNNToDeltaDelta1930();
virtual G4String GetName() const { return "NN -> Delta Delta(1930) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToDeltaDelta1950();
virtual ~G4CollisionNNToDeltaDelta1950() {}
virtual ~G4CollisionNNToDeltaDelta1950();
virtual G4String GetName() const { return "NN -> Delta Delta(1950) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta();
virtual ~G4CollisionNNToNDelta() {}
virtual ~G4CollisionNNToNDelta();
virtual G4String GetName() const { return "NN -> N Delta Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1600();
virtual ~G4CollisionNNToNDelta1600() {}
virtual ~G4CollisionNNToNDelta1600();
virtual G4String GetName() const { return "NN -> N Delta(1600) Collision"; }
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1620();
virtual ~G4CollisionNNToNDelta1620() {}
virtual ~G4CollisionNNToNDelta1620();
virtual G4String GetName() const { return "NN -> N Delta(1620) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1620(const G4CollisionNNToNDelta1620 &);
G4CollisionNNToNDelta1620 & operator= (const G4CollisionNNToNDelta1620 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1700();
virtual ~G4CollisionNNToNDelta1700() {}
virtual ~G4CollisionNNToNDelta1700();
virtual G4String GetName() const { return "NN -> N Delta(1700) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1700(const G4CollisionNNToNDelta1700 &);
G4CollisionNNToNDelta1700 & operator= (const G4CollisionNNToNDelta1700 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1900();
virtual ~G4CollisionNNToNDelta1900() {}
virtual ~G4CollisionNNToNDelta1900();
virtual G4String GetName() const { return "NN -> N Delta(1900) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1900(const G4CollisionNNToNDelta1900 &);
G4CollisionNNToNDelta1900 & operator= (const G4CollisionNNToNDelta1900 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1905();
virtual ~G4CollisionNNToNDelta1905() {}
virtual ~G4CollisionNNToNDelta1905();
virtual G4String GetName() const { return "NN -> N Delta(1905) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1905(const G4CollisionNNToNDelta1905 &);
G4CollisionNNToNDelta1905 & operator= (const G4CollisionNNToNDelta1905 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1910();
virtual ~G4CollisionNNToNDelta1910() {}
virtual ~G4CollisionNNToNDelta1910();
virtual G4String GetName() const { return "NN -> N Delta(1910) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1910(const G4CollisionNNToNDelta1910 &);
G4CollisionNNToNDelta1910 & operator= (const G4CollisionNNToNDelta1910 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1920();
virtual ~G4CollisionNNToNDelta1920() {}
virtual ~G4CollisionNNToNDelta1920();
virtual G4String GetName() const { return "NN -> N Delta(1920) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1920(const G4CollisionNNToNDelta1920 &);
G4CollisionNNToNDelta1920 & operator= (const G4CollisionNNToNDelta1920 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1930();
virtual ~G4CollisionNNToNDelta1930() {}
virtual ~G4CollisionNNToNDelta1930();
virtual G4String GetName() const { return "NN -> N Delta(1930) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1930(const G4CollisionNNToNDelta1930 &);
G4CollisionNNToNDelta1930 & operator= (const G4CollisionNNToNDelta1930 &);
protected:
@@ -40,7 +40,7 @@ public:
G4CollisionNNToNDelta1950();
virtual ~G4CollisionNNToNDelta1950() {}
virtual ~G4CollisionNNToNDelta1950();
virtual G4String GetName() const { return "NN -> N Delta(1950) Collision"; }
@@ -51,6 +51,9 @@ public:
return *aList;
}
private:
G4CollisionNNToNDelta1950(const G4CollisionNNToNDelta1950 &);
G4CollisionNNToNDelta1950 & operator= (const G4CollisionNNToNDelta1950 &);
protected:
@@ -48,6 +48,9 @@ public:
virtual ~G4CollisionNNToNDeltastar(){};
virtual G4String GetName() const { return "NN -> N Delta* Collision"; }
private:
G4CollisionNNToNDeltastar(const G4CollisionNNToNDeltastar &);
G4CollisionNNToNDeltastar & operator= (const G4CollisionNNToNDeltastar &);
protected:
@@ -50,6 +50,9 @@ public:
virtual G4String GetName() const { return "NN -> N N* Collision"; }
private:
G4CollisionNNToNNstar(const G4CollisionNNToNNstar &);
G4CollisionNNToNNstar & operator= (const G4CollisionNNToNNstar &);
protected:
@@ -50,6 +50,9 @@ public:
virtual G4String GetName() const { return "NN -> N N* Collision"; }
private:
G4CollisionNStarNToNN(const G4CollisionNStarNToNN &);
G4CollisionNStarNToNN & operator= (const G4CollisionNStarNToNN &);
protected:
@@ -65,6 +65,9 @@ public:
virtual G4String GetName() const { return "PN CollisionComposite"; }
private:
G4CollisionPN(const G4CollisionPN &);
G4CollisionPN & operator= (const G4CollisionPN &);
protected:
@@ -45,7 +45,7 @@
#include "globals.hh"
#include <vector>
#include "G4VCollision.hh"
class G4VCollision;
typedef std::vector<G4VCollision *> G4CollisionVector;
@@ -56,6 +56,9 @@ public:
virtual G4String GetName() const { return "np Elastic Collision"; }
private:
G4CollisionnpElastic(const G4CollisionnpElastic &);
G4CollisionnpElastic & operator= (const G4CollisionnpElastic &);
protected:
@@ -59,7 +59,7 @@ public:
virtual const std::vector<G4String>& GetListOfColliders(G4int ) const
{
throw G4HadronicException(__FILE__, __LINE__, "Tried to call G4ConcreteNNToNDelta::GetListOfColliders. Please find out why!");
throw G4HadronicException(__FILE__, __LINE__, "Tried to call G4ConcreteMesonBaryonToResonance::GetListOfColliders. Please find out why!");
std::vector<G4String> * aList = new std::vector<G4String>;
return *aList;
}
@@ -72,6 +72,9 @@ public:
G4bool operator==(const G4ConcreteMesonBaryonToResonance &right) const;
G4bool operator!=(const G4ConcreteMesonBaryonToResonance &right) const;
private:
G4ConcreteMesonBaryonToResonance(const G4ConcreteMesonBaryonToResonance &);
G4ConcreteMesonBaryonToResonance & operator= (const G4ConcreteMesonBaryonToResonance &);
protected:
@@ -54,6 +54,9 @@ public:
return "ConcreteNNToDeltaDelta";
}
private:
G4ConcreteNNToDeltaDelta(const G4ConcreteNNToDeltaDelta &);
G4ConcreteNNToDeltaDelta & operator= (const G4ConcreteNNToDeltaDelta &);
G4bool operator==(const G4ConcreteNNToDeltaDelta &right) const;
G4bool operator!=(const G4ConcreteNNToDeltaDelta &right) const;
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNNToDeltaDeltastar();
virtual G4String GetName() const { return "ConcreteNNToNDeltaStar"; }
private:
G4ConcreteNNToDeltaDeltastar(const G4ConcreteNNToDeltaDeltastar &);
G4ConcreteNNToDeltaDeltastar & operator= (const G4ConcreteNNToDeltaDeltastar &);
private:
static G4XDeltaDeltastarTable theSigmaTable;
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNNToDeltaNstar();
virtual G4String GetName() const { return "ConcreteNNToNNStar"; }
private:
G4ConcreteNNToDeltaNstar(const G4ConcreteNNToDeltaNstar &);
G4ConcreteNNToDeltaNstar & operator= (const G4ConcreteNNToDeltaNstar &);
private:
static G4XDeltaNstarTable theSigmaTable;
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNNToNDelta();
virtual G4String GetName() const { return "ConcreteNNToNDelta"; }
private:
G4ConcreteNNToNDelta(const G4ConcreteNNToNDelta &);
G4ConcreteNNToNDelta & operator= (const G4ConcreteNNToNDelta &);
private:
static G4XNDeltaTable theSigmaTable;
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNNToNDeltaStar();
virtual G4String GetName() const { return "ConcreteNNToNDeltaStar"; }
private:
G4ConcreteNNToNDeltaStar(const G4ConcreteNNToNDeltaStar &);
G4ConcreteNNToNDeltaStar & operator= (const G4ConcreteNNToNDeltaStar &);
private:
static G4XNDeltastarTable theSigmaTable;
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNNToNNStar();
virtual G4String GetName() const { return "ConcreteNNToNNStar"; }
private:
G4ConcreteNNToNNStar(const G4ConcreteNNToNNStar &);
G4ConcreteNNToNNStar & operator= (const G4ConcreteNNToNNStar &);
private:
static G4XNNstarTable theSigmaTable;
@@ -67,6 +67,9 @@ public:
G4bool operator==(const G4ConcreteNNTwoBodyResonance &right) const;
G4bool operator!=(const G4ConcreteNNTwoBodyResonance &right) const;
private:
G4ConcreteNNTwoBodyResonance(const G4ConcreteNNTwoBodyResonance &);
G4ConcreteNNTwoBodyResonance & operator= (const G4ConcreteNNTwoBodyResonance &);
protected:
@@ -50,6 +50,10 @@ public:
virtual ~G4ConcreteNStarNToNN();
virtual G4String GetName() const { return "ConcreteNNToNNStar"; }
private:
G4ConcreteNStarNToNN(const G4ConcreteNStarNToNN &);
G4ConcreteNStarNToNN & operator= (const G4ConcreteNStarNToNN &);
private:
static G4XNNstarTable theSigmaTable;
@@ -26,10 +26,12 @@
#ifndef G4CrossSectionBuffer_h
#define G4CrossSectionBuffer_h
#include "G4ParticleDefinition.hh"
#include "globals.hh"
#include <utility>
#include <vector>
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4ParticleDefinition.hh"
#include "globals.hh"
class G4CrossSectionBuffer
{
@@ -52,10 +54,10 @@ class G4CrossSectionBuffer
return result;
}
void push_back(G4double s, G4double x)
void push_back(G4double S, G4double x)
{
std::pair<G4double, G4double> aNew;
aNew.first = s;
aNew.first = S;
aNew.second = x;
theData.push_back(aNew);
}
@@ -99,7 +101,7 @@ class G4CrossSectionBuffer
// G4cerr << "!!!!!! "<<sqrts<<" "<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<" "<<i<<G4endl;
G4double result = y1 + (sqrts-x1) * (y2-y1)/(x2-x1);
if(result<0) result = 0;
if(y1<0.01*millibarn) result = 0;
if(y1<0.01*CLHEP::millibarn) result = 0;
return result;
}
@@ -107,7 +109,7 @@ class G4CrossSectionBuffer
{
for(size_t i=0;i<theData.size(); i++)
{
G4cerr << "sqrts = "<<theData[i].first<<", X = "<<theData[i].second/millibarn<<G4endl;
G4cerr << "sqrts = "<<theData[i].first<<", X = "<<theData[i].second/CLHEP::millibarn<<G4endl;
}
}
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ListOfCollisions.hh,v 1.2 2010-03-12 15:45:18 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// $Id: G4ListOfCollisions.hh,v 1.0 1998/06/30
// -----------------------------------------------------------------------------
@@ -49,6 +49,10 @@ class G4MesonAbsorption : public G4BCAction
G4CollisionInitialState * GetCollision(G4KineticTrack * projectile,
std::vector<G4KineticTrack *> targets);
private:
G4MesonAbsorption(const G4MesonAbsorption &);
G4MesonAbsorption & operator= (const G4MesonAbsorption &);
private:
G4double GetTimeToAbsorption(const G4KineticTrack& trk1, const G4KineticTrack& trk2);
@@ -59,7 +63,6 @@ class G4MesonAbsorption : public G4BCAction
G4double AbsorptionCrossSection(const G4KineticTrack & trk1, const G4KineticTrack & trk2);
private:
std::vector<G4CollisionInitialState *> theCollisions;
G4double theCross;
};
@@ -26,6 +26,8 @@
#ifndef G4ResonanceID_h
#define G4ResonanceID_h
#include "G4Types.hh"
class G4ResonanceID
{
public:
@@ -42,8 +42,8 @@
#ifndef G4RESONANCEPARTIALWIDTH_HH
#define G4RESONANCEPARTIALWIDTH_HH
#include "globals.hh"
#include <map>
#include "globals.hh"
class G4PhysicsVector;
@@ -42,8 +42,8 @@
#ifndef G4RESONANCEWIDTH_HH
#define G4RESONANCEWIDTH_HH
#include "globals.hh"
#include <map>
#include "globals.hh"
class G4PhysicsVector;
@@ -45,6 +45,8 @@
#ifndef G4VANGULARDISTRIBUTION_HH
#define G4VANGULARDISTRIBUTION_HH
#include <CLHEP/Units/PhysicalConstants.h>
#include "globals.hh"
#include "G4HadronicException.hh"
#include "Randomize.hh"
@@ -61,7 +63,7 @@ public:
virtual G4double CosTheta(G4double s, G4double m1, G4double m2) const = 0;
virtual G4double Phi() const { return 2.*pi*G4UniformRand(); }
virtual G4double Phi() const { return 2.*CLHEP::pi*G4UniformRand(); }
protected:
@@ -70,17 +72,3 @@ private:
};
#endif
@@ -80,21 +80,3 @@ private:
};
#endif
@@ -51,8 +51,9 @@
#ifndef G4VSCATTERER_HH
#define G4VSCATTERER_HH
#include "globals.hh"
#include <vector>
#include "globals.hh"
#include "G4KineticTrackVector.hh"
class G4KineticTrack;
@@ -71,6 +71,10 @@ public:
return theAngularDistribution;
}
private:
G4VScatteringCollision(const G4VScatteringCollision &);
G4VScatteringCollision & operator= (const G4VScatteringCollision &);
protected:
virtual const std::vector<const G4ParticleDefinition*> & GetOutgoingParticles() const = 0;
@@ -27,11 +27,13 @@
#ifndef G4XNNTotalLowE_h
#define G4XNNTotalLowE_h
#include <map>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VCrossSectionSource.hh"
#include "G4CrossSectionVector.hh"
#include "G4LowEXsection.hh"
#include <map>
class G4KineticTrack;
@@ -49,7 +51,7 @@ public:
virtual G4bool IsValid(G4double e) const;
virtual G4String Name() const;
virtual G4double HighLimit() const { return 3.*GeV; }
virtual G4double HighLimit() const { return 3.*CLHEP::GeV; }
protected:
@@ -26,6 +26,7 @@
// hpw: done, but low quality at present.
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4AngularDistribution.hh"
#include "Randomize.hh"
@@ -165,7 +166,7 @@ G4AngularDistribution()
{ }
G4double G4AngularDistribution::CosTheta(G4double s, G4double m1, G4double m2) const
G4double G4AngularDistribution::CosTheta(G4double S, G4double m_1, G4double m_2) const
{
G4double random = G4UniformRand();
G4double dCosTheta = 2.;
@@ -179,7 +180,7 @@ G4double G4AngularDistribution::CosTheta(G4double s, G4double m1, G4double m2) c
// Accuracy is 2^-jmax
dCosTheta *= 0.5;
G4double cosTh = cosTheta + dCosTheta;
if(DifferentialCrossSection(s, m1, m2, cosTh) <= random) cosTheta = cosTh;
if(DifferentialCrossSection(S, m_1, m_2, cosTh) <= random) cosTheta = cosTh;
}
// Randomize in final interval in order to avoid discrete angles
@@ -193,19 +194,19 @@ G4double G4AngularDistribution::CosTheta(G4double s, G4double m1, G4double m2) c
}
G4double G4AngularDistribution::DifferentialCrossSection(G4double sIn, G4double m1, G4double m2,
G4double G4AngularDistribution::DifferentialCrossSection(G4double sIn, G4double m_1, G4double m_2,
G4double cosTheta) const
{
// local calculus is in GeV, ie. normalize input
sIn = sIn/sqr(GeV)+m42/2.;
m1 = m1/GeV;
m2 = m2/GeV;
m_1 = m_1/GeV;
m_2 = m_2/GeV;
// G4cout << "Here we go"<<sIn << " "<<m1 << " " << m2 <<" " m42<< G4endl;
// scaling from masses other than p,p.
G4double s = sIn - (m1+m2) * (m1+m2) + m42;
G4double tMax = s - m42;
G4double S = sIn - (m_1+m_2) * (m_1+m_2) + m42;
G4double tMax = S - m42;
G4double tp = 0.5 * (cosTheta + 1.) * tMax;
G4double twoS = 2. * s;
G4double twoS = 2. * S;
// Define s-dependent stuff for omega-Term
G4double brak1 = (twoS-m42) * (twoS-m42);
@@ -216,7 +217,7 @@ G4double G4AngularDistribution::DifferentialCrossSection(G4double sIn, G4double
- 2. * (cmOmega2 + 2 * mOmega2) * twoS
- 3. * brak1);
G4double bOmega_m = cOmega_m * (-2. * mOmega2*mOmega2 - 2. * mOmega2 * twoS - brak1);
G4double bOmega_L = cOmega_L * (sOmega1 * mOmega2 + (cmOmega2 + 3. * mOmega2) * s + brak1);
G4double bOmega_L = cOmega_L * (sOmega1 * mOmega2 + (cmOmega2 + 3. * mOmega2) * S + brak1);
G4double bOmega_0 = -(bOmega_3 + bOmega_2 + bOmega_1 + bOmega_m);
// Define s-dependent stuff for mix-Term
@@ -224,8 +225,8 @@ G4double G4AngularDistribution::DifferentialCrossSection(G4double sIn, G4double
G4double bMix_s1 = cMix_s1 * (dSigma1 - twoS);
G4double bMix_Omega = cMix_Omega * (dOmega2 - twoS);
G4double bMix_sm = cMix_sm * (dSigma2 - twoS);
G4double bMix_oL = cMix_oLc + cMix_oLs * s;
G4double bMix_sL = cMix_sLc + cMix_sLs * s;
G4double bMix_oL = cMix_oLc + cMix_oLs * S;
G4double bMix_sL = cMix_sLc + cMix_sLs * S;
G4double t1_Pion = 1. / (1. + tMax / cmPion2);
G4double t2_Pion = 1. + tMax / mPion2;
@@ -24,6 +24,8 @@
// ********************************************************************
//
#include "G4AngularDistributionNP.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "Randomize.hh"
#include "G4ios.hh"
@@ -32,11 +34,11 @@
#include "Randomize.hh"
G4double G4AngularDistributionNP::CosTheta(G4double s, G4double m1, G4double m2) const
G4double G4AngularDistributionNP::CosTheta(G4double S, G4double m_1, G4double m_2) const
{
G4int verboseLevel=1;
G4double ek= ((s - sqr(m1) -sqr(m2) )/(2*m1) - m1 )/GeV ; // kinetic energy in GeV
G4double ek= ((S - sqr(m_1) -sqr(m_2) )/(2*m_1) - m_1 )/GeV ; // kinetic energy in GeV
// Find energy bin
@@ -24,6 +24,8 @@
// ********************************************************************
//
#include "G4AngularDistributionPP.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "Randomize.hh"
#include "G4ios.hh"
@@ -32,11 +34,11 @@
#include "Randomize.hh"
G4double G4AngularDistributionPP::CosTheta(G4double s, G4double m1, G4double m2) const
G4double G4AngularDistributionPP::CosTheta(G4double S, G4double m_1, G4double m_2) const
{
G4int verboseLevel=1;
G4double ek= ((s - sqr(m1) -sqr(m2) )/(2*m1) - m1 )/GeV ; // kinetic energy in GeV
G4double ek= ((S - sqr(m_1) -sqr(m_2) )/(2*m_1) - m_1 )/GeV ; // kinetic energy in GeV
// Find energy bin
@@ -25,6 +25,7 @@
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4BaryonPartialWidth.hh"
#include "G4PhysicsVector.hh"
#include "G4PartialWidthTable.hh"
@@ -26,6 +26,7 @@
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4BaryonWidth.hh"
#include "G4PhysicsVector.hh"
#include "G4PhysicsFreeVector.hh"
@@ -76,12 +76,12 @@ G4double G4Clebsch::Weight(G4int isoIn1, G4int iso3In1,
{
G4double value = 0.;
G4int m = iso3In1 + iso3In2;
G4int an_m = iso3In1 + iso3In2;
G4int jMinIn = std::max(std::abs(isoIn1 - isoIn2), std::abs(m));
G4int jMinIn = std::max(std::abs(isoIn1 - isoIn2), std::abs(an_m));
G4int jMaxIn = isoIn1 + isoIn2;
G4int jMinOut = std::max(std::abs(isoOut1 - isoOut2), std::abs(m));
G4int jMinOut = std::max(std::abs(isoOut1 - isoOut2), std::abs(an_m));
G4int jMaxOut = isoOut1 + isoOut2;
G4int jMin = std::max(jMinIn,jMinOut);
@@ -107,16 +107,16 @@ G4double G4Clebsch::ClebschGordan(G4int isoIn1, G4int iso3In1,
G4double j2 = isoIn2 / 2.0;
G4double j3 = jOut / 2.0;
G4double m1 = iso3In1 / 2.0;
G4double m2 = iso3In2 / 2.0;
G4double m3 = - (m1 + m2);
G4double m_1 = iso3In1 / 2.0;
G4double m_2 = iso3In2 / 2.0;
G4double m_3 = - (m_1 + m_2);
G4int n = G4lrint(m3+j1+j2+.1);
G4int n = G4lrint(m_3+j1+j2+.1);
G4double argument = 2. * j3 + 1.;
if (argument < 0.)
throw G4HadronicException(__FILE__, __LINE__, "G4Clebsch::ClebschGordan - sqrt of negative argument");
G4double coeff = std::sqrt(argument) / (std::pow(-1.,n));
G4double clebsch = coeff * Wigner3J(j1,j2,j3, m1,m2,m3);
G4double clebsch = coeff * Wigner3J(j1,j2,j3, m_1,m_2,m_3);
G4double value = clebsch * clebsch;
// G4cout << "ClebschGordan("
@@ -129,7 +129,7 @@ G4double G4Clebsch::ClebschGordan(G4int isoIn1, G4int iso3In1,
G4double G4Clebsch::Wigner3J(G4double j1, G4double j2, G4double j3,
G4double m1, G4double m2, G4double m3) const
G4double m_1, G4double m_2, G4double m_3) const
{
// Calculates Wigner 3-j symbols
@@ -138,14 +138,14 @@ G4double G4Clebsch::Wigner3J(G4double j1, G4double j2, G4double j3,
G4double sigma = j1 + j2 + j3;
std::vector<G4double> n;
n.push_back(-j1 + j2 + j3); // n0
n.push_back(j1 - m1); // n1
n.push_back(j1 + m1); // n2
n.push_back(j1 - m_1); // n1
n.push_back(j1 + m_1); // n2
n.push_back(j1 - j2 + j3); // n3
n.push_back(j2 - m2); // n4
n.push_back(j2 + m2); // n5
n.push_back(j2 - m_2); // n4
n.push_back(j2 + m_2); // n5
n.push_back(j1 + j2 - j3); // n6
n.push_back(j3 - m3); // n7
n.push_back(j3 + m3); // n8
n.push_back(j3 - m_3); // n7
n.push_back(j3 + m_3); // n8
// Some preliminary checks
@@ -258,17 +258,17 @@ G4double G4Clebsch::Wigner3J(G4double j1, G4double j2, G4double j3,
G4double hlp2 = l6 - logVector[n61] + l8 - logVector[n81];
G4double sum = std::exp(hlp2);
std::vector<G4double> s;
s.push_back(sum);
std::vector<G4double> S;
S.push_back(sum);
n1 = (size_t)r1;
for (i=1; i<=n1; i++)
{
G4double last = s.back();
G4double last = S.back();
G4double den = i * (r6 - r1 + i) * (r8 - r1 + i);
if (den == 0)
throw G4HadronicException(__FILE__, __LINE__, "G4Clebsch::Wigner3J - divide by zero");
G4double data = -last * (r1 + 1.0 - i) * (r5 + 1.0 - i) * (r9 + 1. - i) / den;
s.push_back(data);
S.push_back(data);
sum += data;
}
value = coeff * sum * sign;
@@ -510,9 +510,9 @@ std::vector<G4double> G4Clebsch::GenerateIso3(G4int isoIn1, G4int iso3In1,
}
G4double G4Clebsch::NormalizedClebschGordan(G4int J, G4int m,
G4double G4Clebsch::NormalizedClebschGordan(G4int J, G4int M,
G4int J1, G4int J2,
G4int m1, G4int m2) const
G4int m_1, G4int m_2) const
{
// Calculate the normalized Clebsch-Gordan coefficient, that is the prob
// of isospin decomposition of (J,m) into J1, J2, m1, m2
@@ -527,11 +527,11 @@ G4double G4Clebsch::NormalizedClebschGordan(G4int J, G4int m,
for(G4int m1Current=-J1; m1Current<=J1; m1Current+=2)
{
G4int m2Current = m - m1Current;
G4int m2Current = M - m1Current;
G4double prob = ClebschGordan(J1, m1Current, J2, m2Current, J);
sum += prob;
if (m2Current == m2 && m1Current == m1) cleb += prob;
if (m2Current == m_2 && m1Current == m_1) cleb += prob;
}
// Normalize probs to 1
@@ -27,6 +27,7 @@
// $Id: G4CollisionComposite.cc,v 1.9 2010-03-12 15:45:18 gunter Exp $ //
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4CollisionComposite.hh"
#include "G4VCollision.hh"
#include "G4CollisionVector.hh"
@@ -154,19 +155,29 @@ BufferCrossSection(const G4ParticleDefinition * aP, const G4ParticleDefinition *
G4double crossSect = 0;
// The total cross-section is summed over all the component channels
//A.R. 28-Sep-2012 Fix reproducibility problem
// Assign the kinetic energy to the lightest of the
// two particles, instead to the first one always.
G4double atime = 0;
G4ThreeVector aPosition(0,0,0);
G4double aM = aP->GetPDGMass();
G4double aE = aM+aT;
G4ThreeVector aMom(0,0,std::sqrt(aE*aE-aM*aM));
G4LorentzVector a4Momentum(aE, aMom);
G4KineticTrack a(const_cast<G4ParticleDefinition *>(aP), atime, aPosition, a4Momentum);
G4double btime = 0;
G4ThreeVector aPosition(0,0,0);
G4ThreeVector bPosition(0,0,0);
G4ThreeVector bMom(0,0,0*MeV);
G4double bE = bP->GetPDGMass();
G4double aM = aP->GetPDGMass();
G4double bM = bP->GetPDGMass();
G4double aE = aM;
G4double bE = bM;
G4ThreeVector aMom(0,0,0);
G4ThreeVector bMom(0,0,0);
if ( aM <= bM ) {
aE += aT;
aMom = G4ThreeVector(0,0,std::sqrt(aE*aE-aM*aM));
} else {
bE += aT;
bMom = G4ThreeVector(0,0,std::sqrt(bE*bE-bM*bM));
}
G4LorentzVector a4Momentum(aE, aMom);
G4LorentzVector b4Momentum(bE, bMom);
G4KineticTrack a(const_cast<G4ParticleDefinition *>(aP), atime, aPosition, a4Momentum);
G4KineticTrack b(const_cast<G4ParticleDefinition *>(bP), btime, bPosition, b4Momentum);
for (i=0; i<components.size(); i++)
@@ -31,8 +31,9 @@
// -----------------------------------------------------------------------------
#include "G4CollisionInitialState.hh"
#include "G4SystemOfUnits.hh"
#include "G4BCAction.hh"
// Class G4CollisionInitialState
// Class G4CollisionInitialState
G4CollisionInitialState::G4CollisionInitialState() :
theCollisionTime(DBL_MAX), thePrimary(0), theTarget(0), theFSGenerator(0)
@@ -40,7 +41,7 @@ G4CollisionInitialState::G4CollisionInitialState() :
}
G4CollisionInitialState::G4CollisionInitialState(G4double time,
G4CollisionInitialState::G4CollisionInitialState(G4double time,
G4KineticTrack * aPrimary, G4KineticTrack * aTarget)
{
theCollisionTime = time;
@@ -51,7 +52,7 @@ G4CollisionInitialState::G4CollisionInitialState(G4double time,
}
// +new interface post pion:
G4CollisionInitialState::G4CollisionInitialState(G4double time,
G4CollisionInitialState::G4CollisionInitialState(G4double time,
G4KineticTrack * aPrimary, const G4KineticTrackVector & aTarget,
G4BCAction * aFSGenerator)
{
@@ -64,20 +65,16 @@ G4CollisionInitialState::G4CollisionInitialState(G4double time,
// -new interface post pion:
G4CollisionInitialState::G4CollisionInitialState(G4CollisionInitialState & right)
G4CollisionInitialState::G4CollisionInitialState(const G4CollisionInitialState & right)
{
if (this != &right)
{
theCollisionTime = right.theCollisionTime;
thePrimary = right.thePrimary;
theTarget = right.theTarget;
for (size_t i=0; i<right.theTs.size(); i++) theTs.push_back(right.theTs[i]);
theFSGenerator = right.theFSGenerator;
}
}
const G4CollisionInitialState & G4CollisionInitialState::
operator=(const G4CollisionInitialState& right)
G4CollisionInitialState & G4CollisionInitialState::operator=(const G4CollisionInitialState& right)
{
if (this != &right)
{
@@ -103,7 +100,31 @@ const G4CollisionInitialState & G4CollisionInitialState::
return theFSGenerator->GetFinalState(thePrimary, theTs);
}
//#include <typeinfo>
void G4CollisionInitialState::Print() const
{
G4int tgtPdg=theTarget ?
theTarget->GetDefinition()->GetPDGEncoding() : 0;
G4cout << " collision " << this << " time: "
<< theCollisionTime/second << " proj: "
<< thePrimary << "/pdg=" << thePrimary->GetDefinition()->GetPDGEncoding()
<< " tgt: " << theTarget << "/pdg=" << tgtPdg
<< " Collision type: "<< typeid(*theFSGenerator).name();
}
/*
std::ostream& G4CollisionInitialState::operator<<(std::ostream& out, const G4CollisionInitialState & collision)
{
G4int tgtPdg=collision.GetTarget() ?
collision.GetTarget()->GetDefinition()->GetPDGEncoding() : 0;
out << " collision " << collision << " time: "
<< collision.GetCollisionTime()/second << " proj: "
<< collision.GetPrimary() << "/pdg=" << collision.GetPrimary()->GetDefinition()->GetPDGEncoding()
<< " tgt: " << collision.GetTarget() << "/pdg=" << tgtPdg
<< " Collision type: "<< typeid(*collision.GetGenerator()).name();
return out;
}
*/
@@ -23,13 +23,15 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#include <typeinfo>
#include "G4CollisionManager.hh"
#include "G4SystemOfUnits.hh"
#include "G4HadronicException.hh"
#include "G4CollisionInitialState.hh"
#include "G4BCAction.hh"
#include <typeinfo>
G4CollisionManager::G4CollisionManager()
{
theCollisionList = new G4ListOfCollisions;
@@ -54,6 +54,7 @@ typedef GROUP8(G4CollisionnpElastic, G4CollisionNNElastic,
G4CollisionNN::G4CollisionNN()
{
components=0;
crossSectionSource = new G4XNNTotal();
G4CollisionComposite::Register aR;
G4ForEach<theChannels>::Apply(&aR, this);
@@ -62,6 +63,10 @@ G4CollisionNN::G4CollisionNN()
G4CollisionNN::~G4CollisionNN()
{
if (components) {
delete components;
components=0;
}
delete crossSectionSource;
crossSectionSource = 0;
}
@@ -85,18 +85,10 @@ G4bool G4CollisionNNElastic::IsInCharge(const G4KineticTrack& trk1,
const std::vector<G4String>& G4CollisionNNElastic::GetListOfColliders(G4int whichOne) const
{
if (whichOne == 1)
{
if (whichOne == 1) {
return colliders1;
}
else
{
if (whichOne == 2)
{ return colliders2; }
else
{
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionNNElastic::GetListOfColliders - Argument outside valid range");
return colliders1;
}
}
}else if (whichOne == 2) {
return colliders2;
}
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionNNElastic::GetListOfColliders - Argument outside valid range");
}
@@ -32,9 +32,15 @@
G4CollisionNNToDeltaDelta1600::G4CollisionNNToDeltaDelta1600()
{
MakeNNToDeltaDelta< Dm_1600PC, D0_1600PC, Dp_1600PC, Dpp_1600PC,
components=0;
MakeNNToDeltaDelta< Dm_1600PC, D0_1600PC, Dp_1600PC, Dpp_1600PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1600::~G4CollisionNNToDeltaDelta1600()
{
if (components) delete components;
components=0;
}
@@ -32,9 +32,16 @@
G4CollisionNNToDeltaDelta1620::G4CollisionNNToDeltaDelta1620()
{
MakeNNToDeltaDelta<Dm_1620PC, D0_1620PC, Dp_1620PC, Dpp_1620PC,
components=0;
MakeNNToDeltaDelta<Dm_1620PC, D0_1620PC, Dp_1620PC, Dpp_1620PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1620::~G4CollisionNNToDeltaDelta1620()
{
if (components) delete components;
components=0;
}
@@ -32,6 +32,13 @@
G4CollisionNNToDeltaDelta1700::G4CollisionNNToDeltaDelta1700()
{
MakeNNToDeltaDelta<Dm_1700PC, D0_1700PC, Dp_1700PC, Dpp_1700PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1700PC, D0_1700PC, Dp_1700PC, Dpp_1700PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1700::~G4CollisionNNToDeltaDelta1700()
{
if (components) delete components;
components=0;
}
@@ -32,6 +32,13 @@
G4CollisionNNToDeltaDelta1900::G4CollisionNNToDeltaDelta1900()
{
MakeNNToDeltaDelta<Dm_1900PC, D0_1900PC, Dp_1900PC, Dpp_1900PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1900PC, D0_1900PC, Dp_1900PC, Dpp_1900PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1900::~G4CollisionNNToDeltaDelta1900()
{
if (components) delete components;
components=0;
}
@@ -32,9 +32,15 @@
G4CollisionNNToDeltaDelta1905::G4CollisionNNToDeltaDelta1905()
{
MakeNNToDeltaDelta<Dm_1905PC, D0_1905PC, Dp_1905PC, Dpp_1905PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1905PC, D0_1905PC, Dp_1905PC, Dpp_1905PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1905::~G4CollisionNNToDeltaDelta1905()
{
if (components) delete components;
components=0;
}
@@ -32,6 +32,13 @@
G4CollisionNNToDeltaDelta1910::G4CollisionNNToDeltaDelta1910()
{
MakeNNToDeltaDelta<Dm_1910PC, D0_1910PC, Dp_1910PC, Dpp_1910PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1910PC, D0_1910PC, Dp_1910PC, Dpp_1910PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1910::~G4CollisionNNToDeltaDelta1910()
{
if (components) delete components;
components=0;
}
@@ -32,8 +32,15 @@
G4CollisionNNToDeltaDelta1920::G4CollisionNNToDeltaDelta1920()
{
MakeNNToDeltaDelta<Dm_1920PC, D0_1920PC, Dp_1920PC, Dpp_1920PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1920PC, D0_1920PC, Dp_1920PC, Dpp_1920PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1920::~G4CollisionNNToDeltaDelta1920()
{
if (components) delete components;
components=0;
}
@@ -32,6 +32,13 @@
G4CollisionNNToDeltaDelta1930::G4CollisionNNToDeltaDelta1930()
{
MakeNNToDeltaDelta<Dm_1930PC, D0_1930PC, Dp_1930PC, Dpp_1930PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1930PC, D0_1930PC, Dp_1930PC, Dpp_1930PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1930::~G4CollisionNNToDeltaDelta1930()
{
if (components) delete components;
components=0;
}
@@ -32,8 +32,15 @@
G4CollisionNNToDeltaDelta1950::G4CollisionNNToDeltaDelta1950()
{
MakeNNToDeltaDelta<Dm_1950PC, D0_1950PC, Dp_1950PC, Dpp_1950PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
components=0;
MakeNNToDeltaDelta<Dm_1950PC, D0_1950PC, Dp_1950PC, Dpp_1950PC,
G4ConcreteNNToDeltaDeltastar>::Make(this);
}
G4CollisionNNToDeltaDelta1950::~G4CollisionNNToDeltaDelta1950()
{
if (components) delete components;
components=0;
}
@@ -33,10 +33,16 @@
G4CollisionNNToNDelta::G4CollisionNNToNDelta()
{
G4ShortLivedConstructor ShortLived;
ShortLived.ConstructParticle();
MakeNNToNDelta<DeltamPC, Delta0PC, DeltapPC, DeltappPC, G4ConcreteNNToNDelta>::Make(this);
components=0;
G4ShortLivedConstructor ShortLived;
ShortLived.ConstructParticle();
MakeNNToNDelta<DeltamPC, Delta0PC, DeltapPC, DeltappPC, G4ConcreteNNToNDelta>::Make(this);
}
G4CollisionNNToNDelta::~G4CollisionNNToNDelta()
{
if (components) delete components;
components=0;
}
@@ -32,5 +32,12 @@
G4CollisionNNToNDelta1600::G4CollisionNNToNDelta1600()
{
MakeNNToNDelta<Dm_1600PC, D0_1600PC, Dp_1600PC, Dpp_1600PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1600PC, D0_1600PC, Dp_1600PC, Dpp_1600PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1600::~G4CollisionNNToNDelta1600()
{
if (components) delete components;
components=0;
}
@@ -32,7 +32,14 @@
G4CollisionNNToNDelta1620::G4CollisionNNToNDelta1620()
{
MakeNNToNDelta<Dm_1620PC, D0_1620PC, Dp_1620PC, Dpp_1620PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1620PC, D0_1620PC, Dp_1620PC, Dpp_1620PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1620::~G4CollisionNNToNDelta1620()
{
if (components) delete components;
components=0;
}
@@ -33,5 +33,12 @@
G4CollisionNNToNDelta1700::G4CollisionNNToNDelta1700()
{
MakeNNToNDelta<Dm_1700PC, D0_1700PC, Dp_1700PC, Dpp_1700PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1700PC, D0_1700PC, Dp_1700PC, Dpp_1700PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1700::~G4CollisionNNToNDelta1700()
{
if (components) delete components;
components=0;
}
@@ -32,8 +32,14 @@
G4CollisionNNToNDelta1900::G4CollisionNNToNDelta1900()
{
MakeNNToNDelta<Dm_1900PC, D0_1900PC, Dp_1900PC, Dpp_1900PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1900PC, D0_1900PC, Dp_1900PC, Dpp_1900PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1900::~G4CollisionNNToNDelta1900()
{
if (components) delete components;
components=0;
}
@@ -32,7 +32,14 @@
G4CollisionNNToNDelta1905::G4CollisionNNToNDelta1905()
{
MakeNNToNDelta<Dm_1905PC, D0_1905PC, Dp_1905PC, Dpp_1905PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1905PC, D0_1905PC, Dp_1905PC, Dpp_1905PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1905::~G4CollisionNNToNDelta1905()
{
if (components) delete components;
components=0;
}
@@ -32,8 +32,14 @@
G4CollisionNNToNDelta1910::G4CollisionNNToNDelta1910()
{
MakeNNToNDelta<Dm_1910PC, D0_1910PC, Dp_1910PC, Dpp_1910PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1910PC, D0_1910PC, Dp_1910PC, Dpp_1910PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1910::~G4CollisionNNToNDelta1910()
{
if (components) delete components;
components=0;
}
@@ -32,7 +32,14 @@
G4CollisionNNToNDelta1920::G4CollisionNNToNDelta1920()
{
MakeNNToNDelta<Dm_1920PC, D0_1920PC, Dp_1920PC, Dpp_1920PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1920PC, D0_1920PC, Dp_1920PC, Dpp_1920PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1920::~G4CollisionNNToNDelta1920()
{
if (components) delete components;
components=0;
}
@@ -32,5 +32,12 @@
G4CollisionNNToNDelta1930::G4CollisionNNToNDelta1930()
{
MakeNNToNDelta<Dm_1930PC, D0_1930PC, Dp_1930PC, Dpp_1930PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1930PC, D0_1930PC, Dp_1930PC, Dpp_1930PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1930::~G4CollisionNNToNDelta1930()
{
if (components) delete components;
components=0;
}
@@ -32,5 +32,12 @@
G4CollisionNNToNDelta1950::G4CollisionNNToNDelta1950()
{
MakeNNToNDelta<Dm_1950PC, D0_1950PC, Dp_1950PC, Dpp_1950PC, G4ConcreteNNToNDeltaStar>::Make(this);
components=0;
MakeNNToNDelta<Dm_1950PC, D0_1950PC, Dp_1950PC, Dpp_1950PC, G4ConcreteNNToNDeltaStar>::Make(this);
}
G4CollisionNNToNDelta1950::~G4CollisionNNToNDelta1950()
{
if (components) delete components;
components=0;
}
@@ -54,7 +54,7 @@ G4CollisionPN::~G4CollisionPN()
const std::vector<G4String>& G4CollisionPN::GetListOfColliders(G4int ) const
{
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionNN:: GetListOfColliders called");
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionPN:: GetListOfColliders called");
return colliders1;
}
@@ -83,18 +83,11 @@ G4bool G4CollisionnpElastic::IsInCharge(const G4KineticTrack& trk1,
const std::vector<G4String>& G4CollisionnpElastic::GetListOfColliders(G4int whichOne) const
{
if (whichOne == 1)
{
return colliders1;
}
else
{
if (whichOne == 2)
{ return colliders2; }
else
{
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionnpElastic::GetListOfColliders - Argument outside valid range");
return colliders1;
if (whichOne == 1) {
return colliders1;
} else if (whichOne == 2) {
return colliders2;
}
}
throw G4HadronicException(__FILE__, __LINE__, "G4CollisionnpElastic::GetListOfColliders - Argument outside valid range");
}
@@ -48,7 +48,9 @@ G4CrossSectionSourcePtr::G4CrossSectionSourcePtr(G4VCrossSectionSource* x): x_(x
G4CrossSectionSourcePtr& G4CrossSectionSourcePtr::operator= (const G4CrossSectionSourcePtr& xw)
{
x_ = xw.x_;
if (this != &xw) {
x_ = xw.x_;
}
return *this;
}
@@ -24,6 +24,7 @@
// ********************************************************************
//
#include "G4DetailedBalancePhaseSpaceIntegral.hh"
#include "G4SystemOfUnits.hh"
#include "G4ResonanceID.hh"
G4double G4DetailedBalancePhaseSpaceIntegral::sqrts[120] =
@@ -112,6 +113,7 @@ G4DetailedBalancePhaseSpaceIntegral(G4ParticleDefinition * aR) : theR(aR)
{
G4ResonanceID theID;
G4int pdg=theR->GetPDGEncoding();
data=0;
if(theID.IsDelta1232(pdg)) data = delta;
else if(theID.IsDelta1600(pdg)) data = delta1600;
else if(theID.IsDelta1620(pdg)) data = delta1620;
@@ -23,9 +23,12 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#include "G4LowEXsection.hh"
#include <cmath>
#include "G4LowEXsection.hh"
#include "G4SystemOfUnits.hh"
G4double G4LowEXsection::
CrossSection(G4double aX) const
{
@@ -23,7 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#include "G4MesonAbsorption.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4LorentzRotation.hh"
#include "G4LorentzVector.hh"
#include "Randomize.hh"
@@ -182,20 +185,20 @@ GetFinalState(G4KineticTrack * projectile,
}
// calculate the momenta.
G4double M = (thePro+theT1+theT2).mag();
G4double m1 = d1->GetPDGMass();
G4double m2 = d2->GetPDGMass();
G4double m = std::sqrt(M*M-m1*m1-m2*m2);
G4double p = std::sqrt((m*m*m*m - 4.*m1*m1 * m2*m2)/(4.*(M*M)));
G4double M_sq = (thePro+theT1+theT2).mag2();
G4double m1_sq = sqr(d1->GetPDGMass());
G4double m2_sq = sqr(d2->GetPDGMass());
G4double m_sq = M_sq-m1_sq-m2_sq;
G4double p = std::sqrt((m_sq*m_sq - 4.*m1_sq * m2_sq)/(4.*M_sq));
G4double costh = 2.*G4UniformRand()-1.;
G4double phi = 2.*pi*G4UniformRand();
G4ThreeVector pFinal(p*std::sin(std::acos(costh))*std::cos(phi), p*std::sin(std::acos(costh))*std::sin(phi), p*costh);
// G4cout << "testing p "<<p-pFinal.mag()<<G4endl;
// construct the final state particles lorentz momentum.
G4double eFinal1 = std::sqrt(m1*m1+pFinal.mag2());
G4double eFinal1 = std::sqrt(m1_sq+pFinal.mag2());
G4LorentzVector final1(pFinal, eFinal1);
G4double eFinal2 = std::sqrt(m2*m2+pFinal.mag2());
G4double eFinal2 = std::sqrt(m2_sq+pFinal.mag2());
G4LorentzVector final2(-1.*pFinal, eFinal2);
// rotate back.
@@ -317,11 +320,8 @@ AbsorptionCrossSection(const G4KineticTrack & aT, const G4KineticTrack & bT)
static G4double it [26] =
{0,4,50,5.5,75,8,95,10,120,11.5,140,12,160,11.5,180,10,190,8,210,6,235,4,260,3,300,2};
if(t>it[24])
{
theCross = 0;
}
else
G4double aCross(0);
if(t<=it[24])
{
G4int count = 0;
while(t>it[count])count+=2;
@@ -329,9 +329,9 @@ AbsorptionCrossSection(const G4KineticTrack & aT, const G4KineticTrack & bT)
G4double x2 = it[count];
G4double y1 = it[count-1];
G4double y2 = it[count+1];
theCross = y1+(y2-y1)/(x2-x1)*(t-x1);
aCross = y1+(y2-y1)/(x2-x1)*(t-x1);
// G4cout << "Printing the absorption crosssection "
// <<x1<< " "<<x2<<" "<<t<<" "<<y1<<" "<<y2<<" "<<0.5*theCross<<G4endl;
// <<x1<< " "<<x2<<" "<<t<<" "<<y1<<" "<<y2<<" "<<0.5*aCross<<G4endl;
}
return .5*theCross*millibarn;
return .5*aCross*millibarn;
}
@@ -40,12 +40,12 @@
// -------------------------------------------------------------------
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4HadronicException.hh"
#include "G4ios.hh"
#include "G4PartialWidthTable.hh"
#include "G4KineticTrack.hh"
G4PartialWidthTable::G4PartialWidthTable(const G4double* energies, G4int entries) : nEnergies(entries)
{
// Fill the vector with tabulated energies
@@ -26,8 +26,11 @@
// $Id: G4Scatterer.cc,v 1.16 2010-03-12 15:45:18 gunter Exp $ //
//
#include "globals.hh"
#include <vector>
#include "globals.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ios.hh"
#include "G4Scatterer.hh"
#include "G4KineticTrack.hh"
@@ -43,7 +46,6 @@
#include "G4HadTmpUtil.hh"
#include "G4Pair.hh"
// Declare the categories of collisions the Scatterer can handle
typedef GROUP2(G4CollisionNN, G4CollisionMesonBaryon) theChannels;
@@ -42,11 +42,16 @@
G4VAnnihilationCollision::G4VAnnihilationCollision()
{
theAngularDistribution=0;
}
G4VAnnihilationCollision::~G4VAnnihilationCollision()
{
{
if (theAngularDistribution) {
delete theAngularDistribution;
theAngularDistribution=0;
}
}
@@ -42,103 +42,102 @@ G4VCollision::~G4VCollision()
G4bool G4VCollision::operator==(const G4VCollision &right) const
{
return (this == (G4VCollision *) &right);
return (this == (G4VCollision *) &right);
}
G4bool G4VCollision::operator!=(const G4VCollision &right) const
{
return (this != (G4VCollision *) &right);
return (this != (G4VCollision *) &right);
}
G4double G4VCollision::CrossSection(const G4KineticTrack& aTrk1,
const G4KineticTrack& aTrk2) const
const G4KineticTrack& aTrk2) const
{
G4double sigma = 0.;
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
G4double sigma = 0.;
if (xSource != 0)
{
// There is a cross section for this Collision
sigma = xSource->CrossSection(aTrk1,aTrk2);
}
return sigma;
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
if (xSource != 0)
{
// There is a cross section for this Collision
sigma = xSource->CrossSection(aTrk1,aTrk2);
}
return sigma;
}
void G4VCollision::Print() const
{
G4String name = GetName();
G4String name = GetName();
G4cout << "---- " << name << "---- Cross section" << G4endl;
G4cout << "---- " << name << "---- Cross section" << G4endl;
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
if (xSource) xSource->Print();
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
if (xSource) xSource->Print();
G4int nComponents = 0;
const G4CollisionVector* components = GetComponents();
if (components)
{
nComponents = components->size();
}
G4cout << "---- " << name << "---- has " << nComponents << " components" <<G4endl;
G4int i = 0;
G4CollisionVector::const_iterator iter;
if (components)
{
for (iter = components->begin(); iter != components->end(); ++iter)
{
G4cout << "---- " << name << " ---- Component " << i << G4endl;
((*iter))->Print();
i++;
}
}
G4int nComponents = 0;
const G4CollisionVector* components = GetComponents();
if (components)
{
nComponents = components->size();
}
G4cout << "---- " << name << "---- has " << nComponents << " components" <<G4endl;
G4int i = 0;
G4CollisionVector::const_iterator iter;
for (iter = components->begin(); iter != components->end(); ++iter)
{
G4cout << "---- " << name << " ---- Component " << i << G4endl;
((*iter))->Print();
i++;
}
// G4int i;
// for (i=0; i<nComponents; i++)
// {
// G4VCollision* component = (*components)[i];
// G4cout << "---- " << name << " ---- Component " << i << G4endl;
// component->Print();
// }
}
void G4VCollision::Print(const G4KineticTrack& trk1,
const G4KineticTrack& trk2) const
const G4KineticTrack& trk2) const
{
G4String name = GetName();
if (IsInCharge(trk1,trk2))
{
G4cout << "---- " << name << "is in charge ---- " << G4endl;
}
else
{
G4cout << "---- " << name << "is not in charge ---- " << G4endl;
}
G4cout << "---- " << name << "---- Cross section" << G4endl;
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
if (xSource) xSource->Print();
G4cout << "Cross section = " << CrossSection(trk1,trk2) << G4endl;
G4int nComponents = 0;
const G4CollisionVector* components = GetComponents();
if (components)
{
nComponents = components->size();
}
G4cout << "---- " << name << "has " << nComponents << " components" <<G4endl;
G4int i = 0;
G4CollisionVector::const_iterator iter;
for (iter = components->begin(); iter != components->end(); ++iter)
{
G4cout << "Component " << i << G4endl;
((*iter))->Print();
i++;
}
G4String name = GetName();
if (IsInCharge(trk1,trk2))
{
G4cout << "---- " << name << "is in charge ---- " << G4endl;
}
else
{
G4cout << "---- " << name << "is not in charge ---- " << G4endl;
}
G4cout << "---- " << name << "---- Cross section" << G4endl;
const G4VCrossSectionSource* xSource = GetCrossSectionSource();
if (xSource) xSource->Print();
G4cout << "Cross section = " << CrossSection(trk1,trk2) << G4endl;
G4int nComponents = 0;
const G4CollisionVector* components = GetComponents();
if (components)
{
nComponents = components->size();
}
G4cout << "---- " << name << "has " << nComponents << " components" <<G4endl;
G4int i = 0;
G4CollisionVector::const_iterator iter;
if (components)
{
for (iter = components->begin(); iter != components->end(); ++iter)
{
G4cout << "Component " << i << G4endl;
((*iter))->Print();
i++;
}
}
}
@@ -27,6 +27,7 @@
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4HadronicException.hh"
#include "G4ios.hh"
#include "G4VCrossSectionSource.hh"

Some files were not shown because too many files have changed in this diff Show More