Import Geant4 10.7.2 source tree

This commit is contained in:
Gabriele Cosmo
2021-06-14 10:01:31 +02:00
parent 3dfcdb544e
commit c968e26a39
271 changed files with 26365 additions and 21942 deletions
@@ -14,6 +14,20 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
15 April 2021 Vladimir Ivanchenko (hadr-deex-V10-06-08)
- G4DeexPrecoParameters - fixed problem #2350
07 March 2021 Vladimir Ivanchenko
- G4PolarizationTransition - J.Detwiler fixed sampling of angular
correlations (problem #2344)
18 February 2021 Alberto Ribon
- G4DeexPrecoParameters - changed half-life time threshold for isomer
production from 1 microsecond to 1 nanosecond.
The goal is to avoid unphysical missing energy cases as reported by
NA61/SHINE Collaboration. According to our CPU benchmarks, the
overhead due to this change is below the ~ 1% level.
12 August 2020 Vladimir Ivanchenko (hadr-deex-V10-06-07)
- G4NuclearLevelData - use Zmax for initialisation before the run
@@ -68,7 +68,7 @@ void G4DeexPrecoParameters::SetDefaults()
fPrecoHighEnergy = 30*CLHEP::MeV;
fPhenoFactor = 1.0;
fMinExcitation = 10*CLHEP::eV;
fMaxLifeTime = 1*CLHEP::microsecond;
fMaxLifeTime = 1*CLHEP::nanosecond;
fMinExPerNucleounForMF = 200*CLHEP::GeV;
fMinZForPreco = 3;
fMinAForPreco = 5;
@@ -330,7 +330,7 @@ std::ostream& G4DeexPrecoParameters::StreamInfo(std::ostream& os) const
<< fInternalConversionID << "\n";
os << "Correlated gamma emission flag " << fCorrelatedGamma << "\n";
os << "Max 2J for sampling of angular correlations " << fTwoJMAX << "\n";
os << "=======================================================================" << "\n";
os << "=======================================================================" << G4endl;
os.precision(prec);
return os;
}
@@ -253,24 +253,24 @@ void G4PolarizationTransition::SampleGammaTransition(
G4cout << *nucpol << G4endl;
}
const POLAR& pol = nucpol->GetPolarization();
if(fTwoJ1 == 0) {
nucpol->Unpolarize();
cosTheta = 2*G4UniformRand() - 1.0;
phi = CLHEP::twopi*G4UniformRand();
return;
}
const POLAR& pol = nucpol->GetPolarization();
cosTheta = GenerateGammaCosTheta(pol);
if(fVerbose > 2) {
G4cout << "G4PolarizationTransition::SampleGammaTransition: cosTheta= "
<< cosTheta << G4endl;
}
phi = GenerateGammaPhi(cosTheta, pol);
if(fVerbose > 2) {
G4cout << "G4PolarizationTransition::SampleGammaTransition: phi= "
<< phi << G4endl;
else {
cosTheta = GenerateGammaCosTheta(pol);
if(fVerbose > 2) {
G4cout << "G4PolarizationTransition::SampleGammaTransition: cosTheta= "
<< cosTheta << G4endl;
}
phi = GenerateGammaPhi(cosTheta, pol);
if(fVerbose > 2) {
G4cout << "G4PolarizationTransition::SampleGammaTransition: phi= "
<< phi << G4endl;
}
}
if(fTwoJ2 == 0) {
@@ -14,6 +14,14 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
23 May 2021 Dennis Wright (hadr-hpp-V10-06-14)
----------------------------------------------
- G4ParticleHPInelasticCompFS:::CompositeApply():
in two places, replace line
if (eExcitation < 20*CLHEP::keV) {eExcitation=0;}
with eExcitation = std::max(0.,QI[0] - QI[it])
in order to implement fix of bug #2333
05 January 2021 Vladimir Ivanchenko (hadr-hpp-V10-06-13)
--------------------------------------------------------
- G4ParticleHPThermalScattering - add final state phi-rotation;
@@ -404,14 +404,16 @@ void G4ParticleHPInelasticCompFS::CompositeApply(const G4HadProjectile& theTrack
//Use QI value for calculating excitation energy of residual.
G4bool useQI=false;
G4double dqi = QI[it];
if ( dqi < 0 || 849 < dqi ) useQI = true; //Former libraies does not have values of this range
if (dqi < 0 || 849 < dqi) useQI = true; // Former libraries do not have values in this range
if (useQI) {
// QI introudced since G4NDL3.15
// G4double QM=(incidReactionProduct.GetMass()+targetMass)-(aHadron.GetMass()+residualMass);
// eExcitation = QM-QI[it];
eExcitation = QI[0] - QI[it]; // Bug fix #1838
if(eExcitation < 20*CLHEP::keV) eExcitation = 0;
// eExcitation = QI[0] - QI[it]; // Bug fix #1838
// if(eExcitation < 20*CLHEP::keV) eExcitation = 0;
eExcitation = std::max(0.,QI[0] - QI[it]); // Bug fix 2333
// Re-evluate iLevel based on this eExcitation
iLevel = 0;
@@ -592,14 +594,17 @@ void G4ParticleHPInelasticCompFS::CompositeApply(const G4HadProjectile& theTrack
}
}
//G4cout << "nothingWasKnownOnHadron " << nothingWasKnownOnHadron << G4endl;
if(nothingWasKnownOnHadron)
if (nothingWasKnownOnHadron)
{
// In this case, hadron should be isotropic in CM
// Next 12 lines are Emilio's replacement
// G4double QM=(incidReactionProduct.GetMass()+targetMass)-(aHadron.GetMass()+residualMass);
// G4double eExcitation = QM-QI[it];
G4double eExcitation = QI[0] - QI[it]; // Fix of bug #1838
if(eExcitation<20*CLHEP::keV){eExcitation=0;}
// G4double eExcitation = QI[0] - QI[it]; // Fix of bug #1838
// if(eExcitation<20*CLHEP::keV){eExcitation=0;}
G4double eExcitation = std::max(0.,QI[0] - QI[it]); // Fix of bug #2333
two_body_reaction(&incidReactionProduct,&theTarget,&aHadron,eExcitation);
if(thePhotons==0 && eExcitation>0){
for(iLevel=theGammas.GetNumberOfLevels()-1; iLevel>=0; iLevel--)
@@ -14,6 +14,22 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
15 April 2021 Vladimir Ivanchenko radioactive_decay-V10-06-11
---------------------------------------------------------------
- G4RadioactiveDecayBase - fix #2350
16 February 2021 Alberto Ribon radioactive_decay-V10-06-10
------------------------------------------------------------
- G4RadioactiveDecayBase : set the weight of secondaries tracks to the
mother's weight value in the method G4RadioactiveDecayBase::DecayAnalog.
Thanks to Michael Dressel (Desy) for spotting this.
This bug, present since a long time, affects only simulations that
use Radioactive Decay in analogue mode with "external" biasing
(e.g. generic biasing, GPS generator with weights, etc.).
For completeness (but useless because this deprecated class will be
removed in Geant4 11), the corresponding fix was done also in the
class G4RadioactiveDecay in the method DecayIt.
05 August 2020 Alberto Ribon radioactive_decay-V10-06-09
----------------------------------------------------------
- G4RadioactiveDecayBaseMessenger, G4RadioactiveDecaymessenger,
@@ -1809,7 +1809,7 @@ G4RadioactiveDecay::DecayIt(const G4Track& theTrack, const G4Step&)
for (index=0; index < numberOfSecondaries; index++) {
G4Track* secondary = new G4Track(products->PopProducts(),
finalGlobalTime, currentPosition);
secondary->SetWeight(theTrack.GetWeight());
secondary->SetCreatorModelIndex(theRadDecayMode);
//Change for atomics relaxation
if (theRadDecayMode == IT && index>0){
@@ -495,7 +495,7 @@ G4RadioactiveDecayBase::StreamInfo(std::ostream& os, const G4String& endline)
os << "Use Bearden atomic level energies "
<< emparam->BeardenFluoDir() << endline;
os << "======================================================================"
<< endline;
<< G4endl;
os.precision(prec);
}
@@ -1151,6 +1151,7 @@ void G4RadioactiveDecayBase::DecayAnalog(const G4Track& theTrack)
for (G4int index = 0; index < numberOfSecondaries; index++) {
G4Track* secondary = new G4Track(products->PopProducts(), finalGlobalTime,
theTrack.GetPosition() );
secondary->SetWeight(theTrack.GetWeight());
secondary->SetCreatorModelIndex(theRadDecayMode);
//Change for atomics relaxation
if (theRadDecayMode == IT && index>0){