Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
+8
View File
@@ -7,6 +7,14 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2025-11-06 Vladimir Ivanchenko (hadr-util-V11-03-06)
- G4HadronicParameters: added extra flag to enable/disable usage of precise
XS data for neutrons in resonance energy region.
## 2025-09-15 Vladimir Ivanchenko (hadr-util-V11-03-05)
- G4IsotopeList - A.Berngardt added data on energy interval of neutron resonance
regions per element for Z=1-92
## 2025-05-20 Ben Morgan (hadr-util-V11-03-04)
- G4HadronicParameters: Implement pretty-print to ostream to allow users to check
values at runtime, ala G4EmParameters (request from ATLAS).
@@ -207,7 +207,10 @@ class G4HadronicParameters {
// the Geant4 version 11.2 is retrieved;
// "False" means that the corresponding behavior of the Geant4 version
// 11.3 is retrieved.
inline G4bool UseRFilesForXS() const;
void SetUseRFilesForXS( G4bool val );
private:
G4HadronicParameters();
@@ -255,6 +258,7 @@ class G4HadronicParameters {
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
G4bool fUseRFilesForXS = false;
G4String fTypeTablePT = "";
G4String fDirPARTICLEXS = "";
@@ -372,6 +376,10 @@ inline G4bool G4HadronicParameters::GetBinaryDebug() const {
return fBinaryDebug;
}
inline G4bool G4HadronicParameters::UseRFilesForXS() const {
return fUseRFilesForXS;
}
inline G4double G4HadronicParameters::GetEPRelativeLevel() const {
return fRelativeDiff;
}
@@ -93,6 +93,71 @@ static const G4double lowEnergyLimitMeV[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //81-90
0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; //91-100
static const double el_max_r_e[93] = {
0.0,
0.0, 0.0, 10, 6.30957, 15.8489, 20., 20., 20., 20., 3.16228, //1-10
2.51189, 20., 15.8489, 20., 0.630957, 2.51189, 2.51189, 6.30957, 2.51189, 10, //11-20
0.158489, 6.30957, 6.30957, 6.30957, 3.98107, 10, 6.30957, 10, 2.51189, 0.630957, //21-30
0.0398107, 0.158489, 0.0398107, 0.199526, 0.0251189, 1.58489, 0.1, 1.58489, 1, 0.158489, //31-40
0.0158489, 0.0630957, 0.00630957, 0.0398107, 0.00501187, 0.0251189, 0.0158489, 0.0158489, 0.00398107, 0.398107, //41-50
0.00398107, 0.251189, 0.00630957, 1, 0.00630957, 0.251189, 0.0251189, 0.630957, 0.0158489, 0.0398107, //51-60
0.000398107, 0.0251189, 0.000158489, 0.00630957, 0.00158489, 0.0398107, 0.00251189, 0.0398107, 0.00630957, 0.0398107, //61-70
0.00398107, 0.00398107, 0.00398107, 0.0158489, 0.00398107, 0.00630957, 0.000630957, 0.0398107, 0.00398107, 0.1, //71-80
0.158489, 3.98107, 2.51189, 0.0158489, 0.0158489, 0.0, 0.0, 0.00630957, 0.0, 0.00630957, //81-90
0.000158489, 0.0251189};
static const G4double inel_min_r_e[93] = {
0.0,
0.0, 0.0, 0.0, 3.98107, 1.58489, 3.98107, 0.398107, 2.51189, 0.158489, 0.0, //1-10
0.398107, 0.0, 0.0, 1, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, //11-20
0.0, 0.0, 0.0, 1, 0.1, 0.630957, 0.0, 1, 0.0, 0.0, //21-30
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //31-40
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //41-50
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //51-60
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //61-70
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //71-80
0.0, 0.398107, 0.630957, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //81-90
0.0, 0.0};
static const G4double inel_max_r_e[93] = {
0.0,
0.0, 0.0, 0.0, 25.1189, 15.8489, 25.1189, 15.8489, 25.1189, 10, 0.0, //1-10
2.51189, 0.0, 0.0, 10, 0.0, 0.0, 1, 0.0, 0.0, 0.0, //11-20
0.0, 0.0, 0.0, 6.30957, 1.58489, 6.30957, 0.0, 10, 0.0, 0.0, //21-30
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //31-40
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //41-50
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //51-60
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //61-70
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //71-80
0.0, 2.51189, 2.51189, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //81-90
0.0, 0.0};
static const double cap_min_r_e[93] = {
0.0,
0.0, 0.0, 0.0, 0.0, 0.01, 0.1, 1, 0.0794328, 0.01, 0.000630957, //1-10
0.001, 0.01, 0.00398107, 0.001, 0.01, 0.01, 0.000251189, 0.001, 0.000630957, 0.000158489, //11-20
0.000398107, 0.000398107, 0.0001, 0.001, 0.000158489, 0.000158489, 3.98107e-05, 0.001, 0.000158489, 0.000158489, //21-30
3.98107e-05, 3.98107e-05, 2.51189e-05, 1.58489e-05, 1.58489e-05, 1.58489e-05, 0.0001, 1e-06, 0.00158489, 0.0001, //31-40
2.51189e-05, 1e-05, 3.98107e-05, 6.30957e-06, 1e-06, 2.51189e-06, 2.51189e-06, 2.51189e-06, 1e-06, 1e-06, //41-50
3.98107e-06, 1e-06, 6.30957e-06, 3.98107e-06, 2.51189e-06, 1e-05, 1e-06, 3.98107e-05, 3.98107e-05, 2.51189e-06, //51-60
2.51189e-06, 1e-06, 1e-06, 1e-06, 1e-06, 1e-06, 1.58489e-06, 2.51189e-06, 1.58489e-06, 2.51189e-06, //61-70
1e-06, 1e-06, 1.58489e-06, 2.51189e-06, 1e-06, 3.98107e-06, 1e-06, 6.30957e-06, 2.51189e-06, 1.58489e-05, //71-80
2.51189e-05, 0.000398107, 0.000398107, 6.30957e-05, 3.98107e-05, 0.0, 0.0, 1.58489e-05, 0.0, 3.98107e-06, //81-90
1e-06, 1e-06};
static const G4double cap_max_r_e[93] = {
0.0,
0.0, 0.0, 0.0, 0.0, 12.5893, 10, 10, 0.630957, 2.51189, 10, //1-10
2.51189, 0.630957, 1, 2.51189, 0.630957, 2.51189, 1.58489, 1.58489, 1.58489, 1.58489, //11-20
0.158489, 0.398107, 0.251189, 1.58489, 3.98107, 1.58489, 0.158489, 1, 0.1, 0.630957, //21-30
0.0251189, 0.1, 0.0251189, 0.158489, 0.0251189, 0.251189, 0.0398107, 1.58489, 0.0630957, 0.1, //31-40
0.0158489, 0.0630957, 0.00630957, 0.0398107, 0.00630957, 0.01, 0.01, 0.01, 0.00251189, 0.1, //41-50
0.00398107, 0.158489, 0.01, 0.0251189, 0.00630957, 0.1, 0.0251189, 0.630957, 0.0158489, 0.0398107, //51-60
0.000398107, 0.0158489, 0.000158489, 0.00630957, 0.00158489, 0.0251189, 0.00158489, 0.0398107, 0.00630957, 0.0398107, //61-70
0.00398107, 0.00398107, 0.00398107, 0.01, 0.00398107, 0.00630957, 0.000398107, 0.0251189, 0.00251189, 0.1, //71-80
0.158489, 1, 0.251189, 0.0158489, 0.01, 0.0, 0.0, 0.00630957, 0.0, 0.00630957, //81-90
0.000158489, 0.0251189};
static const G4String elementName[] = {
"",
"Hydrogen", "Helium", "Lithium", "Berylium", "Boron", "Carbon",
@@ -166,6 +166,7 @@ void G4HadronicParameters::StreamInfo( std::ostream& os ) const {
os << "Hadron inelastic cross section factor " << fXSFactorHadronInelastic << "\n";
os << "Hadron elastic cross section factor " << fXSFactorHadronElastic << "\n";
os << "EM cross section factor " << fXSFactorEM << "\n";
os << "For XS neutron cross sections use detailed R-data " << fUseRFilesForXS << "\n";
os << "=======================================================================" << "\n";
os << "====== Process Control Parameters ========" << "\n";
@@ -420,3 +421,8 @@ void G4HadronicParameters::SetBertiniAngularEmissionsAs11_2( G4bool val ) {
void G4HadronicParameters::SetBertiniNucleiModelAs11_2( G4bool val ) {
if ( ! IsLocked() ) fBertiniNucleiModelAs11_2 = val;
}
void G4HadronicParameters::SetUseRFilesForXS( G4bool val ) {
if ( ! IsLocked() ) fUseRFilesForXS = val;
}