- Timestamp:
- Nov 25, 2009, 5:13:58 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundAlpha.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundAlpha.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc
r1055 r1196 25 25 // 26 26 // $Id: G4PreCompoundDeuteron.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc
r1055 r1196 25 25 // 26 26 // 27 // $Id: G4PreCompoundEmission.cc,v 1. 19 2009/02/10 16:01:37 vnivanchExp $28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // $Id: G4PreCompoundEmission.cc,v 1.22 2009/11/13 17:40:14 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- … … 250 250 } 251 251 252 252 253 G4double zeta = std::max(1.0,9.3/std::sqrt(KineticEnergyOfEmittedFragment/MeV)); 253 254 … … 263 264 264 265 265 G4double expan = std::exp(an); 266 267 G4double theta = std::acos(std::log(expan-G4UniformRand()*(expan-1.0/expan))/an); 268 266 // G4double expan=std::exp(an); 267 // thetaold = std::acos(std::log(expan-random*(expan-1.0/expan))/an); 268 // exp(an) becomes large for large an 269 // 1/exp(an) becomes large for large negative an 270 // take the large value out of the log depending on the sign of an to avoid FP exceptions 271 272 G4double random=G4UniformRand(); 273 G4double exp2an=0; 274 G4double theta; 275 if (an > 0.) { 276 if (an < 25.) { exp2an = std::exp(-2*an); } // we subtract from 1, exp(-50)~1e-21, so will not 277 // change numerical result 278 theta = std::acos(1+ std::log(1-random*(1-exp2an))/an); 279 } else if ( an < 0.) { 280 if ( an > -25.) { exp2an = std::exp(2*an); } // similar to above, except we compare to rndm*1 281 theta = std::acos(std::log(exp2an-random*(exp2an-1))/an - 1.); 282 } else { // an==0 now. 283 theta=std::acos(1.-2*random); 284 } 285 286 if (std::abs(an) < 50 ) 287 { 288 289 } 290 269 291 G4double phi = twopi*G4UniformRand(); 270 292 … … 293 315 294 316 if ( (E-alpha) < 0 ) return 0; 295 296 G4double factp=factorial(p); 297 298 G4double facth=factorial(h); 299 300 G4double factph=factorial(p+h-1); 301 302 G4double logConst = (p+h)*std::log(g) - std::log (factph) - std::log(factp) - std::log(facth); 317 318 G4double logConst = (p+h)*std::log(g) - logfactorial(p+h-1) - logfactorial(p) - logfactorial(h); 303 319 304 320 // initialise values using j=0 … … 415 431 return result; 416 432 } 417 433 G4double G4PreCompoundEmission::logfactorial(G4double a) const 434 { 435 // Values of logs of factorial function from 0 to 60 436 437 G4double result(0.0); 438 const G4int factablesize = 61; 439 const G4double halfLn2pi = 0.918938533; // 0.5 log(2* pi) 440 static G4double logfact[factablesize]; 441 static bool needinit=true; 442 443 if (needinit) 444 { 445 needinit=false; 446 for ( G4int n=0; n < factablesize; ++n) 447 { 448 logfact[n]=std::log(factorial(n)); 449 } 450 } 451 452 G4int ia = static_cast<G4int>(a); 453 if (ia < factablesize) 454 { 455 result = logfact[ia]; 456 } else { 457 result = (ia+0.5)*std::log(G4double(ia)) - ia + halfLn2pi; 458 } 459 460 return result; 461 } 418 462 419 463 #ifdef debug -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc
r1055 r1196 25 25 // 26 26 // $Id: G4PreCompoundFragment.cc,v 1.8 2009/02/10 16:01:37 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // J. M. Quesada (August 2008). -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc
r1055 r1196 25 25 // 26 26 // $Id: G4PreCompoundFragmentVector.cc,v 1.11 2009/02/10 16:01:37 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // Hadronic Process: Nuclear Preequilibrium -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundHe3.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc
r1055 r1196 25 25 // 26 26 // $Id: G4PreCompoundIon.cc,v 1.16 2009/02/10 16:01:37 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc
r1007 r1196 25 25 // 26 26 // 27 // $Id: G4PreCompoundModel.cc,v 1.1 7 2008/12/09 14:09:59 ahowardExp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4PreCompoundModel.cc,v 1.18 2009/11/19 10:19:31 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // by V. Lara … … 54 54 std::vector<G4String*> G4PreCompoundModel::theCreatorModels; 55 55 #endif 56 57 G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler * const value) 58 : G4VPreCompoundModel(value), useHETCEmission(false), useGNASHTransition(false), 59 OPTxs(3), useSICB(false), useNGB(false), useSCO(false), useCEMtr(true) 60 {} 61 62 G4PreCompoundModel::~G4PreCompoundModel() 63 {} 64 65 G4PreCompoundModel::G4PreCompoundModel() 66 {} 67 68 G4PreCompoundModel::G4PreCompoundModel(const G4PreCompoundModel &) 69 : G4VPreCompoundModel() 70 {} 56 71 57 72 const G4PreCompoundModel & G4PreCompoundModel::operator=(const G4PreCompoundModel &) -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundNeutron.cc,v 1.4 2009/02/11 18:06:00 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNucleon.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundNucleon.cc,v 1.13 2009/02/11 18:06:00 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc
r1007 r1196 26 26 // 27 27 // $Id: G4PreCompoundParameters.cc,v 1.3 2006/06/29 20:59:29 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-0 2$28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // by V. Lara -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundProton.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundProton.cc,v 1.4 2009/02/11 18:06:00 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc
r1055 r1196 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4PreCompoundTransitions.cc,v 1.2 0 2009/02/10 16:01:37vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $26 // $Id: G4PreCompoundTransitions.cc,v 1.21 2009/11/19 10:18:38 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 42 42 // - CEM transition probabilities (useCEMtr=true) 43 43 44 // 30.10.09 J.M.Quesada: CEM transition probabilities have been renormalized 45 // (IAEA benchmark) 46 // 44 47 #include "G4PreCompoundTransitions.hh" 45 48 #include "G4HadronicException.hh" … … 154 157 155 158 TransitionProb1 = AveragedXSection*PauliFactor*std::sqrt(2.0*RelativeEnergy/proton_mass_c2)/Vint; 159 160 //JMQ 281009 phenomenological factor in order to increase equilibrium contribution 161 G4double factor=5.0; 162 TransitionProb1 *= factor; 163 // 156 164 if (TransitionProb1 < 0.0) TransitionProb1 = 0.0; 157 165 … … 205 213 // GE = g*E where E is Excitation Energy 206 214 G4double GE = (6.0/pi2)*a*A*U; 207 215 208 216 G4double Kmfp=2.; 209 210 217 211 218 TransitionProb1=1./Kmfp*3./8.*1./c_light*1.0e-9*(1.4e+21*U-2./(N+1)*6.0e+18*U*U); 212 219 if (TransitionProb1 < 0.0) TransitionProb1 = 0.0; -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTriton.cc
r1055 r1196 26 26 // 27 27 // $Id: G4PreCompoundTriton.cc,v 1.5 2009/02/13 18:57:32 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // ------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc
r1055 r1196 25 25 // 26 26 // $Id: G4VPreCompoundFragment.cc,v 1.12 2009/02/10 16:01:37 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03- beta-cand-01 $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 // J. M. Quesada (August 2008). -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc
r1007 r1196 26 26 // 27 27 // $Id: G4VPreCompoundIon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $ 28 // GEANT4 tag $Name: geant4-09-0 2$28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 // by V. Lara -
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc
r1007 r1196 27 27 28 28 // $Id: G4VPreCompoundNucleon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $ 29 // GEANT4 tag $Name: geant4-09-0 2$29 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 30 30 31 31 //
Note: See TracChangeset
for help on using the changeset viewer.