Ignore:
Timestamp:
Nov 25, 2009, 5:13:58 PM (15 years ago)
Author:
garnier
Message:

update CVS release candidate geant4.9.3.01

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  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundDeuteron.cc

    r1055 r1196  
    2525//
    2626// $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 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundEmission.cc

    r1055 r1196  
    2525//
    2626//
    27 // $Id: G4PreCompoundEmission.cc,v 1.19 2009/02/10 16:01:37 vnivanch Exp $
    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 $
    2929//
    3030// -------------------------------------------------------------------
     
    250250    }
    251251 
     252
    252253  G4double zeta = std::max(1.0,9.3/std::sqrt(KineticEnergyOfEmittedFragment/MeV));
    253254       
     
    263264                       
    264265                       
    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
    269291  G4double phi = twopi*G4UniformRand();
    270292 
     
    293315 
    294316  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);
    303319
    304320// initialise values using j=0
     
    415431    return result;
    416432}
    417 
     433G4double 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}
    418462
    419463#ifdef debug
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragment.cc

    r1055 r1196  
    2525//
    2626// $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 $
    2828//
    2929// J. M. Quesada (August 2008). 
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc

    r1055 r1196  
    2525//
    2626// $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 $
    2828//
    2929// Hadronic Process: Nuclear Preequilibrium
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundHe3.cc

    r1055 r1196  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundIon.cc

    r1055 r1196  
    2525//
    2626// $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 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc

    r1007 r1196  
    2525//
    2626//
    27 // $Id: G4PreCompoundModel.cc,v 1.17 2008/12/09 14:09:59 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     27// $Id: G4PreCompoundModel.cc,v 1.18 2009/11/19 10:19:31 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by V. Lara
     
    5454std::vector<G4String*> G4PreCompoundModel::theCreatorModels;
    5555#endif
     56
     57G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler * const value)
     58  : G4VPreCompoundModel(value), useHETCEmission(false), useGNASHTransition(false),
     59    OPTxs(3), useSICB(false), useNGB(false), useSCO(false), useCEMtr(true)
     60{}
     61
     62G4PreCompoundModel::~G4PreCompoundModel()
     63{}
     64
     65G4PreCompoundModel::G4PreCompoundModel()
     66{}
     67
     68G4PreCompoundModel::G4PreCompoundModel(const G4PreCompoundModel &)
     69: G4VPreCompoundModel()
     70{}
    5671
    5772const G4PreCompoundModel & G4PreCompoundModel::operator=(const G4PreCompoundModel &)
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNeutron.cc

    r1055 r1196  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundNucleon.cc

    r1055 r1196  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc

    r1007 r1196  
    2626//
    2727// $Id: G4PreCompoundParameters.cc,v 1.3 2006/06/29 20:59:29 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by V. Lara
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundProton.cc

    r1055 r1196  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc

    r1055 r1196  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PreCompoundTransitions.cc,v 1.20 2009/02/10 16:01:37 vnivanch 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 $
    2828//
    2929// -------------------------------------------------------------------
     
    4242//                      -  CEM transition probabilities (useCEMtr=true)
    4343
     44// 30.10.09 J.M.Quesada: CEM transition probabilities have been renormalized
     45//                       (IAEA benchmark)
     46//
    4447#include "G4PreCompoundTransitions.hh"
    4548#include "G4HadronicException.hh"
     
    154157   
    155158    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//
    156164    if (TransitionProb1 < 0.0) TransitionProb1 = 0.0;
    157165   
     
    205213    // GE = g*E where E is Excitation Energy
    206214    G4double GE = (6.0/pi2)*a*A*U;
    207     
     215 
    208216    G4double Kmfp=2.;
    209      
    210    
     217       
    211218    TransitionProb1=1./Kmfp*3./8.*1./c_light*1.0e-9*(1.4e+21*U-2./(N+1)*6.0e+18*U*U);
    212219    if (TransitionProb1 < 0.0) TransitionProb1 = 0.0;
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTriton.cc

    r1055 r1196  
    2626//
    2727// $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 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc

    r1055 r1196  
    2525//
    2626// $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 $
    2828//
    2929// J. M. Quesada (August 2008). 
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc

    r1007 r1196  
    2626//
    2727// $Id: G4VPreCompoundIon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by V. Lara
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc

    r1007 r1196  
    2727
    2828// $Id: G4VPreCompoundNucleon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $
    29 // GEANT4 tag $Name: geant4-09-02 $
     29// GEANT4 tag $Name: geant4-09-03-cand-01 $
    3030
    3131//
Note: See TracChangeset for help on using the changeset viewer.