[819] | 1 | // |
---|
| 2 | // ******************************************************************** |
---|
| 3 | // * License and Disclaimer * |
---|
| 4 | // * * |
---|
| 5 | // * The Geant4 software is copyright of the Copyright Holders of * |
---|
| 6 | // * the Geant4 Collaboration. It is provided under the terms and * |
---|
| 7 | // * conditions of the Geant4 Software License, included in the file * |
---|
| 8 | // * LICENSE and available at http://cern.ch/geant4/license . These * |
---|
| 9 | // * include a list of copyright holders. * |
---|
| 10 | // * * |
---|
| 11 | // * Neither the authors of this software system, nor their employing * |
---|
| 12 | // * institutes,nor the agencies providing financial support for this * |
---|
| 13 | // * work make any representation or warranty, express or implied, * |
---|
| 14 | // * regarding this software system or assume any liability for its * |
---|
| 15 | // * use. Please see the license in the file LICENSE and URL above * |
---|
| 16 | // * for the full disclaimer and the limitation of liability. * |
---|
| 17 | // * * |
---|
| 18 | // * This code implementation is the result of the scientific and * |
---|
| 19 | // * technical work of the GEANT4 collaboration. * |
---|
| 20 | // * By using, copying, modifying or distributing the software (or * |
---|
| 21 | // * any work based on the software) you agree to acknowledge its * |
---|
| 22 | // * use in resulting scientific publications, and indicate your * |
---|
| 23 | // * acceptance of all terms of the Geant4 Software license. * |
---|
| 24 | // ******************************************************************** |
---|
| 25 | // |
---|
| 26 | // |
---|
| 27 | // Implementation of the HETC88 code into Geant4. |
---|
| 28 | // Evaporation and De-excitation parts |
---|
| 29 | // T. Lampen, Helsinki Institute of Physics, May-2000 |
---|
| 30 | |
---|
| 31 | #include "globals.hh" |
---|
| 32 | #include "G4ios.hh" |
---|
| 33 | #include "Randomize.hh" |
---|
| 34 | #include "G4Neutron.hh" |
---|
| 35 | #include "G4Proton.hh" |
---|
| 36 | #include "G4Deuteron.hh" |
---|
| 37 | #include "G4Triton.hh" |
---|
| 38 | #include "G4Alpha.hh" |
---|
| 39 | #include "G4ParticleTable.hh" |
---|
| 40 | #include "G4Nucleus.hh" |
---|
| 41 | #include "G4BertiniEvaporationChannel.hh" |
---|
| 42 | |
---|
| 43 | |
---|
| 44 | G4BertiniEvaporationChannel::G4BertiniEvaporationChannel() |
---|
| 45 | { |
---|
| 46 | verboseLevel = 0; |
---|
| 47 | } |
---|
| 48 | |
---|
| 49 | |
---|
| 50 | G4BertiniEvaporationChannel::~G4BertiniEvaporationChannel() |
---|
| 51 | { |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | |
---|
| 55 | void G4BertiniEvaporationChannel::setVerboseLevel( G4int level ) |
---|
| 56 | { |
---|
| 57 | verboseLevel = level; |
---|
| 58 | } |
---|
| 59 | |
---|
| 60 | |
---|
| 61 | void G4BertiniEvaporationChannel::setNucleusA( G4int a ) |
---|
| 62 | { |
---|
| 63 | nucleusA = a; |
---|
| 64 | } |
---|
| 65 | |
---|
| 66 | |
---|
| 67 | void G4BertiniEvaporationChannel::setNucleusZ( G4int z ) |
---|
| 68 | { |
---|
| 69 | nucleusZ = z; |
---|
| 70 | } |
---|
| 71 | |
---|
| 72 | |
---|
| 73 | G4int G4BertiniEvaporationChannel::getParticleA() |
---|
| 74 | { |
---|
| 75 | return particleA; |
---|
| 76 | } |
---|
| 77 | |
---|
| 78 | |
---|
| 79 | G4int G4BertiniEvaporationChannel::getParticleZ() |
---|
| 80 | { |
---|
| 81 | return particleZ; |
---|
| 82 | } |
---|
| 83 | |
---|
| 84 | |
---|
| 85 | void G4BertiniEvaporationChannel::setExcitationEnergy(G4double energy ) |
---|
| 86 | { |
---|
| 87 | excitationEnergy = energy; |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | |
---|
| 91 | void G4BertiniEvaporationChannel::setPairingCorrection( G4int isCorrection ) |
---|
| 92 | { |
---|
| 93 | G4int residualZ = nucleusZ - particleZ; |
---|
| 94 | G4int residualA = nucleusA - particleA; |
---|
| 95 | |
---|
| 96 | // Note: pairing energy is zero for odd nucleon number. |
---|
| 97 | |
---|
| 98 | if ( isCorrection ) correction = pairingEnergyProtons( residualZ ) |
---|
| 99 | + pairingEnergyNeutrons( residualA - residualZ ); |
---|
| 100 | else correction = 0; |
---|
| 101 | } |
---|
| 102 | |
---|
| 103 | |
---|
| 104 | G4double G4BertiniEvaporationChannel::getProbability() |
---|
| 105 | { |
---|
| 106 | if ( verboseLevel >= 4 ) |
---|
| 107 | G4cout << "G4BerEvaporationChannel : probability of particle " << name |
---|
| 108 | << " is " << emissionProbability << G4endl; |
---|
| 109 | |
---|
| 110 | return emissionProbability; |
---|
| 111 | } |
---|
| 112 | |
---|
| 113 | |
---|
| 114 | G4String G4BertiniEvaporationChannel::getName() |
---|
| 115 | { |
---|
| 116 | return name; |
---|
| 117 | } |
---|
| 118 | |
---|
| 119 | |
---|
| 120 | void G4BertiniEvaporationChannel::setProbability( G4double newProb ) |
---|
| 121 | { |
---|
| 122 | emissionProbability = newProb; |
---|
| 123 | return; |
---|
| 124 | } |
---|
| 125 | |
---|
| 126 | |
---|
| 127 | G4double G4BertiniEvaporationChannel::getQ() |
---|
| 128 | { |
---|
| 129 | // The reaction Q is calculated by using the excess masses of the |
---|
| 130 | // secondary particle and the initial and residual nuclei |
---|
| 131 | G4int residualZ = nucleusZ - particleZ; |
---|
| 132 | G4int residualA = nucleusA - particleA; |
---|
| 133 | // G4int residualN = residualA - residualZ; |
---|
| 134 | // G4int nucleusN = nucleusA - nucleusZ; |
---|
| 135 | |
---|
| 136 | // All the following are by default in MeV |
---|
| 137 | const G4double e1 = G4NucleiProperties::GetMassExcess( residualA, residualZ ); |
---|
| 138 | const G4double e2 = G4NucleiProperties::GetMassExcess( nucleusA, nucleusZ ); |
---|
| 139 | |
---|
| 140 | return e1 - e2 + G4NucleiProperties::GetMassExcess( particleA, particleZ ); |
---|
| 141 | // In HETC88 : Mass excesses were calculated with the Cameron mass excess formula, |
---|
| 142 | // see Cameron, Canadian Journal of Physics, |
---|
| 143 | // vol. 35, 1957, p.1022 |
---|
| 144 | // Also mass excesses of particles were |
---|
| 145 | // 8.3675, 7.5851, 13.7279, 15.8381, 15.8195, 3.6092 for |
---|
| 146 | // n, p, D, T, 3He, 4He |
---|
| 147 | } |
---|
| 148 | |
---|
| 149 | |
---|
| 150 | G4double G4BertiniEvaporationChannel::getThresh() |
---|
| 151 | { |
---|
| 152 | G4double threshold = getQ() + getCoulomb(); |
---|
| 153 | return threshold; |
---|
| 154 | } |
---|
| 155 | |
---|
| 156 | |
---|
| 157 | G4double G4BertiniEvaporationChannel::getCoulomb() |
---|
| 158 | { |
---|
| 159 | G4int residualZ = nucleusZ - particleZ; |
---|
| 160 | G4int residualA = nucleusA - particleA; |
---|
| 161 | const G4double factor = 0.84696; // = e / ( 4 pi epsilon_0 r0 ) * 10^-6, r0=1.7E-15 |
---|
| 162 | // In HETC88 this factor was 0.88235, perhaps due to different r0 |
---|
| 163 | |
---|
| 164 | G4double coulomb = factor * particleZ * qmFactor() * residualZ / |
---|
| 165 | ( std::pow( G4double(residualA), 0.33333333 ) + rho ) * MeV; |
---|
| 166 | |
---|
| 167 | if ( verboseLevel >= 10 ) |
---|
| 168 | G4cout << " G4BertiniEvaporationChannel::getThresh() " << G4endl |
---|
| 169 | << " residualZ " << residualZ << G4endl |
---|
| 170 | << " residualA " << residualA << G4endl |
---|
| 171 | << " qmFactor " << qmFactor() << G4endl |
---|
| 172 | << " Q " << getQ() << G4endl |
---|
| 173 | << " rho " << rho << G4endl |
---|
| 174 | << " part Z " << particleZ << G4endl |
---|
| 175 | << " (correction) " << correction << G4endl; |
---|
| 176 | |
---|
| 177 | return coulomb; |
---|
| 178 | } |
---|
| 179 | |
---|
| 180 | |
---|
| 181 | G4double G4BertiniEvaporationChannel::qmFactor() |
---|
| 182 | { |
---|
| 183 | // Coefficient k_p for empirical cross section |
---|
| 184 | // formula presented in Dostrovsky, Phys. Rev., |
---|
| 185 | // vol. 116, 1959 |
---|
| 186 | return 0; |
---|
| 187 | } |
---|
| 188 | |
---|
| 189 | |
---|
| 190 | G4double G4BertiniEvaporationChannel::getLevelDensityParameter() |
---|
| 191 | { |
---|
| 192 | G4int residualZ = nucleusZ - particleZ; |
---|
| 193 | G4int residualA = nucleusA - particleA; |
---|
| 194 | G4double b0 = 8; |
---|
| 195 | G4double y0 = 1.5; |
---|
| 196 | |
---|
| 197 | G4double temp = ( residualA - 2.0 * residualZ ) / residualA; |
---|
| 198 | G4double smallA = residualA * ( 1.0 + y0 * std::pow( temp, 2. ) ) / b0 / MeV; |
---|
| 199 | |
---|
| 200 | // In HETC98 b0 = b0(E). |
---|
| 201 | |
---|
| 202 | return smallA; |
---|
| 203 | } |
---|
| 204 | |
---|
| 205 | |
---|
| 206 | void G4BertiniEvaporationChannel::isotropicCosines( G4double & u, G4double & v, G4double & w ) |
---|
| 207 | { |
---|
| 208 | // Samples isotropic random direction cosines. |
---|
| 209 | G4double CosTheta = 1.0 - 2.0 * G4UniformRand(); |
---|
| 210 | G4double SinTheta = std::sqrt( 1.0 - CosTheta * CosTheta ); |
---|
| 211 | G4double Phi = twopi * G4UniformRand(); |
---|
| 212 | |
---|
| 213 | u = std::cos( Phi ) * SinTheta; |
---|
| 214 | v = std::cos( Phi ) * CosTheta, |
---|
| 215 | w = std::sin( Phi ); |
---|
| 216 | |
---|
| 217 | return; |
---|
| 218 | } |
---|
| 219 | |
---|
| 220 | |
---|
| 221 | G4double G4BertiniEvaporationChannel::pairingEnergyProtons(G4int Z) |
---|
| 222 | { |
---|
| 223 | // Pairing energy for protons P(Z), see |
---|
| 224 | // Cameron, Nuclear Level Spacings, p. 1040 |
---|
| 225 | // Canadian Journal of Physics, vol 36, 1958 |
---|
| 226 | G4double table [130] = { |
---|
| 227 | 0.00000000E+00, 0.54399996E+01, 0.00000000E+00, 0.27599993E+01, 0.00000000E+00, |
---|
| 228 | 0.33399992E+01, 0.00000000E+00, 0.26999998E+01, 0.00000000E+00, 0.18999996E+01, |
---|
| 229 | 0.00000000E+00, 0.21199999E+01, 0.00000000E+00, 0.21299992E+01, 0.00000000E+00, |
---|
| 230 | 0.15399990E+01, 0.00000000E+00, 0.14199991E+01, 0.00000000E+00, 0.15099993E+01, |
---|
| 231 | 0.00000000E+00, 0.17299995E+01, 0.00000000E+00, 0.14399996E+01, 0.00000000E+00, |
---|
| 232 | 0.14499998E+01, 0.00000000E+00, 0.13699999E+01, 0.00000000E+00, 0.10899992E+01, |
---|
| 233 | 0.00000000E+00, 0.13599997E+01, 0.00000000E+00, 0.14199991E+01, 0.00000000E+00, |
---|
| 234 | 0.13299990E+01, 0.00000000E+00, 0.11999998E+01, 0.00000000E+00, 0.99999988E+00, |
---|
| 235 | 0.00000000E+00, 0.11599998E+01, 0.00000000E+00, 0.12799997E+01, 0.00000000E+00, |
---|
| 236 | 0.13799992E+01, 0.00000000E+00, 0.13799992E+01, 0.00000000E+00, 0.13199997E+01, |
---|
| 237 | 0.00000000E+00, 0.10399990E+01, 0.00000000E+00, 0.11099997E+01, 0.00000000E+00, |
---|
| 238 | 0.11299992E+01, 0.00000000E+00, 0.12099991E+01, 0.00000000E+00, 0.14299994E+01, |
---|
| 239 | 0.00000000E+00, 0.11499996E+01, 0.00000000E+00, 0.98999995E+00, 0.00000000E+00, |
---|
| 240 | 0.90999997E+00, 0.00000000E+00, 0.91999996E+00, 0.00000000E+00, 0.99999988E+00, |
---|
| 241 | 0.00000000E+00, 0.11099997E+01, 0.00000000E+00, 0.12299995E+01, 0.00000000E+00, |
---|
| 242 | 0.84999996E+00, 0.00000000E+00, 0.97999996E+00, 0.00000000E+00, 0.71999997E+00, |
---|
| 243 | 0.00000000E+00, 0.79999995E+00, 0.00000000E+00, 0.76999998E+00, 0.00000000E+00, |
---|
| 244 | 0.88999999E+00, 0.00000000E+00, 0.91999996E+00, 0.00000000E+00, 0.79999995E+00, |
---|
| 245 | 0.00000000E+00, 0.80999994E+00, 0.00000000E+00, 0.69000000E+00, 0.00000000E+00, |
---|
| 246 | 0.69999999E+00, 0.00000000E+00, 0.75999999E+00, 0.00000000E+00, 0.72999996E+00, |
---|
| 247 | 0.00000000E+00, 0.79999995E+00, 0.00000000E+00, 0.73999995E+00, 0.00000000E+00, |
---|
| 248 | 0.72999996E+00, 0.00000000E+00, 0.71999997E+00, 0.00000000E+00, 0.71999997E+00, |
---|
| 249 | 0.00000000E+00, 0.71999997E+00, 0.00000000E+00, 0.70999998E+00, 0.00000000E+00, |
---|
| 250 | 0.69000000E+00, 0.00000000E+00, 0.67999995E+00, 0.00000000E+00, 0.65999997E+00, |
---|
| 251 | 0.00000000E+00, 0.60999995E+00, 0.00000000E+00, 0.41999996E+00, 0.00000000E+00, |
---|
| 252 | 0.35999995E+00, 0.00000000E+00, 0.40999997E+00, 0.00000000E+00, 0.48999995E+00 |
---|
| 253 | }; |
---|
| 254 | if ( Z>130 ) throw G4HadronicException(__FILE__, __LINE__, " G4BertiniEvaporationChannel: pairing energy for protons called with too large Z " ); |
---|
| 255 | return table[ Z-1 ]*MeV; |
---|
| 256 | } |
---|
| 257 | |
---|
| 258 | |
---|
| 259 | G4double G4BertiniEvaporationChannel::pairingEnergyNeutrons(G4int N) |
---|
| 260 | { |
---|
| 261 | // Pairing energy for neutrons P(N), see |
---|
| 262 | // Cameron, Nuclear Level Spacings, p. 1040 |
---|
| 263 | // Canadian Journal of Physics, vol 36, 1958 |
---|
| 264 | G4double table[200] = { |
---|
| 265 | 0.00000000E+00, 0.59799995E+01, 0.00000000E+00, 0.27699995E+01, 0.00000000E+00, |
---|
| 266 | 0.31599998E+01, 0.00000000E+00, 0.30099993E+01, 0.00000000E+00, 0.16799994E+01, |
---|
| 267 | 0.00000000E+00, 0.17299995E+01, 0.00000000E+00, 0.21699991E+01, 0.00000000E+00, |
---|
| 268 | 0.17399998E+01, 0.00000000E+00, 0.17500000E+01, 0.00000000E+00, 0.17199993E+01, |
---|
| 269 | 0.00000000E+00, 0.16299992E+01, 0.00000000E+00, 0.14099998E+01, 0.00000000E+00, |
---|
| 270 | 0.12899990E+01, 0.00000000E+00, 0.14699993E+01, 0.00000000E+00, 0.13199997E+01, |
---|
| 271 | 0.00000000E+00, 0.14599991E+01, 0.00000000E+00, 0.14399996E+01, 0.00000000E+00, |
---|
| 272 | 0.14599991E+01, 0.00000000E+00, 0.15199995E+01, 0.00000000E+00, 0.15099993E+01, |
---|
| 273 | 0.00000000E+00, 0.14699993E+01, 0.00000000E+00, 0.14499998E+01, 0.00000000E+00, |
---|
| 274 | 0.12799997E+01, 0.00000000E+00, 0.12299995E+01, 0.00000000E+00, 0.12699995E+01, |
---|
| 275 | 0.00000000E+00, 0.61999995E+00, 0.00000000E+00, 0.75999999E+00, 0.00000000E+00, |
---|
| 276 | 0.12299995E+01, 0.00000000E+00, 0.12199993E+01, 0.00000000E+00, 0.13999996E+01, |
---|
| 277 | 0.00000000E+00, 0.13599997E+01, 0.00000000E+00, 0.12999992E+01, 0.00000000E+00, |
---|
| 278 | 0.12899990E+01, 0.00000000E+00, 0.12399998E+01, 0.00000000E+00, 0.12799997E+01, |
---|
| 279 | 0.00000000E+00, 0.12399998E+01, 0.00000000E+00, 0.11999998E+01, 0.00000000E+00, |
---|
| 280 | 0.94000000E+00, 0.00000000E+00, 0.99999988E+00, 0.00000000E+00, 0.10499992E+01, |
---|
| 281 | 0.00000000E+00, 0.53999996E+00, 0.00000000E+00, 0.59999996E+00, 0.00000000E+00, |
---|
| 282 | 0.75000000E+00, 0.00000000E+00, 0.75000000E+00, 0.00000000E+00, 0.84999996E+00, |
---|
| 283 | 0.00000000E+00, 0.96999997E+00, 0.00000000E+00, 0.10199995E+01, 0.00000000E+00, |
---|
| 284 | 0.10499992E+01, 0.00000000E+00, 0.10599995E+01, 0.00000000E+00, 0.10699997E+01, |
---|
| 285 | 0.00000000E+00, 0.10599995E+01, 0.00000000E+00, 0.10499992E+01, 0.00000000E+00, |
---|
| 286 | 0.10199995E+01, 0.00000000E+00, 0.96999997E+00, 0.00000000E+00, 0.90999997E+00, |
---|
| 287 | 0.00000000E+00, 0.82999998E+00, 0.00000000E+00, 0.73999995E+00, 0.00000000E+00, |
---|
| 288 | 0.65999997E+00, 0.00000000E+00, 0.60999995E+00, 0.00000000E+00, 0.60999995E+00, |
---|
| 289 | 0.00000000E+00, 0.89999998E+00, 0.00000000E+00, 0.51999998E+00, 0.00000000E+00, |
---|
| 290 | 0.80999994E+00, 0.00000000E+00, 0.67999995E+00, 0.00000000E+00, 0.71999997E+00, |
---|
| 291 | 0.00000000E+00, 0.76999998E+00, 0.00000000E+00, 0.67999995E+00, 0.00000000E+00, |
---|
| 292 | 0.66999996E+00, 0.00000000E+00, 0.79999995E+00, 0.00000000E+00, 0.67999995E+00, |
---|
| 293 | 0.00000000E+00, 0.63999999E+00, 0.00000000E+00, 0.57999998E+00, 0.00000000E+00, |
---|
| 294 | 0.54999995E+00, 0.00000000E+00, 0.56999993E+00, 0.00000000E+00, 0.56999993E+00, |
---|
| 295 | 0.00000000E+00, 0.54999995E+00, 0.00000000E+00, 0.59999996E+00, 0.00000000E+00, |
---|
| 296 | 0.57999998E+00, 0.00000000E+00, 0.57999998E+00, 0.00000000E+00, 0.60999995E+00, |
---|
| 297 | 0.00000000E+00, 0.63000000E+00, 0.00000000E+00, 0.64999998E+00, 0.00000000E+00, |
---|
| 298 | 0.65999997E+00, 0.00000000E+00, 0.64999998E+00, 0.00000000E+00, 0.64999998E+00, |
---|
| 299 | 0.00000000E+00, 0.63999999E+00, 0.00000000E+00, 0.63999999E+00, 0.00000000E+00, |
---|
| 300 | 0.63000000E+00, 0.00000000E+00, 0.60999995E+00, 0.00000000E+00, 0.58999997E+00, |
---|
| 301 | 0.00000000E+00, 0.54999995E+00, 0.00000000E+00, 0.38999999E+00, 0.00000000E+00, |
---|
| 302 | 0.35999995E+00, 0.00000000E+00, 0.39999998E+00, 0.00000000E+00, 0.39999998E+00, |
---|
| 303 | 0.00000000E+00, 0.39999998E+00, 0.00000000E+00, 0.39999998E+00, 0.00000000E+00, |
---|
| 304 | 0.39999998E+00, 0.00000000E+00, 0.39999998E+00, 0.00000000E+00, 0.39999998E+00 |
---|
| 305 | }; |
---|
| 306 | if ( N > 200 ) throw G4HadronicException(__FILE__, __LINE__, " G4BertiniEvaporationChannel: pairing energy for neutrons called with too large Z " ); |
---|
| 307 | return table[ N-1 ]*MeV; |
---|
| 308 | } |
---|
| 309 | |
---|
| 310 | |
---|
| 311 | G4double G4BertiniEvaporationChannel::cameronShellCorrectionP(G4int Z) |
---|
| 312 | { |
---|
| 313 | // Gives the binding energy correction depending in Z |
---|
| 314 | // due to shell correction and pairing energies in MeV |
---|
| 315 | // |
---|
| 316 | // see Cameron, Canadian Journal of Physics, |
---|
| 317 | // vol. 35, 1957, p.1022 |
---|
| 318 | G4double table[130] = { |
---|
| 319 | 0.26169998E+02, 0.19250000E+02, 0.24209991E+02, 0.20919998E+02, 0.23149994E+02, |
---|
| 320 | 0.18009995E+02, 0.19549988E+02, 0.16939987E+02, 0.19729996E+02, 0.17069992E+02, |
---|
| 321 | 0.18209991E+02, 0.14990000E+02, 0.16009995E+02, 0.12040000E+02, 0.13270000E+02, |
---|
| 322 | 0.11089998E+02, 0.12169999E+02, 0.10259998E+02, 0.11040000E+02, 0.84099998E+01, |
---|
| 323 | 0.97899990E+01, 0.73599997E+01, 0.81499996E+01, 0.56299992E+01, 0.58799992E+01, |
---|
| 324 | 0.31699991E+01, 0.33199997E+01, 0.81999993E+00, 0.18299999E+01, 0.96999997E+00, |
---|
| 325 | 0.23299999E+01, 0.12699995E+01, 0.29199991E+01, 0.16099997E+01, 0.29099998E+01, |
---|
| 326 | 0.13499994E+01, 0.23999996E+01, 0.88999999E+00, 0.17399998E+01, 0.35999995E+00, |
---|
| 327 | 0.94999999E+00, -0.64999998E+00, -0.39999995E-01, -0.17299995E+01, -0.95999998E+00, |
---|
| 328 | -0.28699999E+01, -0.20499992E+01, -0.40499992E+01, -0.33999996E+01, -0.57199993E+01, |
---|
| 329 | -0.37499990E+01, -0.41299992E+01, -0.24199991E+01, -0.28499994E+01, -0.10099993E+01, |
---|
| 330 | -0.13299990E+01, 0.53999996E+00, -0.20000000E-01, 0.17399998E+01, 0.75000000E+00, |
---|
| 331 | 0.22399998E+01, 0.99999988E+00, 0.19799995E+01, 0.78999996E+00, 0.15399990E+01, |
---|
| 332 | 0.38999999E+00, 0.10799999E+01, 0.00000000E+00, 0.77999997E+00, -0.34999996E+00, |
---|
| 333 | 0.57999998E+00, -0.54999995E+00, 0.58999997E+00, -0.60999995E+00, 0.58999997E+00, |
---|
| 334 | -0.34999996E+00, 0.31999993E+00, -0.95999998E+00, -0.51999998E+00, -0.20799999E+01, |
---|
| 335 | -0.24599991E+01, -0.36399994E+01, -0.15499992E+01, -0.95999998E+00, 0.96999997E+00, |
---|
| 336 | 0.88000000E+00, 0.23699999E+01, 0.17500000E+01, 0.27199993E+01, 0.18999996E+01, |
---|
| 337 | 0.25499992E+01, 0.14599991E+01, 0.19299994E+01, 0.85999995E+00, 0.11699991E+01, |
---|
| 338 | 0.79999983E-01, 0.38999999E+00, -0.75999999E+00, -0.38999999E+00, -0.15099993E+01, |
---|
| 339 | -0.11699991E+01, -0.23599997E+01, -0.19499998E+01, -0.30599995E+01, -0.26199999E+01, |
---|
| 340 | -0.35499992E+01, -0.29499998E+01, -0.37499990E+01, -0.30699997E+01, -0.37899990E+01, |
---|
| 341 | -0.30599995E+01, -0.37699995E+01, -0.30499992E+01, -0.37799997E+01, -0.31199999E+01, |
---|
| 342 | -0.38999996E+01, -0.33499994E+01, -0.42399998E+01, -0.38599997E+01, -0.49199991E+01, |
---|
| 343 | -0.50599995E+01, -0.67699995E+01, -0.74099998E+01, -0.91799994E+01, -0.10160000E+02, |
---|
| 344 | -0.11120000E+02, -0.97599993E+01, -0.92299995E+01, -0.79599991E+01, -0.76499996E+01, |
---|
| 345 | }; |
---|
| 346 | if ( Z > 130 ) throw G4HadronicException(__FILE__, __LINE__, " G4BertiniEvaporationChannel: shell correction for protons called with too large Z " ); |
---|
| 347 | return table[ Z-1 ]*MeV; |
---|
| 348 | } |
---|
| 349 | |
---|
| 350 | |
---|
| 351 | G4double G4BertiniEvaporationChannel::cameronShellCorrectionN(G4int N) |
---|
| 352 | { |
---|
| 353 | // Gives the binding energy correction depending in N |
---|
| 354 | // due to shell correction and pairing energies in MeV |
---|
| 355 | // |
---|
| 356 | // see Cameron, Canadian Journal of Physics, |
---|
| 357 | // vol. 35, 1957, p.1022 |
---|
| 358 | G4double table[200] = { |
---|
| 359 | -0.83199997E+01, -0.15899999E+02, -0.11509999E+02, -0.14309999E+02, -0.11570000E+02, |
---|
| 360 | -0.15899999E+02, -0.13909999E+02, -0.16029999E+02, -0.12129999E+02, -0.13869999E+02, |
---|
| 361 | -0.12249998E+02, -0.14399999E+02, -0.13069999E+02, -0.15799998E+02, -0.13809999E+02, |
---|
| 362 | -0.14980000E+02, -0.12629999E+02, -0.13759999E+02, -0.11369999E+02, -0.12379998E+02, |
---|
| 363 | -0.92299995E+01, -0.96499996E+01, -0.76399994E+01, -0.91699991E+01, -0.80499992E+01, |
---|
| 364 | -0.97199993E+01, -0.88699989E+01, -0.10759999E+02, -0.86399994E+01, -0.88899994E+01, |
---|
| 365 | -0.65999994E+01, -0.71299992E+01, -0.47699995E+01, -0.53299990E+01, -0.30599995E+01, |
---|
| 366 | -0.37899990E+01, -0.17199993E+01, -0.27899990E+01, -0.92999995E+00, -0.21899996E+01, |
---|
| 367 | -0.51999998E+00, -0.18999996E+01, -0.44999999E+00, -0.21999998E+01, -0.12199993E+01, |
---|
| 368 | -0.30699997E+01, -0.24199991E+01, -0.43699999E+01, -0.39399996E+01, -0.60799999E+01, |
---|
| 369 | -0.44899998E+01, -0.45000000E+01, -0.31399994E+01, -0.29299994E+01, -0.10399990E+01, |
---|
| 370 | -0.13599997E+01, 0.69000000E+00, 0.20999998E+00, 0.21099997E+01, 0.13299990E+01, |
---|
| 371 | 0.32900000E+01, 0.24599991E+01, 0.42999992E+01, 0.33199997E+01, 0.47899990E+01, |
---|
| 372 | 0.36199999E+01, 0.49699993E+01, 0.36399994E+01, 0.46299992E+01, 0.30699997E+01, |
---|
| 373 | 0.40599995E+01, 0.24899998E+01, 0.32999992E+01, 0.14599991E+01, 0.20599995E+01, |
---|
| 374 | 0.50999999E+00, 0.73999995E+00, -0.11799994E+01, -0.12599993E+01, -0.35399990E+01, |
---|
| 375 | -0.39699993E+01, -0.52599993E+01, -0.41799994E+01, -0.37099991E+01, -0.20999994E+01, |
---|
| 376 | -0.16999998E+01, -0.79999983E-01, -0.17999995E+00, 0.94000000E+00, 0.26999998E+00, |
---|
| 377 | 0.11299992E+01, 0.79999983E-01, 0.90999997E+00, -0.30999994E+00, 0.48999995E+00, |
---|
| 378 | -0.77999997E+00, 0.79999983E-01, -0.11499996E+01, -0.22999996E+00, -0.14099998E+01, |
---|
| 379 | -0.41999996E+00, -0.15499992E+01, -0.54999995E+00, -0.16599998E+01, -0.65999997E+00, |
---|
| 380 | -0.17299995E+01, -0.75000000E+00, -0.17399998E+01, -0.77999997E+00, -0.16899996E+01, |
---|
| 381 | -0.77999997E+00, -0.15999994E+01, -0.75000000E+00, -0.14599991E+01, -0.66999996E+00, |
---|
| 382 | -0.12599993E+01, -0.50999999E+00, -0.10399990E+01, -0.52999997E+00, -0.18399992E+01, |
---|
| 383 | -0.24199991E+01, -0.45199995E+01, -0.47599993E+01, -0.63299990E+01, -0.67599993E+01, |
---|
| 384 | -0.78099995E+01, -0.57999992E+01, -0.53699999E+01, -0.36299992E+01, -0.33499994E+01, |
---|
| 385 | -0.17500000E+01, -0.18799992E+01, -0.60999995E+00, -0.89999998E+00, 0.89999974E-01, |
---|
| 386 | -0.31999993E+00, 0.54999995E+00, -0.13000000E+00, 0.69999999E+00, -0.59999999E-01, |
---|
| 387 | 0.48999995E+00, -0.19999999E+00, 0.39999998E+00, -0.21999997E+00, 0.35999995E+00, |
---|
| 388 | -0.89999974E-01, 0.57999998E+00, 0.11999995E+00, 0.75000000E+00, 0.14999998E+00, |
---|
| 389 | 0.69999999E+00, 0.16999996E+00, 0.11099997E+01, 0.88999999E+00, 0.18499994E+01, |
---|
| 390 | 0.16199999E+01, 0.25399990E+01, 0.22899990E+01, 0.31999998E+01, 0.29099998E+01, |
---|
| 391 | 0.38399992E+01, 0.35299997E+01, 0.44799995E+01, 0.41499996E+01, 0.51199999E+01, |
---|
| 392 | 0.47799997E+01, 0.57500000E+01, 0.53899994E+01, 0.63099995E+01, 0.59099998E+01, |
---|
| 393 | 0.68699999E+01, 0.63299990E+01, 0.71299992E+01, 0.66099997E+01, 0.72999992E+01, |
---|
| 394 | 0.63099995E+01, 0.62699995E+01, 0.48299999E+01, 0.44899998E+01, 0.28499994E+01, |
---|
| 395 | 0.23199997E+01, 0.57999998E+00, -0.10999995E+00, -0.97999996E+00, 0.80999994E+00, |
---|
| 396 | 0.17699995E+01, 0.33699999E+01, 0.41299992E+01, 0.55999994E+01, 0.61499996E+01, |
---|
| 397 | 0.72899990E+01, 0.73499994E+01, 0.79499998E+01, 0.76699991E+01, 0.81599998E+01, |
---|
| 398 | 0.78299990E+01, 0.83099995E+01, 0.80099993E+01, 0.85299997E+01, 0.82699995E+01 |
---|
| 399 | }; |
---|
| 400 | if ( N > 130 ) throw G4HadronicException(__FILE__, __LINE__, " G4BertiniEvaporationChannel: shell correction for protons called with too large N " ); |
---|
| 401 | return table[ N-1 ]*MeV; |
---|
| 402 | } |
---|
| 403 | |
---|