Import Geant4 11.3.2 source tree
This commit is contained in:
@@ -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(¶mMutex);
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user