Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // 26 // 26 // 27 // ------------------------------------------- 27 // ------------------------------------------------------------------- 28 // GEANT4 Class file 28 // GEANT4 Class file 29 // 29 // 30 // 30 // 31 // File name: G4XNDeltastarTable 31 // File name: G4XNDeltastarTable 32 // 32 // 33 // Author: Maria Grazia Pia (MariaGr 33 // Author: Maria Grazia Pia (MariaGrazia.Pia@genova.infn.it) 34 // 34 // 35 // Creation date: 4 June 1999 35 // Creation date: 4 June 1999 36 // 36 // 37 // Modifications: 37 // Modifications: 38 // 38 // 39 // Hadron Kinetic Model 39 // Hadron Kinetic Model 40 // p p -> N Delta* cross section tables 40 // p p -> N Delta* cross section tables 41 // 41 // 42 // ------------------------------------------- 42 // ------------------------------------------------------------------- 43 43 44 #include "globals.hh" 44 #include "globals.hh" 45 #include "G4ios.hh" 45 #include "G4ios.hh" 46 #include "G4SystemOfUnits.hh" 46 #include "G4SystemOfUnits.hh" 47 #include "G4XNDeltastarTable.hh" 47 #include "G4XNDeltastarTable.hh" 48 #include "G4PhysicsFreeVector.hh" 48 #include "G4PhysicsFreeVector.hh" 49 49 50 const G4int G4XNDeltastarTable::sizeNDeltastar 50 const G4int G4XNDeltastarTable::sizeNDeltastar = 121; 51 51 52 // Energies (GeV) corresponding to the cross s 52 // Energies (GeV) corresponding to the cross section table 53 // Units are assigned when filling the Physics 53 // Units are assigned when filling the PhysicsVector 54 54 55 const G4double G4XNDeltastarTable::energyTable 55 const G4double G4XNDeltastarTable::energyTable[121] = 56 { 56 { 57 0.0, 57 0.0, 58 2.014, 2.014, 2.016, 2.018, 2.022, 2.02 58 2.014, 2.014, 2.016, 2.018, 2.022, 2.026, 2.031, 2.037, 2.044, 2.052, 59 2.061, 2.071, 2.082, 2.094, 2.107, 2.12 59 2.061, 2.071, 2.082, 2.094, 2.107, 2.121, 2.135, 2.151, 2.168, 2.185, 60 2.204, 2.223, 2.244, 2.265, 2.287, 2.31 60 2.204, 2.223, 2.244, 2.265, 2.287, 2.311, 2.335, 2.360, 2.386, 2.413, 61 2.441, 2.470, 2.500, 2.531, 2.562, 2.59 61 2.441, 2.470, 2.500, 2.531, 2.562, 2.595, 2.629, 2.664, 2.699, 2.736, 62 2.773, 2.812, 2.851, 2.891, 2.933, 2.97 62 2.773, 2.812, 2.851, 2.891, 2.933, 2.975, 3.018, 3.062, 3.107, 3.153, 63 3.200, 3.248, 3.297, 3.347, 3.397, 3.44 63 3.200, 3.248, 3.297, 3.347, 3.397, 3.449, 3.502, 3.555, 3.610, 3.666, 64 3.722, 3.779, 3.838, 3.897, 3.957, 4.01 64 3.722, 3.779, 3.838, 3.897, 3.957, 4.018, 4.081, 4.144, 4.208, 4.273, 65 4.339, 4.406, 4.473, 4.542, 4.612, 4.68 65 4.339, 4.406, 4.473, 4.542, 4.612, 4.683, 4.754, 4.827, 4.900, 4.975, 66 5.000, 6.134, 7.269, 8.403, 9.538, 10.67 66 5.000, 6.134, 7.269, 8.403, 9.538, 10.672, 11.807, 12.941, 14.076, 15.210, 67 16.345, 17.479, 18.613, 19.748, 20.882, 22.01 67 16.345, 17.479, 18.613, 19.748, 20.882, 22.017, 23.151, 24.286, 25.420, 26.555, 68 27.689, 28.824, 29.958, 31.092, 32.227, 33.36 68 27.689, 28.824, 29.958, 31.092, 32.227, 33.361, 34.496, 35.630, 36.765, 37.899, 69 39.034, 40.168, 41.303, 42.437, 43.571, 44.70 69 39.034, 40.168, 41.303, 42.437, 43.571, 44.706, 45.840, 46.975, 48.109, 49.244 70 }; 70 }; 71 71 72 // Cross-sections in mb, from S.A. Bass et al. 72 // Cross-sections in mb, from S.A. Bass et al., Prog.Part.Nucl.Phys.41:225-370,1998 73 // Units are assigned when filling the Physics 73 // Units are assigned when filling the PhysicsVector 74 74 75 const G4double G4XNDeltastarTable::sigmaND1600 75 const G4double G4XNDeltastarTable::sigmaND1600[121]= 76 { 76 { 77 0.0, 77 0.0, 78 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 78 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 79 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 79 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 80 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 80 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, 81 0.001, 0.002, 0.003, 0.004, 0.006, 0.00 81 0.001, 0.002, 0.003, 0.004, 0.006, 0.009, 0.014, 0.022, 82 0.036, 0.060, 0.104, 0.179, 0.290, 0.41 82 0.036, 0.060, 0.104, 0.179, 0.290, 0.418, 0.543, 0.656, 83 0.755, 0.841, 0.914, 0.976, 1.029, 1.07 83 0.755, 0.841, 0.914, 0.976, 1.029, 1.073, 1.110, 1.139, 84 1.163, 1.181, 1.195, 1.204, 1.210, 1.21 84 1.163, 1.181, 1.195, 1.204, 1.210, 1.212, 1.212, 1.209, 85 1.203, 1.196, 1.187, 1.176, 1.164, 1.15 85 1.203, 1.196, 1.187, 1.176, 1.164, 1.150, 1.136, 1.120, 86 1.104, 1.087, 1.070, 1.052, 1.034, 1.01 86 1.104, 1.087, 1.070, 1.052, 1.034, 1.016, 0.997, 0.978, 87 0.959, 0.940, 0.921, 0.903, 0.884, 0.86 87 0.959, 0.940, 0.921, 0.903, 0.884, 0.865, 0.847, 0.828, 88 0.822, 0.597, 0.447, 0.345, 0.274, 0.22 88 0.822, 0.597, 0.447, 0.345, 0.274, 0.223, 0.184, 0.155, 89 0.132, 0.114, 0.099, 0.087, 0.077, 0.06 89 0.132, 0.114, 0.099, 0.087, 0.077, 0.069, 0.062, 0.056, 90 0.050, 0.046, 0.042, 0.039, 0.036, 0.03 90 0.050, 0.046, 0.042, 0.039, 0.036, 0.033, 0.030, 0.028, 91 0.026, 0.025, 0.023, 0.022, 0.020, 0.01 91 0.026, 0.025, 0.023, 0.022, 0.020, 0.019, 0.018, 0.017, 92 0.016, 0.015, 0.015, 0.014, 0.013, 0.01 92 0.016, 0.015, 0.015, 0.014, 0.013, 0.013, 0.012, 0.011 93 }; 93 }; 94 94 95 const G4double G4XNDeltastarTable::sigmaND1620 95 const G4double G4XNDeltastarTable::sigmaND1620[121] = 96 { 96 { 97 0.0, 97 0.0, 98 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 98 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 99 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 99 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001, 100 0.001, 0.001, 0.002, 0.002, 0.003, 0.00 100 0.001, 0.001, 0.002, 0.002, 0.003, 0.003, 0.004, 0.005, 101 0.006, 0.007, 0.009, 0.010, 0.013, 0.01 101 0.006, 0.007, 0.009, 0.010, 0.013, 0.016, 0.021, 0.028, 102 0.040, 0.060, 0.096, 0.154, 0.228, 0.30 102 0.040, 0.060, 0.096, 0.154, 0.228, 0.304, 0.372, 0.431, 103 0.483, 0.526, 0.563, 0.595, 0.621, 0.64 103 0.483, 0.526, 0.563, 0.595, 0.621, 0.643, 0.660, 0.674, 104 0.685, 0.693, 0.699, 0.702, 0.704, 0.70 104 0.685, 0.693, 0.699, 0.702, 0.704, 0.704, 0.702, 0.699, 105 0.694, 0.689, 0.682, 0.675, 0.669, 0.66 105 0.694, 0.689, 0.682, 0.675, 0.669, 0.661, 0.651, 0.642, 106 0.632, 0.621, 0.611, 0.600, 0.589, 0.57 106 0.632, 0.621, 0.611, 0.600, 0.589, 0.577, 0.566, 0.555, 107 0.544, 0.532, 0.521, 0.510, 0.499, 0.48 107 0.544, 0.532, 0.521, 0.510, 0.499, 0.488, 0.477, 0.466, 108 0.463, 0.332, 0.247, 0.189, 0.150, 0.12 108 0.463, 0.332, 0.247, 0.189, 0.150, 0.121, 0.100, 0.084, 109 0.071, 0.061, 0.053, 0.047, 0.041, 0.03 109 0.071, 0.061, 0.053, 0.047, 0.041, 0.037, 0.033, 0.030, 110 0.027, 0.025, 0.022, 0.021, 0.019, 0.01 110 0.027, 0.025, 0.022, 0.021, 0.019, 0.018, 0.016, 0.015, 111 0.014, 0.013, 0.012, 0.012, 0.011, 0.01 111 0.014, 0.013, 0.012, 0.012, 0.011, 0.010, 0.010, 0.009, 112 0.009, 0.008, 0.008, 0.007, 0.007, 0.00 112 0.009, 0.008, 0.008, 0.007, 0.007, 0.007, 0.006, 0.006 113 }; 113 }; 114 114 115 const G4double G4XNDeltastarTable::sigmaND1700 115 const G4double G4XNDeltastarTable::sigmaND1700[121] = 116 { 116 { 117 0.0, 117 0.0, 118 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 118 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 119 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 119 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 120 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 120 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 121 0.001, 0.002, 0.003, 0.005, 0.008, 0.01 121 0.001, 0.002, 0.003, 0.005, 0.008, 0.013, 0.020, 0.029, 122 0.043, 0.062, 0.090, 0.131, 0.187, 0.25 122 0.043, 0.062, 0.090, 0.131, 0.187, 0.258, 0.338, 0.418, 123 0.495, 0.564, 0.626, 0.680, 0.726, 0.76 123 0.495, 0.564, 0.626, 0.680, 0.726, 0.766, 0.800, 0.828, 124 0.852, 0.871, 0.886, 0.898, 0.906, 0.91 124 0.852, 0.871, 0.886, 0.898, 0.906, 0.911, 0.914, 0.914, 125 0.913, 0.909, 0.904, 0.898, 0.890, 0.88 125 0.913, 0.909, 0.904, 0.898, 0.890, 0.881, 0.871, 0.861, 126 0.849, 0.837, 0.825, 0.812, 0.798, 0.78 126 0.849, 0.837, 0.825, 0.812, 0.798, 0.785, 0.771, 0.756, 127 0.742, 0.728, 0.713, 0.699, 0.685, 0.67 127 0.742, 0.728, 0.713, 0.699, 0.685, 0.670, 0.656, 0.642, 128 0.637, 0.462, 0.345, 0.266, 0.211, 0.17 128 0.637, 0.462, 0.345, 0.266, 0.211, 0.171, 0.141, 0.119, 129 0.101, 0.087, 0.076, 0.066, 0.059, 0.05 129 0.101, 0.087, 0.076, 0.066, 0.059, 0.052, 0.047, 0.042, 130 0.038, 0.035, 0.032, 0.029, 0.027, 0.02 130 0.038, 0.035, 0.032, 0.029, 0.027, 0.025, 0.023, 0.021, 131 0.020, 0.019, 0.017, 0.016, 0.015, 0.01 131 0.020, 0.019, 0.017, 0.016, 0.015, 0.015, 0.014, 0.013, 132 0.012, 0.012, 0.011, 0.010, 0.010, 0.00 132 0.012, 0.012, 0.011, 0.010, 0.010, 0.009, 0.009, 0.009 133 }; 133 }; 134 134 135 135 136 const G4double G4XNDeltastarTable::sigmaND1900 136 const G4double G4XNDeltastarTable::sigmaND1900[121] = 137 { 137 { 138 0.0, 138 0.0, 139 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 139 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 140 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 140 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 141 0.001, 0.001, 0.001, 0.001, 0.001, 0.00 141 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.002, 0.002, 142 0.002, 0.003, 0.003, 0.004, 0.005, 0.00 142 0.002, 0.003, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 143 0.010, 0.012, 0.015, 0.019, 0.025, 0.03 143 0.010, 0.012, 0.015, 0.019, 0.025, 0.034, 0.048, 0.069, 144 0.097, 0.129, 0.162, 0.193, 0.220, 0.24 144 0.097, 0.129, 0.162, 0.193, 0.220, 0.243, 0.263, 0.280, 145 0.294, 0.305, 0.315, 0.322, 0.328, 0.33 145 0.294, 0.305, 0.315, 0.322, 0.328, 0.333, 0.336, 0.337, 146 0.338, 0.338, 0.337, 0.336, 0.334, 0.33 146 0.338, 0.338, 0.337, 0.336, 0.334, 0.331, 0.328, 0.325, 147 0.321, 0.316, 0.312, 0.307, 0.302, 0.29 147 0.321, 0.316, 0.312, 0.307, 0.302, 0.297, 0.292, 0.287, 148 0.282, 0.276, 0.271, 0.265, 0.260, 0.25 148 0.282, 0.276, 0.271, 0.265, 0.260, 0.255, 0.249, 0.244, 149 0.242, 0.175, 0.131, 0.101, 0.080, 0.06 149 0.242, 0.175, 0.131, 0.101, 0.080, 0.064, 0.053, 0.045, 150 0.038, 0.033, 0.028, 0.025, 0.022, 0.02 150 0.038, 0.033, 0.028, 0.025, 0.022, 0.020, 0.018, 0.016, 151 0.014, 0.013, 0.012, 0.011, 0.010, 0.00 151 0.014, 0.013, 0.012, 0.011, 0.010, 0.009, 0.009, 0.008, 152 0.007, 0.007, 0.007, 0.006, 0.006, 0.00 152 0.007, 0.007, 0.007, 0.006, 0.006, 0.005, 0.005, 0.005, 153 0.005, 0.004, 0.004, 0.004, 0.004, 0.00 153 0.005, 0.004, 0.004, 0.004, 0.004, 0.004, 0.003, 0.003 154 }; 154 }; 155 155 156 const G4double G4XNDeltastarTable::sigmaND1905 156 const G4double G4XNDeltastarTable::sigmaND1905[121] = 157 { 157 { 158 0.0, 158 0.0, 159 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 159 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 160 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 160 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 161 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 161 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 162 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 162 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, 163 0.002, 0.003, 0.005, 0.008, 0.013, 0.02 163 0.002, 0.003, 0.005, 0.008, 0.013, 0.023, 0.041, 0.075, 164 0.131, 0.206, 0.286, 0.362, 0.430, 0.49 164 0.131, 0.206, 0.286, 0.362, 0.430, 0.491, 0.542, 0.587, 165 0.626, 0.659, 0.687, 0.710, 0.730, 0.74 165 0.626, 0.659, 0.687, 0.710, 0.730, 0.745, 0.757, 0.767, 166 0.774, 0.778, 0.781, 0.782, 0.781, 0.77 166 0.774, 0.778, 0.781, 0.782, 0.781, 0.778, 0.775, 0.770, 167 0.764, 0.757, 0.749, 0.741, 0.732, 0.72 167 0.764, 0.757, 0.749, 0.741, 0.732, 0.722, 0.712, 0.702, 168 0.691, 0.680, 0.669, 0.658, 0.646, 0.63 168 0.691, 0.680, 0.669, 0.658, 0.646, 0.635, 0.623, 0.611, 169 0.607, 0.454, 0.346, 0.270, 0.216, 0.17 169 0.607, 0.454, 0.346, 0.270, 0.216, 0.176, 0.146, 0.123, 170 0.105, 0.091, 0.079, 0.070, 0.066, 0.05 170 0.105, 0.091, 0.079, 0.070, 0.066, 0.055, 0.050, 0.045, 171 0.041, 0.037, 0.034, 0.031, 0.029, 0.02 171 0.041, 0.037, 0.034, 0.031, 0.029, 0.027, 0.025, 0.023, 172 0.021, 0.020, 0.019, 0.018, 0.016, 0.01 172 0.021, 0.020, 0.019, 0.018, 0.016, 0.016, 0.015, 0.014, 173 0.013, 0.012, 0.012, 0.011, 0.011, 0.01 173 0.013, 0.012, 0.012, 0.011, 0.011, 0.010, 0.010, 0.009 174 }; 174 }; 175 175 176 const G4double G4XNDeltastarTable::sigmaND1910 176 const G4double G4XNDeltastarTable::sigmaND1910[121] = 177 { 177 { 178 0.0, 178 0.0, 179 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 179 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 180 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 180 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 181 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 181 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 182 0.000, 0.000, 0.000, 0.001, 0.001, 0.00 182 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, 0.001, 0.002, 183 0.002, 0.003, 0.004, 0.006, 0.008, 0.01 183 0.002, 0.003, 0.004, 0.006, 0.008, 0.012, 0.017, 0.026, 184 0.041, 0.063, 0.089, 0.116, 0.142, 0.16 184 0.041, 0.063, 0.089, 0.116, 0.142, 0.164, 0.184, 0.201, 185 0.215, 0.227, 0.238, 0.246, 0.253, 0.25 185 0.215, 0.227, 0.238, 0.246, 0.253, 0.259, 0.263, 0.266, 186 0.268, 0.270, 0.270, 0.270, 0.270, 0.26 186 0.268, 0.270, 0.270, 0.270, 0.270, 0.269, 0.267, 0.265, 187 0.263, 0.260, 0.257, 0.254, 0.251, 0.24 187 0.263, 0.260, 0.257, 0.254, 0.251, 0.247, 0.243, 0.240, 188 0.236, 0.232, 0.228, 0.224, 0.219, 0.21 188 0.236, 0.232, 0.228, 0.224, 0.219, 0.215, 0.211, 0.207, 189 0.206, 0.152, 0.115, 0.089, 0.071, 0.05 189 0.206, 0.152, 0.115, 0.089, 0.071, 0.058, 0.048, 0.040, 190 0.034, 0.030, 0.027, 0.023, 0.020, 0.01 190 0.034, 0.030, 0.027, 0.023, 0.020, 0.018, 0.016, 0.015, 191 0.013, 0.012, 0.011, 0.010, 0.009, 0.00 191 0.013, 0.012, 0.011, 0.010, 0.009, 0.009, 0.008, 0.007, 192 0.007, 0.006, 0.006, 0.006, 0.005, 0.00 192 0.007, 0.006, 0.006, 0.006, 0.005, 0.005, 0.005, 0.004, 193 0.004, 0.004, 0.004, 0.004, 0.003, 0.00 193 0.004, 0.004, 0.004, 0.004, 0.003, 0.003, 0.003, 0.003 194 }; 194 }; 195 195 196 const G4double G4XNDeltastarTable::sigmaND1920 196 const G4double G4XNDeltastarTable::sigmaND1920[121] = 197 { 197 { 198 0.0, 198 0.0, 199 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 199 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 200 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 200 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 201 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 201 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 202 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 202 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, 203 0.001, 0.002, 0.003, 0.004, 0.006, 0.00 203 0.001, 0.002, 0.003, 0.004, 0.006, 0.009, 0.013, 0.022, 204 0.037, 0.068, 0.123, 0.194, 0.263, 0.32 204 0.037, 0.068, 0.123, 0.194, 0.263, 0.322, 0.371, 0.412, 205 0.446, 0.473, 0.496, 0.515, 0.529, 0.54 205 0.446, 0.473, 0.496, 0.515, 0.529, 0.540, 0.549, 0.555, 206 0.559, 0.561, 0.561, 0.560, 0.558, 0.55 206 0.559, 0.561, 0.561, 0.560, 0.558, 0.555, 0.551, 0.546, 207 0.540, 0.534, 0.527, 0.519, 0.512, 0.50 207 0.540, 0.534, 0.527, 0.519, 0.512, 0.504, 0.495, 0.487, 208 0.478, 0.470, 0.461, 0.452, 0.443, 0.43 208 0.478, 0.470, 0.461, 0.452, 0.443, 0.434, 0.425, 0.416, 209 0.413, 0.301, 0.225, 0.174, 0.138, 0.11 209 0.413, 0.301, 0.225, 0.174, 0.138, 0.112, 0.092, 0.078, 210 0.066, 0.057, 0.049, 0.043, 0.038, 0.03 210 0.066, 0.057, 0.049, 0.043, 0.038, 0.034, 0.031, 0.028, 211 0.025, 0.023, 0.021, 0.019, 0.018, 0.01 211 0.025, 0.023, 0.021, 0.019, 0.018, 0.016, 0.015, 0.014, 212 0.013, 0.012, 0.011, 0.011, 0.010, 0.00 212 0.013, 0.012, 0.011, 0.011, 0.010, 0.009, 0.009, 0.008, 213 0.008, 0.008, 0.007, 0.007, 0.007, 0.00 213 0.008, 0.008, 0.007, 0.007, 0.007, 0.006, 0.006, 0.006 214 }; 214 }; 215 215 216 const G4double G4XNDeltastarTable::sigmaND1930 216 const G4double G4XNDeltastarTable::sigmaND1930[121] = 217 { 217 { 218 0.0, 218 0.0, 219 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 219 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 220 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 220 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 221 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 221 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 222 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 222 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 0.001, 223 0.001, 0.002, 0.003, 0.004, 0.006, 0.01 223 0.001, 0.002, 0.003, 0.004, 0.006, 0.010, 0.016, 0.028, 224 0.051, 0.092, 0.154, 0.227, 0.298, 0.36 224 0.051, 0.092, 0.154, 0.227, 0.298, 0.363, 0.419, 0.468, 225 0.509, 0.545, 0.575, 0.605, 0.626, 0.64 225 0.509, 0.545, 0.575, 0.605, 0.626, 0.643, 0.658, 0.665, 226 0.674, 0.680, 0.684, 0.687, 0.687, 0.68 226 0.674, 0.680, 0.684, 0.687, 0.687, 0.687, 0.685, 0.681, 227 0.677, 0.672, 0.666, 0.659, 0.651, 0.64 227 0.677, 0.672, 0.666, 0.659, 0.651, 0.644, 0.635, 0.626, 228 0.617, 0.608, 0.598, 0.588, 0.578, 0.56 228 0.617, 0.608, 0.598, 0.588, 0.578, 0.568, 0.558, 0.547, 229 0.544, 0.407, 0.310, 0.242, 0.193, 0.15 229 0.544, 0.407, 0.310, 0.242, 0.193, 0.157, 0.131, 0.110, 230 0.094, 0.081, 0.075, 0.062, 0.055, 0.04 230 0.094, 0.081, 0.075, 0.062, 0.055, 0.049, 0.044, 0.040, 231 0.036, 0.033, 0.030, 0.028, 0.025, 0.02 231 0.036, 0.033, 0.030, 0.028, 0.025, 0.024, 0.022, 0.020, 232 0.019, 0.018, 0.017, 0.016, 0.015, 0.01 232 0.019, 0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.012, 233 0.012, 0.011, 0.010, 0.010, 0.009, 0.00 233 0.012, 0.011, 0.010, 0.010, 0.009, 0.009, 0.009, 0.008 234 }; 234 }; 235 235 236 const G4double G4XNDeltastarTable::sigmaND1950 236 const G4double G4XNDeltastarTable::sigmaND1950[121] = 237 { 237 { 238 0.0, 238 0.0, 239 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 239 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 240 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 240 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 241 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 241 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 242 0.000, 0.000, 0.000, 0.000, 0.000, 0.00 242 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.001, 243 0.001, 0.001, 0.002, 0.003, 0.005, 0.00 243 0.001, 0.001, 0.002, 0.003, 0.005, 0.008, 0.013, 0.023, 244 0.041, 0.078, 0.142, 0.229, 0.319, 0.40 244 0.041, 0.078, 0.142, 0.229, 0.319, 0.402, 0.475, 0.538, 245 0.597, 0.643, 0.678, 0.711, 0.739, 0.76 245 0.597, 0.643, 0.678, 0.711, 0.739, 0.762, 0.781, 0.797, 246 0.809, 0.818, 0.824, 0.828, 0.830, 0.83 246 0.809, 0.818, 0.824, 0.828, 0.830, 0.830, 0.829, 0.825, 247 0.821, 0.815, 0.809, 0.801, 0.793, 0.78 247 0.821, 0.815, 0.809, 0.801, 0.793, 0.784, 0.774, 0.764, 248 0.753, 0.742, 0.730, 0.718, 0.706, 0.69 248 0.753, 0.742, 0.730, 0.718, 0.706, 0.694, 0.682, 0.670, 249 0.666, 0.500, 0.380, 0.297, 0.237, 0.19 249 0.666, 0.500, 0.380, 0.297, 0.237, 0.193, 0.160, 0.135, 250 0.115, 0.099, 0.087, 0.076, 0.068, 0.06 250 0.115, 0.099, 0.087, 0.076, 0.068, 0.060, 0.054, 0.049, 251 0.044, 0.040, 0.037, 0.034, 0.031, 0.02 251 0.044, 0.040, 0.037, 0.034, 0.031, 0.029, 0.027, 0.025, 252 0.023, 0.022, 0.020, 0.019, 0.018, 0.01 252 0.023, 0.022, 0.020, 0.019, 0.018, 0.017, 0.016, 0.015, 253 0.014, 0.013, 0.013, 0.012, 0.012, 0.01 253 0.014, 0.013, 0.013, 0.012, 0.012, 0.011, 0.010, 0.010 254 }; 254 }; 255 255 256 256 257 257 258 G4XNDeltastarTable::G4XNDeltastarTable() 258 G4XNDeltastarTable::G4XNDeltastarTable() 259 { 259 { 260 xMap["delta(1600)-"] = (G4double*) sigmaND16 260 xMap["delta(1600)-"] = (G4double*) sigmaND1600; 261 xMap["delta(1600)0"] = (G4double*) sigmaND16 261 xMap["delta(1600)0"] = (G4double*) sigmaND1600; 262 xMap["delta(1600)+"] = (G4double*) sigmaND16 262 xMap["delta(1600)+"] = (G4double*) sigmaND1600; 263 xMap["delta(1600)++"] = (G4double*) sigmaND1 263 xMap["delta(1600)++"] = (G4double*) sigmaND1600; 264 264 265 xMap["delta(1620)-"] = (G4double*) sigmaND16 265 xMap["delta(1620)-"] = (G4double*) sigmaND1620; 266 xMap["delta(1620)0"] = (G4double*) sigmaND16 266 xMap["delta(1620)0"] = (G4double*) sigmaND1620; 267 xMap["delta(1620)+"] = (G4double*) sigmaND16 267 xMap["delta(1620)+"] = (G4double*) sigmaND1620; 268 xMap["delta(1620)++"] = (G4double*) sigmaND1 268 xMap["delta(1620)++"] = (G4double*) sigmaND1620; 269 269 270 xMap["delta(1700)-"] = (G4double*) sigmaND17 270 xMap["delta(1700)-"] = (G4double*) sigmaND1700; 271 xMap["delta(1700)0"] = (G4double*) sigmaND17 271 xMap["delta(1700)0"] = (G4double*) sigmaND1700; 272 xMap["delta(1700)+"] = (G4double*) sigmaND17 272 xMap["delta(1700)+"] = (G4double*) sigmaND1700; 273 xMap["delta(1700)++"] = (G4double*) sigmaND1 273 xMap["delta(1700)++"] = (G4double*) sigmaND1700; 274 274 275 xMap["delta(1900)-"] = (G4double*) sigmaND19 275 xMap["delta(1900)-"] = (G4double*) sigmaND1900; 276 xMap["delta(1900)0"] = (G4double*) sigmaND19 276 xMap["delta(1900)0"] = (G4double*) sigmaND1900; 277 xMap["delta(1900)+"] = (G4double*) sigmaND19 277 xMap["delta(1900)+"] = (G4double*) sigmaND1900; 278 xMap["delta(1900)++"] = (G4double*) sigmaND1 278 xMap["delta(1900)++"] = (G4double*) sigmaND1900; 279 279 280 xMap["delta(1905)-"] = (G4double*) sigmaND19 280 xMap["delta(1905)-"] = (G4double*) sigmaND1905; 281 xMap["delta(1905)0"] = (G4double*) sigmaND19 281 xMap["delta(1905)0"] = (G4double*) sigmaND1905; 282 xMap["delta(1905)+"] = (G4double*) sigmaND19 282 xMap["delta(1905)+"] = (G4double*) sigmaND1905; 283 xMap["delta(1905)++"] = (G4double*) sigmaND1 283 xMap["delta(1905)++"] = (G4double*) sigmaND1905; 284 284 285 xMap["delta(1910)-"] = (G4double*) sigmaND19 285 xMap["delta(1910)-"] = (G4double*) sigmaND1910; 286 xMap["delta(1910)0"] = (G4double*) sigmaND19 286 xMap["delta(1910)0"] = (G4double*) sigmaND1910; 287 xMap["delta(1910)+"] = (G4double*) sigmaND19 287 xMap["delta(1910)+"] = (G4double*) sigmaND1910; 288 xMap["delta(1910)++"] = (G4double*) sigmaND1 288 xMap["delta(1910)++"] = (G4double*) sigmaND1910; 289 289 290 xMap["delta(1920)-"] = (G4double*) sigmaND19 290 xMap["delta(1920)-"] = (G4double*) sigmaND1920; 291 xMap["delta(1920)0"] = (G4double*) sigmaND19 291 xMap["delta(1920)0"] = (G4double*) sigmaND1920; 292 xMap["delta(1920)+"] = (G4double*) sigmaND19 292 xMap["delta(1920)+"] = (G4double*) sigmaND1920; 293 xMap["delta(1920)++"] = (G4double*) sigmaND1 293 xMap["delta(1920)++"] = (G4double*) sigmaND1920; 294 294 295 xMap["delta(1930)-"] = (G4double*) sigmaND19 295 xMap["delta(1930)-"] = (G4double*) sigmaND1930; 296 xMap["delta(1930)0"] = (G4double*) sigmaND19 296 xMap["delta(1930)0"] = (G4double*) sigmaND1930; 297 xMap["delta(1930)+"] = (G4double*) sigmaND19 297 xMap["delta(1930)+"] = (G4double*) sigmaND1930; 298 xMap["delta(1930)++"] = (G4double*) sigmaND1 298 xMap["delta(1930)++"] = (G4double*) sigmaND1930; 299 299 300 xMap["delta(1950)-"] = (G4double*) sigmaND19 300 xMap["delta(1950)-"] = (G4double*) sigmaND1950; 301 xMap["delta(1950)0"] = (G4double*) sigmaND19 301 xMap["delta(1950)0"] = (G4double*) sigmaND1950; 302 xMap["delta(1950)+"] = (G4double*) sigmaND19 302 xMap["delta(1950)+"] = (G4double*) sigmaND1950; 303 xMap["delta(1950)++"] = (G4double*) sigmaND1 303 xMap["delta(1950)++"] = (G4double*) sigmaND1950; 304 } 304 } 305 305 306 306 307 G4XNDeltastarTable::~G4XNDeltastarTable() 307 G4XNDeltastarTable::~G4XNDeltastarTable() 308 { } 308 { } 309 309 310 310 311 const G4PhysicsVector* G4XNDeltastarTable::Cro 311 const G4PhysicsVector* G4XNDeltastarTable::CrossSectionTable(const G4String& particleName) const 312 { 312 { 313 // NOTE: the returned pointer is owned by th 313 // NOTE: the returned pointer is owned by the client 314 314 315 if (xMap.find(particleName) != xMap.end()) 315 if (xMap.find(particleName) != xMap.end()) 316 { 316 { 317 // Cross section table for the requested 317 // Cross section table for the requested particle available in the Map 318 G4PhysicsFreeVector* sigmaVector = new G 318 G4PhysicsFreeVector* sigmaVector = new G4PhysicsFreeVector(sizeNDeltastar); 319 std::map <G4String, G4double*, std::less 319 std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter; 320 G4double* sigmaPointer = 0; 320 G4double* sigmaPointer = 0; 321 for (iter = xMap.begin(); iter != xMap.e 321 for (iter = xMap.begin(); iter != xMap.end(); ++iter) 322 { 322 { 323 G4String str = (*iter).first; 323 G4String str = (*iter).first; 324 if (str == particleName) 324 if (str == particleName) 325 { 325 { 326 sigmaPointer = (*iter).second; 326 sigmaPointer = (*iter).second; 327 } 327 } 328 } 328 } 329 329 330 G4int i; 330 G4int i; 331 for (i=0; i<sizeNDeltastar; i++) 331 for (i=0; i<sizeNDeltastar; i++) 332 { 332 { 333 G4double value = *(sigmaPointer + i) * 0.5 333 G4double value = *(sigmaPointer + i) * 0.5* millibarn; 334 G4double energy = energyTable[i] * GeV; 334 G4double energy = energyTable[i] * GeV; 335 sigmaVector->PutValue(i,energy,value); 335 sigmaVector->PutValue(i,energy,value); 336 } 336 } 337 return sigmaVector; 337 return sigmaVector; 338 } 338 } 339 else 339 else 340 // No cross section table for the requeste 340 // No cross section table for the requested particle is available in the Map 341 return 0; 341 return 0; 342 } 342 } 343 343 344 344 345 345 346 346 347 347 348 348 349 349 350 350 351 351 352 352 353 353