230 if(val) {
fluo =
true; }
254 if(val) {
fluo =
true; }
329 if(val > 0.0 && val < 1.0) {
333 ed <<
"Value of MinSubRange is out of range (0 - 1): " << val
352 ed <<
"Value of MinKinEnergy is out of range: " << val/
MeV 353 <<
" MeV is ignored";
371 ed <<
"Value of MaxKinEnergy is out of range: " 372 << val/
GeV <<
" GeV is ignored";
389 ed <<
"Value of MaxKinEnergyCSDA is out of range: " 390 << val/
GeV <<
" GeV is ignored";
407 ed <<
"Value of lowestElectronEnergy is out of range: " 408 << val/
MeV <<
" MeV is ignored";
425 ed <<
"Value of lowestMuHadEnergy is out of range: " 426 << val/
MeV <<
" MeV is ignored";
439 if(val > 0.0 && val < 0.5) {
443 ed <<
"Value of linLossLimit is out of range: " << val
461 ed <<
"Value of bremsstrahlung threshold is out of range: " 462 << val/
GeV <<
" GeV is ignored";
475 if(val > 0.0 && val < 1.0) {
479 ed <<
"Value of lambda factor is out of range: " << val
497 ed <<
"Value of factor for enegry limit is out of range: " 498 << val <<
" is ignored";
511 if(val >= 0.0 && val <=
pi) {
515 ed <<
"Value of polar angle limit is out of range: " 516 << val <<
" is ignored";
529 if(val > 0.0 && val < 1.0) {
534 ed <<
"Value of rangeFactor is out of range: " 535 << val <<
" is ignored";
548 if(val > 0.0 && val < 1.0) {
552 ed <<
"Value of rangeFactorMuHad is out of range: " 553 << val <<
" is ignored";
570 ed <<
"Value of geomFactor is out of range: " 571 << val <<
" is ignored";
588 ed <<
"Value of skin is out of range: " 589 << val <<
" is ignored";
602 if(val >= 5 && val < 10000000) {
607 ed <<
"Value of number of bins is out of range: " 608 << val <<
" is ignored";
621 if(val >= 5 && val < 1000000) {
626 ed <<
"Value of number of bins per decade is out of range: " 627 << val <<
" is ignored";
684 G4cout <<
"G4EmParameters::SetPIXECrossSectionModel " << sss <<
G4endl;
715 if(r ==
"" || r ==
"world" || r ==
"World") r =
"DefaultRegionForTheWorld";
717 for(
G4int i=0; i<nreg; ++i) {
720 particle ==
"all") &&
723 r ==
"DefaultRegionForTheWorld") ) {
754 if(r ==
"" || r ==
"world" || r ==
"World") r =
"DefaultRegionForTheWorld";
756 for(
G4int i=0; i<nreg; ++i) {
770 if(r ==
"" || r ==
"world" || r ==
"World") r =
"DefaultRegionForTheWorld";
772 for(
G4int i=0; i<nreg; ++i) {
792 os <<
"=======================================================================" <<
"\n";
793 os <<
"====== Electromagnetic Physics Parameters ========" <<
"\n";
794 os <<
"=======================================================================" <<
"\n";
797 os <<
"LPM effect enabled " <<
flagLPM <<
"\n";
798 os <<
"Spline of EM tables enabled " <<
spline <<
"\n";
799 os <<
"Use cut as a final range enabled " <<
finalRange <<
"\n";
800 os <<
"Apply cuts on all EM processes " <<
applyCuts <<
"\n";
801 os <<
"Fluorescence enabled " <<
fluo <<
"\n";
802 os <<
"Fluorescence Bearden data files enabled " <<
beardenFluoDir <<
"\n";
803 os <<
"Auger electron production enabled " <<
auger <<
"\n";
805 os <<
"PIXE atomic de-excitation enabled " <<
pixe <<
"\n";
806 os <<
"De-excitation module ignores cuts " <<
deexIgnoreCut <<
"\n";
810 os <<
"Enable angular generator interface " 812 os <<
"Use Mott correction for e- scattering " 815 os <<
"Factor of cut reduction for sub-cutoff method " <<
minSubRange <<
"\n";
816 os <<
"Min kinetic energy for tables " 818 os <<
"Max kinetic energy for tables " 820 os <<
"Max kinetic energy for CSDA tables " 822 os <<
"Lowest e+e- kinetic energy " 824 os <<
"Lowest muon/hadron kinetic energy " 827 os <<
"Bremsstrahlung energy threshold above which \n" 828 <<
" primary is added to the list of secondary " 830 os <<
"X-section factor for integral approach " <<
lambdaFactor <<
"\n";
831 os <<
"Factor used for dynamic computation of angular \n" 833 os <<
"Fixed angular limit between single \n" 834 <<
" and multiple scattering " 836 os <<
"Range factor for msc step limit for e+- " <<
rangeFactor <<
"\n";
837 os <<
"Range factor for msc step limit for muons/hadrons " <<
rangeFactorMuHad <<
"\n";
838 os <<
"Geometry factor for msc step limitation of e+- " <<
geomFactor <<
"\n";
839 os <<
"Skin parameter for msc step limitation of e+- " <<
skin <<
"\n";
841 os <<
"Number of bins in tables " <<
nbins <<
"\n";
842 os <<
"Number of bins per decade of a table " <<
nbinsPerDecade <<
"\n";
843 os <<
"Verbose level " <<
verbose <<
"\n";
844 os <<
"Verbose level for worker thread " <<
workerVerbose <<
"\n";
846 os <<
"Type of msc step limit algorithm for e+- " <<
mscStepLimit <<
"\n";
847 os <<
"Type of msc step limit algorithm for muons/hadrons " <<
mscStepLimitMuHad <<
"\n";
849 os <<
"Type of PIXE cross section for hadrons " <<
namePIXE <<
"\n";
851 os <<
"=======================================================================" <<
"\n";
static G4EmParameters * theInstance
void SetLossFluctuations(G4bool val)
void SetApplyCuts(G4bool val)
G4MscStepLimitType mscStepLimit
void SetVerbose(G4int val)
std::vector< G4String > m_typesDNA
void SetDeexcitationIgnoreCut(G4bool val)
void SetUseMottCorrection(G4bool val)
G4bool DeexcitationIgnoreCut() const
std::ostringstream G4ExceptionDescription
std::vector< G4String > m_typesPAI
void SetLowestElectronEnergy(G4double val)
G4double MinSubRange() const
void SetLatDisplacementBeyondSafety(G4bool val)
G4MscStepLimitType MscStepLimitType() const
G4double MaxEnergyForCSDARange() const
void SetMscStepLimitType(G4MscStepLimitType val)
void SetBeardenFluoDir(G4bool val)
void SetLinearLossLimit(G4double val)
std::vector< G4String > m_regnamesME
void SetAuger(G4bool val)
G4String nameElectronPIXE
G4bool UseAngularGeneratorForIonisation() const
G4bool muhadLateralDisplacement
void SetNumberOfBins(G4int val)
void SetMinSubRange(G4double val)
void SetMaxEnergyForCSDARange(G4double val)
const std::vector< G4String > & RegionsPAI() const
G4bool LossFluctuation() const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
void SetPIXEElectronCrossSectionModel(const G4String &)
G4double BremsstrahlungTh() const
G4int NumberOfBinsPerDecade() const
void SetMaxEnergy(G4double val)
void SetBremsstrahlungTh(G4double val)
G4MscStepLimitType MscMuHadStepLimitType() const
static G4NistManager * Instance()
#define G4MUTEX_INITIALIZER
const std::vector< G4String > & RegionsDNA() const
G4double FactorForAngleLimit() const
G4bool MuHadLateralDisplacement() const
void AddPAIModel(const G4String &particle, const G4String ®ion, const G4String &type)
G4bool BeardenFluoDir() const
void SetLateralDisplacement(G4bool val)
void SetWorkerVerbose(G4int val)
G4bool lateralDisplacement
G4bool UseCutAsFinalRange() const
void SetPIXECrossSectionModel(const G4String &)
G4GLOB_DLL std::ostream G4cout
const G4String & PIXECrossSectionModel()
const std::vector< G4String > & TypesDNA() const
G4double MscRangeFactor() const
G4double lowestMuHadEnergy
void SetMscRangeFactor(G4double val)
friend std::ostream & operator<<(std::ostream &os, const G4EmParameters &)
const std::vector< G4String > & RegionsMicroElec() const
void SetAugerCascade(G4bool val)
G4double MinKinEnergy() const
void SetNumberOfBinsPerDecade(G4int val)
void SetLowestMuHadEnergy(G4double val)
void SetMscGeomFactor(G4double val)
std::vector< G4String > m_regnamesDNA
void SetMscMuHadStepLimitType(G4MscStepLimitType val)
std::vector< G4String > m_regnamesPAI
const std::vector< G4String > & TypesPAI() const
void AddDNA(const G4String ®ion, const G4String &type)
G4int NumberOfBins() const
G4bool AugerCascade() const
std::vector< G4String > m_particlesPAI
G4double lowestElectronEnergy
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4MscStepLimitType mscStepLimitMuHad
G4double MscThetaLimit() const
G4bool LatDisplacementBeyondSafety() const
void SetBuildCSDARange(G4bool val)
void AddMicroElec(const G4String ®ion)
void SetMscMuHadRangeFactor(G4double val)
G4bool UseMottCorrection() const
void SetSpline(G4bool val)
static const char sss[MAX_N_PAR+2]
void SetMuHadLateralDisplacement(G4bool val)
G4double MaxKinEnergy() const
G4double LowestElectronEnergy() const
G4double maxKinEnergyCSDA
void SetMinEnergy(G4double val)
static G4EmParameters * Instance()
void ActivateAngularGeneratorForIonisation(G4bool val)
void SetUseCutAsFinalRange(G4bool val)
G4bool latDisplacementBeyondSafety
const std::vector< G4String > & ParticlesPAI() const
void SetMscThetaLimit(G4double val)
void SetLambdaFactor(G4double val)
void SetFactorForAngleLimit(G4double val)
G4double rangeFactorMuHad
G4int WorkerVerbose() const
G4bool useAngGeneratorForIonisation
void PrintWarning(G4ExceptionDescription &ed)
G4EmParametersMessenger * theMessenger
G4double LambdaFactor() const
G4double LowestMuHadEnergy() const
G4double MscMuHadRangeFactor() const
std::ostream & StreamInfo(std::ostream &os) const
G4double LinearLossLimit() const
const G4String & PIXEElectronCrossSectionModel()
G4bool LateralDisplacement() const
G4double MscGeomFactor() const
G4bool BuildCSDARange() const
void SetMscSkin(G4double val)
G4double factorForAngleLimit