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
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/pre_equilibrium/History

    r1055 r1196  
    1515     ---------------------------------------------------------------
    1616
     1719-November 2009 V.Ivanchenko   hadr-pre-V09-02-06
     18---------------------------------------------------
     19G4PreCompoundModel       - (JMQ) CEM transition probabilities are set
     20                                 as a default
     21G4PreCompoundTransitions - (JMQ) CEM transition probabilities have been
     22                                 renormalized (transitions with Delta N=+2
     23                                 are increased by factor 5)
     24
     2512-November 2009 G.Cosmo        hadr-pre-V09-02-05
     26---------------------------------------------------
     27G4PrecompoundEmission - fixed compilation error on Windows.
     28
     2912-November 2009 G.Folger       hadr-pre-V09-02-04
     30---------------------------------------------------
     31G4PrecompoundEmission - modifiy AngularDistribution() to avoid floating point
     32                        exceptions.
     33                      - remove calls to log in rho() replaced by use of new
     34                        logfactorial()
     35                               
    173613-February 2009 V.Ivanchenko   hadr-pre-V09-02-03
    1837---------------------------------------------------
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh

    r1007 r1196  
    2626//
    2727// $Id: G4LowEIonFragmentation.hh,v 1.3 2006/06/29 20:58:04 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by H.P. Wellisch
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh

    r1007 r1196  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PreCompoundEmission.hh,v 1.6 2008/09/22 10:18:36 ahoward Exp $
    27 // GEANT4 tag $Name: geant4-09-02 $
     26// $Id: G4PreCompoundEmission.hh,v 1.7 2009/11/12 14:33:44 gunter Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929// Hadronic Process: Nuclear Preequilibrium
     
    8484
    8585  G4double factorial(G4double a) const;
     86  G4double logfactorial(G4double a) const;
    8687
    8788  //for inverse cross section choice
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.icc

    r1055 r1196  
    2525//
    2626// $Id: G4PreCompoundEmission.icc,v 1.5 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/include/G4PreCompoundFragmentVector.hh

    r1055 r1196  
    2626//
    2727// $Id: G4PreCompoundFragmentVector.hh,v 1.6 2009/02/10 16:01:37 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// Hadronic Process: Nuclear Preequilibrium
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.icc

    r1055 r1196  
    2626//
    2727// $Id: G4PreCompoundFragmentVector.icc,v 1.4 2008/09/22 10:18:36 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// Hadronic Process: Nuclear Preequilibrium
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh

    r1007 r1196  
    2525//
    2626//
    27 // $Id: G4PreCompoundModel.hh,v 1.6 2008/09/22 10:18:36 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-02 $
     27// $Id: G4PreCompoundModel.hh,v 1.7 2009/11/19 10:19:31 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by V. Lara
     
    4343//                - "never go back"  hipothesis (if useNGB=true, default false)
    4444//                - soft cutoff from preeq. to equlibrium (if useSCO=true, default false)
    45 //                - CEM transition probabilities (if useCEMtr=true, default false) 
     45//                - CEM transition probabilities (if useCEMtr=true)
     46// J. M. Quesada (30.10.09) : CEM transition probabilities are set as default
    4647
    4748#ifndef G4PreCompoundModel_h
     
    7374 
    7475public:
    75   G4PreCompoundModel(G4ExcitationHandler * const value) :
    76     G4VPreCompoundModel(value), useHETCEmission(false), useGNASHTransition(false),
    77     OPTxs(3), useSICB(false), useNGB(false), useSCO(false), useCEMtr(false) {}
    7876
    79   ~G4PreCompoundModel() {}
     77  G4PreCompoundModel(G4ExcitationHandler * const value);
     78
     79  virtual ~G4PreCompoundModel();
    8080
    8181private:
    82   G4PreCompoundModel() {}
    8382
    84   G4PreCompoundModel(const G4PreCompoundModel &) : G4VPreCompoundModel() {}
     83  G4PreCompoundModel();
     84
     85  G4PreCompoundModel(const G4PreCompoundModel &);
    8586
    8687  const G4PreCompoundModel& operator=(const G4PreCompoundModel &right);
     
    8990
    9091public:
    91     G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus);
     92
     93  G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus);
    9294
    9395  G4ReactionProductVector* DeExcite(const G4Fragment& aFragment) const;
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh

    r1007 r1196  
    2626//
    2727// $Id: G4PreCompoundParameters.hh,v 1.5 2008/05/08 10:34:25 quesada 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/include/G4PreCompoundTransitions.hh

    r1007 r1196  
    2626//
    2727// $Id: G4PreCompoundTransitions.hh,v 1.6 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/include/G4VPreCompoundFragment.hh

    r1055 r1196  
    2626//
    2727// $Id: G4VPreCompoundFragment.hh,v 1.10 2009/02/10 16:01:37 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// J. M. Quesada (August 2008). 
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc

    r1055 r1196  
    2626//
    2727// $Id: G4VPreCompoundFragment.icc,v 1.7 2008/09/22 10:18:36 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030// by V. Lara
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh

    r1007 r1196  
    2727
    2828// $Id: G4VPreCompoundIon.hh,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// by V. Lara
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh

    r1007 r1196  
    2626//
    2727// $Id: G4VPreCompoundNucleon.hh,v 1.8 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/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.