Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
# $Id: CMakeLists.txt 66892 2013-01-17 10:57:59Z gunter $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# $Id: GNUmakefile 66892 2013-01-17 10:57:59Z gunter $
|
||||
# -----------------------------------------------------------
|
||||
# GNUmakefile for hadronic library. Gabriele Cosmo, 18/9/96.
|
||||
# -----------------------------------------------------------
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4GNASHTransitions.hh 96527 2016-04-20 08:51:00Z gcosmo $
|
||||
//
|
||||
#ifndef G4GNASHTransitions_hh
|
||||
#define G4GNASHTransitions_hh 1
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCAlpha.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCChargedFragment.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCDeuteron.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCEmissionFactory.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.icc 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCHe3.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCNeutron.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCProton.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCTriton.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-2
@@ -23,11 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// ClassName: G4LowEIonFragmentation
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundAlpha.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundDeuteron.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+3
-2
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmission.hh 107062 2017-11-01 15:01:02Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
@@ -46,6 +45,7 @@
|
||||
|
||||
class G4VPreCompoundEmissionFactory;
|
||||
class G4Pow;
|
||||
class G4NuclearLevelData;
|
||||
|
||||
class G4PreCompoundEmission
|
||||
{
|
||||
@@ -86,7 +86,8 @@ private:
|
||||
//==============
|
||||
|
||||
G4Pow* g4calc;
|
||||
G4double fLevelDensity;
|
||||
G4NuclearLevelData* fNuclData;
|
||||
|
||||
G4double fFermiEnergy;
|
||||
|
||||
// A vector with the allowed emission fragments
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmissionFactory.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragment.hh 100691 2016-10-31 11:26:25Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragmentVector.hh 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundHe3.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundIon.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+2
-2
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundModel.hh 106233 2017-09-22 21:34:41Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -58,6 +57,7 @@
|
||||
|
||||
class G4PreCompoundEmission;
|
||||
class G4VPreCompoundTransitions;
|
||||
class G4NuclearLevelData;
|
||||
class G4ParticleDefinition;
|
||||
|
||||
class G4PreCompoundModel : public G4VPreCompoundModel
|
||||
@@ -115,11 +115,11 @@ private:
|
||||
|
||||
G4PreCompoundEmission* theEmission;
|
||||
G4VPreCompoundTransitions* theTransition;
|
||||
G4NuclearLevelData* fNuclData;
|
||||
|
||||
const G4ParticleDefinition* proton;
|
||||
const G4ParticleDefinition* neutron;
|
||||
|
||||
G4double fLevelDensity;
|
||||
G4double fLimitEnergy;
|
||||
|
||||
//for the rest of external choices
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNeutron.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNucleon.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundProton.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+2
-2
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTransitions.hh 89523 2015-04-16 09:56:35Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
// 01.05.2008 J. M. Quesada . New methods for accessing to individual transition
|
||||
@@ -46,6 +45,7 @@
|
||||
|
||||
class G4ParticleDefinition;
|
||||
class G4Fragment;
|
||||
class G4NuclearLevelData;
|
||||
|
||||
class G4PreCompoundTransitions : public G4VPreCompoundTransitions
|
||||
{
|
||||
@@ -67,10 +67,10 @@ private:
|
||||
G4bool operator!=(const G4PreCompoundTransitions &right) const;
|
||||
|
||||
const G4ParticleDefinition* proton;
|
||||
G4NuclearLevelData* fNuclData;
|
||||
|
||||
G4double FermiEnergy;
|
||||
G4double r0; // Nuclear radius
|
||||
G4double aLDP;// Level density parameter
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTriton.hh 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundEmissionFactory.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+4
-2
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.hh 100378 2016-10-19 15:03:27Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
@@ -48,9 +47,11 @@
|
||||
#include "G4Fragment.hh"
|
||||
#include "G4VCoulombBarrier.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4DeexPrecoParameters.hh"
|
||||
#include "G4Pow.hh"
|
||||
|
||||
class G4NuclearLevelData;
|
||||
class G4DeexPrecoParameters;
|
||||
|
||||
class G4VPreCompoundFragment
|
||||
{
|
||||
public:
|
||||
@@ -138,6 +139,7 @@ private:
|
||||
|
||||
protected:
|
||||
|
||||
G4NuclearLevelData* fNucData;
|
||||
G4DeexPrecoParameters* theParameters;
|
||||
G4Pow* g4calc;
|
||||
|
||||
|
||||
-1
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.icc 96527 2016-04-20 08:51:00Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundTransitions.hh 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (May 08). New virtual classes have been added Prob1,2,3
|
||||
// JMQ (06 September 2008) Also external choices have been added for:
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
# $Id: sources.cmake 100378 2016-10-19 15:03:27Z gcosmo $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
+4
-4
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4GNASHTransitions.cc 96603 2016-04-25 13:29:51Z gcosmo $
|
||||
//
|
||||
// 20.08.2010 V.Ivanchenko move constructor and destructor to the source
|
||||
|
||||
@@ -51,9 +50,10 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
G4double P = aFragment.GetNumberOfParticles();
|
||||
G4double H = aFragment.GetNumberOfHoles();
|
||||
G4double N = P + H;
|
||||
G4double A = aFragment.GetA_asInt();
|
||||
G4int Z = aFragment.GetZ_asInt();
|
||||
G4int A = aFragment.GetA_asInt();
|
||||
|
||||
G4double theMatrixElement(k*N/(A*A*A*E));
|
||||
G4double theMatrixElement(k*N/((A*A*A)*E));
|
||||
G4double x = E/(N*CLHEP::MeV);
|
||||
static const G4double xf = std::sqrt(2.0/7.0);
|
||||
if ( x < 2.0) { x *= xf; }
|
||||
@@ -61,7 +61,7 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
else if ( x > 15.0){ x *= std::sqrt(15.0/x); }
|
||||
theMatrixElement *= x;
|
||||
|
||||
G4double gg = (6.0/pi2)*theParameters->GetLevelDensity()*A;
|
||||
G4double gg = (6.0/pi2)*G4NuclearLevelData::GetInstance()->GetLevelDensity(Z,A,E);
|
||||
|
||||
G4double Epauli = ((P+1.0)*(P+1.0) + (H+1.0)*(H+1.0) + (P+1.0) - 3.0*(H-1.0))*0.25;
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCAlpha.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+3
-2
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCChargedFragment.cc 96527 2016-04-20 08:51:00Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -35,6 +34,7 @@
|
||||
#include "G4HETCChargedFragment.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4VCoulombBarrier.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
|
||||
G4HETCChargedFragment::G4HETCChargedFragment(
|
||||
const G4ParticleDefinition* pd, G4VCoulombBarrier * aCoulombBarrier)
|
||||
@@ -50,7 +50,8 @@ SampleKineticEnergy(const G4Fragment & aFragment)
|
||||
G4int Pb = aFragment.GetNumberOfParticles();
|
||||
G4int H = aFragment.GetNumberOfHoles();
|
||||
|
||||
G4double g0 = (6.0/pi2)*theFragA*theParameters->GetLevelDensity();
|
||||
G4double g0 = (6.0/pi2)*fNucData->GetLevelDensity(theFragZ,theFragA,
|
||||
aFragment.GetExcitationEnergy());
|
||||
|
||||
G4double Ab = std::max(0.0,G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*g0));
|
||||
G4double Emax = theMaxKinEnergy - Ab;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCDeuteron.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCEmissionFactory.cc 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+5
-3
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.cc 100378 2016-10-19 15:03:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -32,6 +31,8 @@
|
||||
// the source, use G4Pow
|
||||
|
||||
#include "G4HETCFragment.hh"
|
||||
#include "G4DeexPrecoParameters.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
|
||||
G4HETCFragment::
|
||||
@@ -74,8 +75,9 @@ IntegrateEmissionProbability(G4double & Low, G4double & Up,
|
||||
G4int Pb = P - theA;
|
||||
G4int Nb = Pb + H;
|
||||
if (Nb <= 0.0) { return 0.0; }
|
||||
G4double ga = (6.0/pi2)*theFragA*theParameters->GetLevelDensity();
|
||||
G4double gb = (6.0/pi2)*theResA*theParameters->GetLevelDensity();
|
||||
|
||||
G4double ga = (6.0/pi2)*fNucData->GetLevelDensity(theFragZ,theFragA,U);
|
||||
G4double gb = (6.0/pi2)*fNucData->GetLevelDensity(theResZ,theResA,U);
|
||||
|
||||
G4double A = G4double(P*P+H*H+P-3*H)/(4.0*ga);
|
||||
G4double Ab = G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*gb);
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCHe3.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCNeutron.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -35,6 +34,7 @@
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
|
||||
G4HETCNeutron::G4HETCNeutron()
|
||||
: G4HETCFragment(G4Neutron::Neutron(), &theNeutronCoulombBarrier)
|
||||
@@ -85,7 +85,8 @@ G4double G4HETCNeutron::SampleKineticEnergy(const G4Fragment & aFragment)
|
||||
G4int H = aFragment.GetNumberOfHoles();
|
||||
G4int Pb = aFragment.GetNumberOfParticles();
|
||||
G4int Nb = Pb + H;
|
||||
G4double g0 = (6.0/pi2)*theFragA*theParameters->GetLevelDensity();
|
||||
G4double U = aFragment.GetExcitationEnergy();
|
||||
G4double g0 = (6.0/pi2)*fNucData->GetLevelDensity(theFragZ,theFragA,U);
|
||||
|
||||
G4double Ab = std::max(0.0,G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*g0));
|
||||
G4double Emax = theMaxKinEnergy - Ab;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCProton.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCTriton.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.cc 91837 2015-08-07 07:27:08Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundAlpha.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundDeuteron.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+4
-5
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmission.cc 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -62,9 +61,8 @@ G4PreCompoundEmission::G4PreCompoundEmission()
|
||||
theFragmentsVector =
|
||||
new G4PreCompoundFragmentVector(theFragmentsFactory->GetFragmentVector());
|
||||
g4calc = G4Pow::GetInstance();
|
||||
G4DeexPrecoParameters* param =
|
||||
G4NuclearLevelData::GetInstance()->GetParameters() ;
|
||||
fLevelDensity = param->GetLevelDensity();
|
||||
fNuclData = G4NuclearLevelData::GetInstance();
|
||||
G4DeexPrecoParameters* param = fNuclData->GetParameters();
|
||||
fFermiEnergy = param->GetFermiEnergy();
|
||||
fUseAngularGenerator = param->UseAngularGen();
|
||||
}
|
||||
@@ -188,7 +186,8 @@ void G4PreCompoundEmission::AngularDistribution(
|
||||
// Emission particle separation energy
|
||||
G4double Bemission = thePreFragment->GetBindingEnergy();
|
||||
|
||||
G4double gg = (6.0/pi2)*aFragment.GetA_asInt()*fLevelDensity;
|
||||
G4double gg = (6.0/pi2)*fNuclData->GetLevelDensity(aFragment.GetZ_asInt(),
|
||||
aFragment.GetA_asInt(),U);
|
||||
|
||||
// Average exciton energy relative to bottom of nuclear well
|
||||
G4double Eav = 2*p*(p+1)/((p+h)*gg);
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmissionFactory.cc 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4PreCompoundEmissionFactory.hh"
|
||||
|
||||
+4
-3
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragment.cc 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
@@ -37,6 +36,7 @@
|
||||
#include "G4PreCompoundFragment.hh"
|
||||
#include "G4KalbachCrossSection.hh"
|
||||
#include "G4ChatterjeeCrossSection.hh"
|
||||
#include "G4DeexPrecoParameters.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
G4PreCompoundFragment::G4PreCompoundFragment(const G4ParticleDefinition* p,
|
||||
@@ -97,6 +97,7 @@ IntegrateEmissionProbability(G4double low, G4double up,
|
||||
G4double sum = probmax;
|
||||
for (G4int i=1; i<nbins; ++i) {
|
||||
e += del;
|
||||
|
||||
G4double y = ProbabilityDistributionFunction(e, aFragment);
|
||||
probmax = std::max(probmax, y);
|
||||
sum += y;
|
||||
@@ -111,7 +112,7 @@ IntegrateEmissionProbability(G4double low, G4double up,
|
||||
G4double G4PreCompoundFragment::CrossSection(G4double ekin) const
|
||||
{
|
||||
G4double res;
|
||||
if(OPTxs == 0) {
|
||||
if(OPTxs == 0 || (OPTxs == 4 && theMaxKinEnergy < 10.)) {
|
||||
res = GetOpt0(ekin);
|
||||
|
||||
} else if(OPTxs <= 2) {
|
||||
@@ -133,7 +134,7 @@ G4double G4PreCompoundFragment::GetOpt0(G4double ekin) const
|
||||
G4double r0 = theParameters->GetR0()*theResA13;
|
||||
// cross section is now given in mb (r0 is in mm) for the sake of consistency
|
||||
//with the rest of the options
|
||||
return 1.e+25*CLHEP::pi*r0*r0*theResA13*GetAlpha()*(1.+GetBeta()/ekin);
|
||||
return 1.e+25*CLHEP::pi*r0*r0*theResA13*GetAlpha()*(1.0 + GetBeta()/ekin);
|
||||
}
|
||||
|
||||
G4double G4PreCompoundFragment::SampleKineticEnergy(const G4Fragment& fragment)
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragmentVector.cc 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundHe3.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+4
-3
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundIon.cc 100378 2016-10-19 15:03:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,8 @@
|
||||
|
||||
#include "G4PreCompoundIon.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
#include "G4DeexPrecoParameters.hh"
|
||||
|
||||
G4PreCompoundIon::
|
||||
G4PreCompoundIon(const G4ParticleDefinition* part,
|
||||
@@ -69,8 +70,8 @@ ProbabilityDistributionFunction(G4double eKin,
|
||||
G4int N = P + H;
|
||||
|
||||
static const G4double sixoverpi2 = 6.0/CLHEP::pi2;
|
||||
G4double g0 = sixoverpi2*theFragA*theParameters->GetLevelDensity();
|
||||
G4double g1 = sixoverpi2*theResA*theParameters->GetLevelDensity();
|
||||
G4double g0 = sixoverpi2*fNucData->GetLevelDensity(theFragZ, theFragA, U);
|
||||
G4double g1 = sixoverpi2*fNucData->GetLevelDensity(theResZ, theResA, 0.0);
|
||||
|
||||
G4double gj = g1;
|
||||
|
||||
|
||||
+12
-14
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundModel.cc 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -75,9 +74,10 @@ G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler* ptr)
|
||||
//G4cout << "### NEW PrecompoundModel " << this << G4endl;
|
||||
if(!ptr) { SetExcitationHandler(new G4ExcitationHandler()); }
|
||||
|
||||
fNuclData = G4NuclearLevelData::GetInstance();
|
||||
proton = G4Proton::Proton();
|
||||
neutron = G4Neutron::Neutron();
|
||||
fLevelDensity = fLimitEnergy = 0.0;
|
||||
fLimitEnergy = 0.0;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -105,11 +105,8 @@ void G4PreCompoundModel::InitialiseModel()
|
||||
|
||||
//G4cout << "G4PreCompoundModel::InitialiseModel() started" << G4endl;
|
||||
|
||||
G4DeexPrecoParameters* param =
|
||||
G4NuclearLevelData::GetInstance()->GetParameters();
|
||||
|
||||
// 12/pi2 factor is used in real computation
|
||||
fLevelDensity = param->GetLevelDensity()*12.0/CLHEP::pi2;
|
||||
G4DeexPrecoParameters* param = fNuclData->GetParameters();
|
||||
|
||||
fLimitEnergy = param->GetPrecoLowEnergy();
|
||||
|
||||
useSCO = param->UseSoftCutoff();
|
||||
@@ -220,13 +217,16 @@ G4ReactionProductVector* G4PreCompoundModel::DeExcite(G4Fragment& aFragment)
|
||||
|
||||
// main loop
|
||||
G4int count = 0;
|
||||
static const G4double ldfact = 12.0/CLHEP::pi2;
|
||||
static const G4int countmax = 1000;
|
||||
for (;;) {
|
||||
//G4cout << "### PreCompound loop over fragment" << G4endl;
|
||||
//G4cout << aFragment << G4endl;
|
||||
G4double U = aFragment.GetExcitationEnergy();
|
||||
Z = aFragment.GetZ_asInt();
|
||||
A = aFragment.GetA_asInt();
|
||||
G4int EquilibriumExcitonNumber =
|
||||
G4lrint(std::sqrt(aFragment.GetExcitationEnergy()
|
||||
*aFragment.GetA_asInt()*fLevelDensity));
|
||||
G4lrint(std::sqrt(ldfact*U*fNuclData->GetLevelDensity(Z, A, U)));
|
||||
//
|
||||
// G4cout<<"Neq="<<EquilibriumExcitonNumber<<G4endl;
|
||||
//
|
||||
@@ -273,9 +273,7 @@ G4ReactionProductVector* G4PreCompoundModel::DeExcite(G4Fragment& aFragment)
|
||||
// approximation (critical exciton number)
|
||||
//V.Ivanchenko (May 2011) added check on number of nucleons
|
||||
// to send a fragment to FermiBreakUp
|
||||
if(!go_ahead || P1 <= P2+P3 ||
|
||||
aFragment.GetZ_asInt() < minZ || aFragment.GetA_asInt() < minA ||
|
||||
(aFragment.GetExcitationEnergy() <= fLimitEnergy*aFragment.GetA_asInt()))
|
||||
if(!go_ahead || P1 <= P2+P3 || Z < minZ || A < minA || U <= fLimitEnergy*A)
|
||||
{
|
||||
//G4cout<<"#4 EquilibriumEmission"<<G4endl;
|
||||
PerformEquilibriumEmission(aFragment,Result);
|
||||
@@ -416,8 +414,8 @@ void G4PreCompoundModel::ModelDescription(std::ostream& outFile) const
|
||||
<< "holes h.\n"
|
||||
<< "At the preequilibrium stage of reaction, we follow the exciton model approach in ref. [1],\n"
|
||||
<< "taking into account the competition among all possible nuclear transitions\n"
|
||||
<< "with ∆n = +2, −2, 0 (which are defined by their associated transition probabilities) and\n"
|
||||
<< "the emission of neutrons, protons, deutrons, thritium and helium nuclei (also defined by\n"
|
||||
<< "with ∆n = +2, −2, 0 (which are defined by their associated transition probabilities) and\n"
|
||||
<< "the emission of neutrons, protons, deuterons, thritium and helium nuclei (also defined by\n"
|
||||
<< "their associated emission probabilities according to exciton model)\n"
|
||||
<< "\n"
|
||||
<< "[1] K.K. Gudima, S.G. Mashnik, V.D. Toneev, Nucl. Phys. A401 329 (1983)\n"
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNeutron.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+3
-3
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNucleon.cc 108685 2018-02-27 07:58:38Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
|
||||
#include "G4PreCompoundNucleon.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
G4PreCompoundNucleon::G4PreCompoundNucleon(
|
||||
@@ -62,8 +62,8 @@ ProbabilityDistributionFunction(G4double eKin,
|
||||
G4int N = P + H;
|
||||
|
||||
static const G4double sixoverpi2 = 6.0/CLHEP::pi2;
|
||||
G4double g0 = sixoverpi2*theFragA*theParameters->GetLevelDensity();
|
||||
G4double g1 = sixoverpi2*theResA*theParameters->GetLevelDensity();
|
||||
G4double g0 = sixoverpi2*fNucData->GetLevelDensity(theFragZ, theFragA, U);
|
||||
G4double g1 = sixoverpi2*fNucData->GetLevelDensity(theResZ, theResA, 0.0);
|
||||
|
||||
G4double A0 = G4double(P*P+H*H+P-3*H)/(4.0*g0);
|
||||
G4double A1 = (A0 - 0.5*P)/g1;
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundProton.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+5
-8
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTransitions.cc 96603 2016-04-25 13:29:51Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -59,11 +58,10 @@
|
||||
G4PreCompoundTransitions::G4PreCompoundTransitions()
|
||||
{
|
||||
proton = G4Proton::Proton();
|
||||
G4DeexPrecoParameters* param =
|
||||
G4NuclearLevelData::GetInstance()->GetParameters() ;
|
||||
fNuclData = G4NuclearLevelData::GetInstance();
|
||||
G4DeexPrecoParameters* param = fNuclData->GetParameters();
|
||||
FermiEnergy = param->GetFermiEnergy();
|
||||
r0 = param->GetTransitionsR0();
|
||||
aLDP = param->GetLevelDensity();
|
||||
}
|
||||
|
||||
G4PreCompoundTransitions::~G4PreCompoundTransitions()
|
||||
@@ -99,6 +97,7 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
// OPT=2 Transitions are calculated according to Gupta's formulae
|
||||
//
|
||||
static const G4double sixdpi2 = 6.0/CLHEP::pi2;
|
||||
G4double GE = sixdpi2*U*fNuclData->GetLevelDensity(Z,A,U);
|
||||
if (useCEMtr) {
|
||||
// Relative Energy (T_{rel})
|
||||
G4double RelativeEnergy = 1.6*FermiEnergy + U/G4double(N);
|
||||
@@ -165,7 +164,6 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
// TransitionProb1 *= factor;
|
||||
|
||||
// GE = g*E where E is Excitation Energy
|
||||
G4double GE = sixdpi2*aLDP*A*U;
|
||||
G4double Fph = G4double(P*P+H*H+P-3*H)*0.25;
|
||||
|
||||
if(!useNGB) {
|
||||
@@ -176,7 +174,7 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
static const G4double plimit = 100;
|
||||
|
||||
//JMQ/AH bug fixed: if (U-Fph < 0.0)
|
||||
if (GE-Fph1 > 0.0) {
|
||||
if (GE > Fph1) {
|
||||
G4double x0 = GE-Fph;
|
||||
G4double x1 = (N+1)*G4Log(x0/(GE-Fph1));
|
||||
if(x1 < plimit) {
|
||||
@@ -198,8 +196,7 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
TransitionProb1 = std::max(0.0, U*(4.2e+12 - 3.6e+10*U/G4double(N+1)))
|
||||
/(16*CLHEP::c_light);
|
||||
|
||||
if (!useNGB && N > 1) {
|
||||
G4double GE = sixdpi2*aLDP*A*U;
|
||||
if (!useNGB && N > 1) {
|
||||
TransitionProb2 = ((N-1)*(N-2)*P*H)*TransitionProb1/(GE*GE);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTriton.cc 90337 2015-05-26 08:34:27Z gcosmo $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundEmissionFactory.cc 96603 2016-04-25 13:29:51Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
+3
-3
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.cc 100691 2016-10-31 11:26:25Z gcosmo $
|
||||
//
|
||||
// J. M. Quesada (August 2008). Based on previous work by V. Lara
|
||||
//
|
||||
@@ -33,9 +32,9 @@
|
||||
|
||||
#include "G4VPreCompoundFragment.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
#include "G4NuclearLevelData.hh"
|
||||
#include "G4DeexPrecoParameters.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
|
||||
G4VPreCompoundFragment::G4VPreCompoundFragment(
|
||||
const G4ParticleDefinition* part, G4VCoulombBarrier* aCoulombBarrier)
|
||||
@@ -50,7 +49,8 @@ G4VPreCompoundFragment::G4VPreCompoundFragment(
|
||||
OPTxs(3),useSICB(true)
|
||||
{
|
||||
theMass = particle->GetPDGMass();
|
||||
theParameters = G4NuclearLevelData::GetInstance()->GetParameters();
|
||||
fNucData = G4NuclearLevelData::GetInstance();
|
||||
theParameters = fNucData->GetParameters();
|
||||
g4calc = G4Pow::GetInstance();
|
||||
theResA13 = 0.0;
|
||||
}
|
||||
|
||||
-1
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundTransitions.cc 68028 2013-03-13 13:48:15Z gcosmo $
|
||||
//
|
||||
// V.Ivanchenko 20.08.2010
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user