Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4Solver.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMF.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFChannel.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFFragment.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroBiNucleon.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroChemicalPotential.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroMultiNucleon.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroMultiplicity.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroNucleon.hh 68724 2013-04-05 09:26:32Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -39,46 +38,39 @@ class G4StatMFMacroNucleon : public G4VStatMFMacroCluster {
public:
// Default constructor
G4StatMFMacroNucleon() :
G4VStatMFMacroCluster(1), _NeutronMeanMultiplicity(0.0),_ProtonMeanMultiplicity(0.0)
{};
G4StatMFMacroNucleon();
// Destructor
~G4StatMFMacroNucleon() {};
~G4StatMFMacroNucleon();
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
inline G4double CalcZARatio(const G4double )
{
theZARatio = 0.0;
if (_ProtonMeanMultiplicity+_NeutronMeanMultiplicity > 0.0) {
theZARatio = _ProtonMeanMultiplicity/
(_ProtonMeanMultiplicity+_NeutronMeanMultiplicity);
}
return theZARatio;
}
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
private:
// Copy constructor
G4StatMFMacroNucleon(const G4StatMFMacroNucleon & right);
// Copy constructor
G4StatMFMacroNucleon(const G4StatMFMacroNucleon & right);
// operators
G4StatMFMacroNucleon & operator=(const G4StatMFMacroNucleon & right);
G4bool operator==(const G4StatMFMacroNucleon & right) const;
G4bool operator!=(const G4StatMFMacroNucleon & right) const;
// operators
G4StatMFMacroNucleon & operator=(const G4StatMFMacroNucleon & right);
G4bool operator==(const G4StatMFMacroNucleon & right) const;
G4bool operator!=(const G4StatMFMacroNucleon & right) const;
public:
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
G4double CalcZARatio(const G4double )
{ if (_ProtonMeanMultiplicity+_NeutronMeanMultiplicity > 0.0)
return theZARatio = _ProtonMeanMultiplicity/
(_ProtonMeanMultiplicity+_NeutronMeanMultiplicity);
else return 0.0; }
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
private:
G4double _NeutronMeanMultiplicity;
G4double _ProtonMeanMultiplicity;
G4double _NeutronMeanMultiplicity;
G4double _ProtonMeanMultiplicity;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroTemperature.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroTetraNucleon.hh 68724 2013-04-05 09:26:32Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -39,33 +39,28 @@ class G4StatMFMacroTetraNucleon : public G4VStatMFMacroCluster {
public:
// Default constructor
G4StatMFMacroTetraNucleon() : G4VStatMFMacroCluster(4) {};
G4StatMFMacroTetraNucleon();
// Destructor
~G4StatMFMacroTetraNucleon() {};
~G4StatMFMacroTetraNucleon();
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
inline G4double CalcZARatio(const G4double ) {return theZARatio = 0.5;}
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
private:
// Copy constructor
G4StatMFMacroTetraNucleon(const G4StatMFMacroTetraNucleon & right);
// Copy constructor
G4StatMFMacroTetraNucleon(const G4StatMFMacroTetraNucleon & right);
// operators
G4StatMFMacroTetraNucleon & operator=(const G4StatMFMacroTetraNucleon & right);
G4bool operator==(const G4StatMFMacroTetraNucleon & right) const;
G4bool operator!=(const G4StatMFMacroTetraNucleon & right) const;
public:
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
G4double CalcZARatio(const G4double ) {return theZARatio = 0.5;}
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
// operators
G4StatMFMacroTetraNucleon & operator=(const G4StatMFMacroTetraNucleon & right);
G4bool operator==(const G4StatMFMacroTetraNucleon & right) const;
G4bool operator!=(const G4StatMFMacroTetraNucleon & right) const;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMacroTriNucleon.hh 68724 2013-04-05 09:26:32Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -39,35 +39,29 @@ class G4StatMFMacroTriNucleon : public G4VStatMFMacroCluster {
public:
// Default constructor
G4StatMFMacroTriNucleon() : G4VStatMFMacroCluster(3) {};
G4StatMFMacroTriNucleon();
// Destructor
~G4StatMFMacroTriNucleon() {};
~G4StatMFMacroTriNucleon();
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
inline G4double CalcZARatio(const G4double ) {return theZARatio = 0.5;}
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
private:
// Copy constructor
G4StatMFMacroTriNucleon(const G4StatMFMacroTriNucleon & right);
// Copy constructor
G4StatMFMacroTriNucleon(const G4StatMFMacroTriNucleon & right);
// operators
G4StatMFMacroTriNucleon & operator=(const G4StatMFMacroTriNucleon & right);
G4bool operator==(const G4StatMFMacroTriNucleon & right) const;
G4bool operator!=(const G4StatMFMacroTriNucleon & right) const;
// operators
G4StatMFMacroTriNucleon & operator=(const G4StatMFMacroTriNucleon & right);
G4bool operator==(const G4StatMFMacroTriNucleon & right) const;
G4bool operator!=(const G4StatMFMacroTriNucleon & right) const;
public:
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu,
const G4double nu, const G4double T);
G4double CalcZARatio(const G4double ) {return theZARatio = 0.5;}
G4double CalcEnergy(const G4double T);
G4double CalcEntropy(const G4double T, const G4double FreeVol);
};
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMicroCanonical.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMicroManager.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -47,8 +47,8 @@ public:
// G4StatMFMicroManager class must be initialized with a G4Fragment, multiplicity,
// free internal energy and the entropy of the compund nucleus.
G4StatMFMicroManager(const G4Fragment & theFragment, const G4int multiplicity,
const G4double FreeIntE, const G4double SCompNuc);
G4StatMFMicroManager(const G4Fragment & theFragment, G4int multiplicity,
G4double FreeIntE, G4double SCompNuc);
// destructor
~G4StatMFMicroManager();
@@ -73,11 +73,11 @@ public:
public:
// Choice of fragment atomic numbers and charges.
G4StatMFChannel * ChooseChannel(const G4double A0, const G4double Z0, const G4double MeanT);
G4StatMFChannel * ChooseChannel(G4int A0, G4int Z0, G4double MeanT);
G4double GetProbability(void) const {return _WW;}
void Normalize(const G4double Norm);
void Normalize(G4double Norm);
G4double GetMeanMultiplicity(void) const {return _MeanMultiplicity; }
@@ -88,10 +88,10 @@ public:
private:
// Initailization method
void Initialize(const G4Fragment & theFragment, const G4int m,
const G4double FreeIntE, const G4double SCompNuc);
void Initialize(const G4Fragment & theFragment, G4int m,
G4double FreeIntE, G4double SCompNuc);
G4bool MakePartition(const G4int k, G4int * ANumbers);
G4bool MakePartition(G4int k, G4int * ANumbers);
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFMicroPartition.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -42,7 +42,7 @@ class G4StatMFMicroPartition {
public:
// Constructor
G4StatMFMicroPartition(const G4int A, const G4double Z) :
G4StatMFMicroPartition(G4int A, G4int Z) :
theA(A), theZ(Z), _Probability(0.0), _Temperature(0.0),
_Entropy(0.0) {};
@@ -67,26 +67,23 @@ public:
public:
// Gives fragments charges
G4StatMFChannel * ChooseZ(const G4double A0, const G4double Z0, const G4double MeanT);
G4StatMFChannel * ChooseZ(G4int A0, G4int Z0, G4double MeanT);
G4double GetProbability(void)
{ return _Probability; }
void SetPartitionFragment(const G4int anA)
void SetPartitionFragment(G4int anA)
{
_thePartition.push_back(anA);
CoulombFreeEnergy(anA);
}
void Normalize(const G4double Normalization)
void Normalize(G4double Normalization)
{ _Probability /= Normalization; }
G4double CalcPartitionProbability(const G4double U,
const G4double FreeInternalE0,
const G4double SCompound);
G4double CalcPartitionProbability(G4double U,
G4double FreeInternalE0,
G4double SCompound);
G4double GetTemperature(void)
{
@@ -99,18 +96,19 @@ public:
}
private:
void CoulombFreeEnergy(const G4double anA);
G4double CalcPartitionTemperature(const G4double U,
const G4double FreeInternalE0);
void CoulombFreeEnergy(G4int anA);
G4double GetPartitionEnergy(const G4double T);
G4double CalcPartitionTemperature(G4double U,
G4double FreeInternalE0);
G4double GetPartitionEnergy(G4double T);
G4double GetCoulombEnergy(void);
G4double GetDegeneracyFactor(const G4int A);
G4double GetDegeneracyFactor(G4int A);
G4double InvLevelDensity(const G4double Af)
G4double InvLevelDensity(G4double Af)
{
// Calculate Inverse Density Level
// Epsilon0*(1 + 3 /(Af - 1))
@@ -121,8 +119,8 @@ private:
private:
// A and Z of initial nucleus
G4double theA;
G4double theZ;
G4int theA;
G4int theZ;
// Partition probability
G4double _Probability;
@@ -136,7 +134,6 @@ private:
// The partition itself
std::vector<G4int> _thePartition;
std::vector<G4double> _theCoulombFreeEnergy;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StatMFParameters.hh 68724 2013-04-05 09:26:32Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -36,60 +36,53 @@
class G4StatMFParameters
{
private:
static G4StatMFParameters theStatMFParameters;
public:
G4StatMFParameters();
~G4StatMFParameters();
static G4double GetKappa();
static G4double GetKappaCoulomb();
static G4double GetEpsilon0();
static G4double GetE0();
static G4double GetBeta0();
static G4double GetGamma0();
static G4double GetCriticalTemp();
static G4double Getr0();
static G4double Beta(G4double T);
static G4double DBetaDT(G4double T);
static G4double GetMaxAverageMultiplicity(G4int A);
// +----------------------+
// | Constant Parameters: |
// +----------------------+
// Kappa is used for calculate volume V_f for translational motion of fragments
static const G4double _Kappa;
// Kappa is used for calculate volume V_f for translational
// motion of fragments
static const G4double fKappa;
// KappaCoulomb is used for calculate Coulomb term energy
static const G4double _KappaCoulomb;
static const G4double fKappaCoulomb;
// Inverse level density
static const G4double _Epsilon0;
static const G4double fEpsilon0;
// Bethe-Weizsacker coefficients
static const G4double _E0;
static const G4double _Beta0;
static const G4double _Gamma0;
static const G4double fE0;
static const G4double fBeta0;
static const G4double fGamma0;
// Critical temperature (for liquid-gas phase transitions)
static const G4double _CriticalTemp;
static const G4double fCriticalTemp;
// Nuclear radius
static const G4double _r0;
// default constructor
G4StatMFParameters()
{}
static const G4double fr0;
public:
~G4StatMFParameters() {};
static G4StatMFParameters * GetAddress();
static G4double GetKappa() { return _Kappa; }
static G4double GetKappaCoulomb() { return _KappaCoulomb; }
static G4double GetEpsilon0() { return _Epsilon0; }
static G4double GetE0() { return _E0; }
static G4double GetBeta0() { return _Beta0; }
static G4double GetGamma0() { return _Gamma0; }
static G4double GetCriticalTemp() { return _CriticalTemp; }
static G4double Getr0() { return _r0; }
static G4double Beta(const G4double T);
static G4double DBetaDT(const G4double T);
static G4double GetMaxAverageMultiplicity(const G4int A);
};
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4VMultiFragmentation.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4VStatMFEnsemble.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4VStatMFMacroCluster.hh 67983 2013-03-13 10:42:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara