Import Geant4 11.3.2 source tree

This commit is contained in:
Gabriele Cosmo
2025-04-28 13:52:33 +02:00
parent df176550b3
commit 20a218bbe1
266 changed files with 8007 additions and 7819 deletions
+4
View File
@@ -7,6 +7,10 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2025-04-22 Alberto Ribon (hadr-util-V11-02-07)
- G4HadronicDeveloperParameters : introduced Getter/Setter for selecting the
Bertini model behavior as Geant4 version 11.3 (default) or 11.2.
## 2025-03-05 Vladimir Ivanchenko (hadr-util-V11-02-06)
- G4HadronicDeveloperParameters - added limitation of warning printout on
change of parameters (NA64 request).
@@ -181,6 +181,29 @@ class G4HadronicParameters {
// Getter/Setter for the time threshold of radioactive decays
// (i.e. radioactive decays that happen later than this value are ignored).
inline G4bool IsBertiniAs11_2() const;
void SetBertiniAs11_2( G4bool val );
inline G4bool IsBertiniAngularEmissionsAs11_2() const;
void SetBertiniAngularEmissionsAs11_2( G4bool val );
inline G4bool IsBertiniNucleiModelAs11_2() const;
void SetBertiniNucleiModelAs11_2( G4bool val );
// Getter/Setter for the Bertini model behavior with respect to the
// Geant4 version 11.2.
// The first two methods "*BertiniAs11_2" refer to the overall behavior
// of the Bertini model - the one which should matter the most for the
// majority of applications.
// The methods "*BertiniAngularEmissionsAs11_2" refer to the angular
// distributions of the >= 4-body final state emissions.
// The last two methods "*BertiniNucleiModelAs11_2" refer to the
// modelling of nuclei.
// The overall behavior of Bertini with respect to the version Geant4
// version 11.2 depends on both the angular distributios of the
// >= 4-body final state emissions, and the modelling of nuclei.
// "True" in these methods means that the corresponding behavior of
// the Geant4 version 11.2 is retrieved;
// "False" means that the corresponding behavior of the Geant4 version
// 11.3 is retrieved.
private:
G4HadronicParameters();
@@ -226,6 +249,8 @@ class G4HadronicParameters {
G4bool fNeutronGeneral = false;
G4bool fChargeExchange = false;
G4bool fBinaryDebug = false;
G4bool fBertiniAngularEmissionsAs11_2 = false; // Keep the new G4 11.3 behavior
G4bool fBertiniNucleiModelAs11_2 = false; // Keep the new G4 11.3 behavior
G4String fTypeTablePT = "";
G4String fDirPARTICLEXS = "";
@@ -258,7 +283,6 @@ inline G4double G4HadronicParameters::GetMinEnergyINCLXX_Pbar() const {
inline G4double G4HadronicParameters::GetMaxEnergyINCLXX_Pbar() const {
return fMaxEnergyINCLXX_Pbar;
}
inline G4double G4HadronicParameters::EnergyThresholdForHeavyHadrons() const {
return fEnergyThresholdForHeavyHadrons;
@@ -360,13 +384,11 @@ inline const G4String& G4HadronicParameters::GetDirPARTICLEXS() const {
return fDirPARTICLEXS;
}
inline const G4String& G4HadronicParameters::GetPhysListDocDir() const
{
inline const G4String& G4HadronicParameters::GetPhysListDocDir() const {
return fPhysListDocDir;
}
inline const G4String& G4HadronicParameters::GetPhysListName() const
{
inline const G4String& G4HadronicParameters::GetPhysListName() const {
return fPhysListName;
}
@@ -378,4 +400,16 @@ inline G4double G4HadronicParameters::GetTimeThresholdForRadioactiveDecay() cons
return fTimeThresholdForRadioactiveDecays;
}
inline G4bool G4HadronicParameters::IsBertiniAs11_2() const {
return ( fBertiniAngularEmissionsAs11_2 && fBertiniNucleiModelAs11_2 );
}
inline G4bool G4HadronicParameters::IsBertiniAngularEmissionsAs11_2() const {
return fBertiniAngularEmissionsAs11_2;
}
inline G4bool G4HadronicParameters::IsBertiniNucleiModelAs11_2() const {
return fBertiniNucleiModelAs11_2;
}
#endif
@@ -46,11 +46,11 @@
G4HadronicParameters* G4HadronicParameters::sInstance = nullptr;
namespace
{
namespace {
G4Mutex paramMutex = G4MUTEX_INITIALIZER;
}
G4HadronicParameters* G4HadronicParameters::Instance() {
if ( sInstance == nullptr ) {
G4AutoLock l(&paramMutex);
@@ -140,12 +140,14 @@ void G4HadronicParameters::SetMinEnergyTransitionQGS_FTF( const G4double val ) {
}
}
void G4HadronicParameters::SetMaxEnergyTransitionQGS_FTF( const G4double val ) {
if ( ! IsLocked() && val > fMinEnergyTransitionQGS_FTF ) {
fMaxEnergyTransitionQGS_FTF = val;
}
}
void G4HadronicParameters::SetMinEnergyINCLXX_Pbar( const G4double val ) {
if ( ! IsLocked() && val >= 0.0 ) {
fMinEnergyINCLXX_Pbar = val;
@@ -159,6 +161,7 @@ void G4HadronicParameters::SetMaxEnergyINCLXX_Pbar( const G4double val ) {
}
}
void G4HadronicParameters::SetEnableBCParticles( G4bool val ) {
if ( ! IsLocked() ) fEnableBC = val;
}
@@ -291,3 +294,21 @@ void G4HadronicParameters::SetTypeTablePT( const G4String& typeTablePT ) {
void G4HadronicParameters::SetEnableCoherentChargeExchange( G4bool val ) {
if ( ! IsLocked() ) fChargeExchange = val;
}
void G4HadronicParameters::SetBertiniAs11_2( G4bool val ) {
if ( ! IsLocked() ) {
fBertiniAngularEmissionsAs11_2 = val;
fBertiniNucleiModelAs11_2 = val;
}
}
void G4HadronicParameters::SetBertiniAngularEmissionsAs11_2( G4bool val ) {
if ( ! IsLocked() ) fBertiniAngularEmissionsAs11_2 = val;
}
void G4HadronicParameters::SetBertiniNucleiModelAs11_2( G4bool val ) {
if ( ! IsLocked() ) fBertiniNucleiModelAs11_2 = val;
}