Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
+11 -1
View File
@@ -7,6 +7,16 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2023-11-30 Jean-Christophe David (hadr-util-V11-01-08)
- G4HadronicParameters: added Get/SetMin/MaxEnergyINCLXX_Pbar() getters and
setters of recommended energy limits in physics lists for the
intranuclear cascade model INCLXX, for pbar interactions.
## 2023-11-16 Alberto Ribon (hadr-util-V11-01-07)
- G4HadronicParameters: introduced Getter/Setter for the time threshold of
radioactive decays (i.e. radioactive decays that happen later than this
value are ignored). This offers a C++ interface to set this parameter.
## 2023-05-25 Alberto Ribon (hadr-util-V11-01-06)
- G4Fragment : replaced (fatal) G4HadronicException with G4Exception.
Note: in the method CalculateMassAndExcitationEnergy(), the exception type
@@ -14,7 +24,7 @@ It must **not** be used as a substitute for writing good git commit messages!
are difficult to reproduce and fix.
## 2023-04-25 Vladimir Ivanchenko (hadr-util-V11-01-05)
- G4HadronicParameters - added extra Boolean method for access to debug
- G4HadronicParameters: added extra Boolean method for access to debug
flag for the BinaryCascade, which may be defined via environment
variable BINARY_CASCADE_DEBUG
@@ -74,6 +74,13 @@ class G4HadronicParameters {
// transition region between the two strings models - the Quark Gluon String (QGS)
// model and the Fritiof (FTF) model.
inline G4double GetMinEnergyINCLXX_Pbar() const;
inline G4double GetMaxEnergyINCLXX_Pbar() const;
void SetMinEnergyINCLXX_Pbar( const G4double val );
void SetMaxEnergyINCLXX_Pbar( const G4double val );
// Getter/Setter of the recommended energy limits, for physics lists, of the
// intranuclear cascade model INCLXX, for pbar interaction.
inline G4double EnergyThresholdForHeavyHadrons() const;
void SetEnergyThresholdForHeavyHadrons( G4double val );
// If max kinetic energy is below this limit, then EM and hadronic physics are not
@@ -158,6 +165,11 @@ class G4HadronicParameters {
// Getter/Setter for the neutron kinetic energy threshold for
// applying the SVT (Sampling of the Velocity of the Target) algorithm.
inline G4double GetTimeThresholdForRadioactiveDecay() const;
void SetTimeThresholdForRadioactiveDecay( const G4double val );
// Getter/Setter for the time threshold of radioactive decays
// (i.e. radioactive decays that happen later than this value are ignored).
private:
G4HadronicParameters();
@@ -173,6 +185,8 @@ class G4HadronicParameters {
G4double fMaxEnergyTransitionFTF_Cascade;
G4double fMinEnergyTransitionQGS_FTF;
G4double fMaxEnergyTransitionQGS_FTF;
G4double fMinEnergyINCLXX_Pbar;
G4double fMaxEnergyINCLXX_Pbar;
G4double fEnergyThresholdForHeavyHadrons;
G4double fXSFactorNucleonInelastic = 1.0;
G4double fXSFactorPionInelastic = 1.0;
@@ -185,6 +199,7 @@ class G4HadronicParameters {
G4double fRelativeDiff = DBL_MAX;
G4double fAbsoluteDiff = DBL_MAX;
G4double fNeutronEkinThresholdForSVT = -1.0;
G4double fTimeThresholdForRadioactiveDecays = -1.0;
G4int fVerboseLevel = 1;
G4int fReportLevel = 0;
@@ -224,6 +239,14 @@ inline G4double G4HadronicParameters::GetMaxEnergyTransitionQGS_FTF() const {
return fMaxEnergyTransitionQGS_FTF;
}
inline G4double G4HadronicParameters::GetMinEnergyINCLXX_Pbar() const {
return fMinEnergyINCLXX_Pbar;
}
inline G4double G4HadronicParameters::GetMaxEnergyINCLXX_Pbar() const {
return fMaxEnergyINCLXX_Pbar;
}
inline G4double G4HadronicParameters::EnergyThresholdForHeavyHadrons() const {
return fEnergyThresholdForHeavyHadrons;
}
@@ -330,4 +353,8 @@ inline G4double G4HadronicParameters::GetNeutronKineticEnergyThresholdForSVT() c
return fNeutronEkinThresholdForSVT;
}
inline G4double G4HadronicParameters::GetTimeThresholdForRadioactiveDecay() const {
return fTimeThresholdForRadioactiveDecays;
}
#endif
@@ -75,6 +75,8 @@ G4HadronicParameters::G4HadronicParameters() {
fMaxEnergyTransitionFTF_Cascade = 6.0*CLHEP::GeV;
fMinEnergyTransitionQGS_FTF = 12.0*CLHEP::GeV;
fMaxEnergyTransitionQGS_FTF = 25.0*CLHEP::GeV;
fMinEnergyINCLXX_Pbar = 0.0*CLHEP::GeV;
fMaxEnergyINCLXX_Pbar = 10.0*CLHEP::GeV;
fEnergyThresholdForHeavyHadrons = 1.1*CLHEP::GeV;
fMessenger = new G4HadronicParametersMessenger( this );
@@ -144,6 +146,19 @@ void G4HadronicParameters::SetMaxEnergyTransitionQGS_FTF( const G4double val ) {
}
}
void G4HadronicParameters::SetMinEnergyINCLXX_Pbar( const G4double val ) {
if ( ! IsLocked() && val >= 0.0 ) {
fMinEnergyINCLXX_Pbar = val;
}
}
void G4HadronicParameters::SetMaxEnergyINCLXX_Pbar( const G4double val ) {
if ( ! IsLocked() && val > fMinEnergyINCLXX_Pbar ) {
fMaxEnergyINCLXX_Pbar = val;
}
}
void G4HadronicParameters::SetEnableBCParticles( G4bool val ) {
if ( ! IsLocked() ) fEnableBC = val;
}
@@ -224,6 +239,15 @@ void G4HadronicParameters::SetNeutronKineticEnergyThresholdForSVT( const G4doubl
}
void G4HadronicParameters::SetTimeThresholdForRadioactiveDecay( const G4double val ) {
// This setting works only before initialization
// (else, if used after initialization, it will be ignored).
if ( G4Threading::IsMasterThread() && val > 0.0 ) {
fTimeThresholdForRadioactiveDecays = val;
}
}
void G4HadronicParameters::SetApplyFactorXS( G4bool val ) {
if ( ! IsLocked() ) fApplyFactorXS = val;
}