Import Geant4 10.4.0 source tree
This commit is contained in:
@@ -58,7 +58,6 @@
|
||||
#include "G4Region.hh"
|
||||
#include "G4ApplicationState.hh"
|
||||
#include "G4StateManager.hh"
|
||||
#include "G4Threading.hh"
|
||||
|
||||
G4EmParameters* G4EmParameters::theInstance = nullptr;
|
||||
|
||||
@@ -70,9 +69,17 @@ G4EmParameters* G4EmParameters::theInstance = nullptr;
|
||||
|
||||
G4EmParameters* G4EmParameters::Instance()
|
||||
{
|
||||
if(nullptr == theInstance) {
|
||||
static G4EmParameters manager;
|
||||
theInstance = &manager;
|
||||
if(nullptr == theInstance) {
|
||||
#ifdef G4MULTITHREADED
|
||||
G4MUTEXLOCK(&emParametersMutex);
|
||||
if(nullptr == theInstance) {
|
||||
#endif
|
||||
static G4EmParameters manager;
|
||||
theInstance = &manager;
|
||||
#ifdef G4MULTITHREADED
|
||||
}
|
||||
G4MUTEXUNLOCK(&G4EmParameters::emParametersMutex);
|
||||
#endif
|
||||
}
|
||||
return theInstance;
|
||||
}
|
||||
@@ -117,12 +124,17 @@ void G4EmParameters::Initialise()
|
||||
pixe = false;
|
||||
deexIgnoreCut = false;
|
||||
lateralDisplacement = true;
|
||||
lateralDisplacementAlg96 = true;
|
||||
muhadLateralDisplacement = false;
|
||||
latDisplacementBeyondSafety = false;
|
||||
useAngGeneratorForIonisation = false;
|
||||
useMottCorrection = false;
|
||||
integral = true;
|
||||
birks = false;
|
||||
dnaFast = false;
|
||||
dnaStationary = false;
|
||||
dnaMsc = false;
|
||||
gammaShark = false;
|
||||
|
||||
minSubRange = 1.0;
|
||||
minKinEnergy = 0.1*CLHEP::keV;
|
||||
@@ -130,6 +142,7 @@ void G4EmParameters::Initialise()
|
||||
maxKinEnergyCSDA = 1.0*CLHEP::GeV;
|
||||
lowestElectronEnergy = 1.0*CLHEP::keV;
|
||||
lowestMuHadEnergy = 1.0*CLHEP::keV;
|
||||
lowestTripletEnergy = 1.0*CLHEP::MeV;
|
||||
linLossLimit = 0.01;
|
||||
bremsTh = maxKinEnergy;
|
||||
lambdaFactor = 0.8;
|
||||
@@ -304,6 +317,17 @@ G4bool G4EmParameters::LateralDisplacement() const
|
||||
return lateralDisplacement;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetLateralDisplacementAlg96(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
lateralDisplacementAlg96 = val;
|
||||
}
|
||||
|
||||
G4bool G4EmParameters::LateralDisplacementAlg96() const
|
||||
{
|
||||
return lateralDisplacementAlg96;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetMuHadLateralDisplacement(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
@@ -379,6 +403,50 @@ G4bool G4EmParameters::BirksActive() const
|
||||
return birks;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetDNAFast(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
dnaFast = val;
|
||||
}
|
||||
|
||||
G4bool G4EmParameters::DNAFast() const
|
||||
{
|
||||
return dnaFast;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetDNAStationary(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
dnaStationary = val;
|
||||
}
|
||||
|
||||
G4bool G4EmParameters::DNAStationary() const
|
||||
{
|
||||
return dnaStationary;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetDNAElectronMsc(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
dnaMsc = val;
|
||||
}
|
||||
|
||||
G4bool G4EmParameters::DNAElectronMsc() const
|
||||
{
|
||||
return dnaMsc;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetGammaSharkActive(G4bool val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
gammaShark = val;
|
||||
}
|
||||
|
||||
G4bool G4EmParameters::GammaSharkActive() const
|
||||
{
|
||||
return gammaShark;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetEmSaturation(G4EmSaturation* ptr)
|
||||
{
|
||||
if(emSaturation != ptr) {
|
||||
@@ -504,6 +572,17 @@ G4double G4EmParameters::LowestMuHadEnergy() const
|
||||
return lowestMuHadEnergy;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetLowestTripletEnergy(G4double val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
if(val > 0.0) { lowestTripletEnergy = val; }
|
||||
}
|
||||
|
||||
G4double G4EmParameters::LowestTripletEnergy() const
|
||||
{
|
||||
return lowestTripletEnergy;
|
||||
}
|
||||
|
||||
void G4EmParameters::SetLinearLossLimit(G4double val)
|
||||
{
|
||||
if(IsLocked()) { return; }
|
||||
@@ -1188,19 +1267,20 @@ std::ostream& G4EmParameters::StreamInfo(std::ostream& os) const
|
||||
os << "Auger cascade enabled " <<augerCascade << "\n";
|
||||
os << "PIXE atomic de-excitation enabled " <<pixe << "\n";
|
||||
os << "De-excitation module ignores cuts " <<deexIgnoreCut << "\n";
|
||||
os << "Msc lateraral displacement for e+- enabled " <<lateralDisplacement << "\n";
|
||||
os << "Msc lateraral displacement for muons and hadrons " <<muhadLateralDisplacement << "\n";
|
||||
os << "Msc lateraral displacement beyond geometry safety " <<latDisplacementBeyondSafety << "\n";
|
||||
os << "Msc lateral displacement for e+- enabled " <<lateralDisplacement << "\n";
|
||||
os << "Msc lateral displacement for muons and hadrons " <<muhadLateralDisplacement << "\n";
|
||||
os << "Msc lateral displacement alg96 for e+- " <<lateralDisplacementAlg96 << "\n";
|
||||
os << "Msc lateral displacement beyond geometry safety " <<latDisplacementBeyondSafety << "\n";
|
||||
os << "Enable angular generator interface "
|
||||
<<useAngGeneratorForIonisation << "\n";
|
||||
os << "Use Mott correction for e- scattering "
|
||||
<<useMottCorrection << "\n";
|
||||
os << "Use integral approach for tracking "
|
||||
<<integral << "\n";
|
||||
os << "Use built-in Birks satuaration "
|
||||
<< birks << "\n";
|
||||
os << "Use Mott correction for e- scattering " << useMottCorrection << "\n";
|
||||
os << "Use integral approach for tracking " << integral << "\n";
|
||||
os << "Use built-in Birks satuaration " << birks << "\n";
|
||||
os << "Use fast sampling in DNA models " << dnaFast << "\n";
|
||||
os << "Use Stationary option in DNA models " << dnaStationary << "\n";
|
||||
os << "Use DNA with multiple scattering of e- " << dnaMsc << "\n";
|
||||
|
||||
os << "Factor of cut reduction for sub-cutoff method " <<minSubRange << "\n";
|
||||
os << "Factor of cut reduction for sub-cutoff method " << minSubRange << "\n";
|
||||
os << "Min kinetic energy for tables "
|
||||
<<G4BestUnit(minKinEnergy,"Energy") << "\n";
|
||||
os << "Max kinetic energy for tables "
|
||||
@@ -1211,6 +1291,8 @@ std::ostream& G4EmParameters::StreamInfo(std::ostream& os) const
|
||||
<<G4BestUnit(lowestElectronEnergy,"Energy") << "\n";
|
||||
os << "Lowest muon/hadron kinetic energy "
|
||||
<<G4BestUnit(lowestMuHadEnergy,"Energy") << "\n";
|
||||
os << "Lowest triplet kinetic energy "
|
||||
<<G4BestUnit(lowestTripletEnergy,"Energy") << "\n";
|
||||
os << "Linear loss limit " <<linLossLimit << "\n";
|
||||
os << "Bremsstrahlung energy threshold above which \n"
|
||||
<< " primary is added to the list of secondary "
|
||||
@@ -1261,7 +1343,7 @@ G4bool G4EmParameters::IsLocked() const
|
||||
{
|
||||
return (!G4Threading::IsMasterThread() ||
|
||||
(fStateManager->GetCurrentState() != G4State_PreInit &&
|
||||
fStateManager->GetCurrentState() != G4State_Init &&
|
||||
fStateManager->GetCurrentState() != G4State_Init &&
|
||||
fStateManager->GetCurrentState() != G4State_Idle));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user