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") ) {
727 if(r ==
"DefaultRegionForTheWorld") {
m_regnamesPAI[i] = r; }
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";
G4bool UseCutAsFinalRange() const
static G4EmParameters * theInstance
void SetLossFluctuations(G4bool val)
G4int NumberOfBinsPerDecade() const
void SetApplyCuts(G4bool val)
G4MscStepLimitType mscStepLimit
G4int NumberOfBins() const
void SetVerbose(G4int val)
G4int WorkerVerbose() const
G4double MaxKinEnergy() const
std::vector< G4String > m_typesDNA
void SetDeexcitationIgnoreCut(G4bool val)
void SetUseMottCorrection(G4bool val)
std::ostringstream G4ExceptionDescription
std::vector< G4String > m_typesPAI
void SetLowestElectronEnergy(G4double val)
void SetLatDisplacementBeyondSafety(G4bool val)
G4MscStepLimitType MscMuHadStepLimitType() const
void SetMscStepLimitType(G4MscStepLimitType val)
G4bool AugerCascade() const
G4double LowestElectronEnergy() const
void SetBeardenFluoDir(G4bool val)
void SetLinearLossLimit(G4double val)
G4double MscGeomFactor() const
G4double MscMuHadRangeFactor() const
G4double MscThetaLimit() const
std::vector< G4String > m_regnamesME
void SetAuger(G4bool val)
const std::vector< G4String > & ParticlesPAI() const
G4String nameElectronPIXE
const std::vector< G4String > & RegionsMicroElec() const
G4bool muhadLateralDisplacement
std::ostream & StreamInfo(std::ostream &os) const
void SetNumberOfBins(G4int val)
void SetMinSubRange(G4double val)
void SetMaxEnergyForCSDARange(G4double val)
const std::vector< G4String > & RegionsPAI() const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
const std::vector< G4String > & TypesDNA() const
void SetPIXEElectronCrossSectionModel(const G4String &)
void SetMaxEnergy(G4double val)
void SetBremsstrahlungTh(G4double val)
static G4NistManager * Instance()
#define G4MUTEX_INITIALIZER
G4double MinSubRange() const
G4bool DeexcitationIgnoreCut() const
G4bool LatDisplacementBeyondSafety() const
void AddPAIModel(const G4String &particle, const G4String ®ion, const G4String &type)
void SetLateralDisplacement(G4bool val)
G4bool BuildCSDARange() const
void SetWorkerVerbose(G4int val)
G4bool lateralDisplacement
G4double LinearLossLimit() const
void SetPIXECrossSectionModel(const G4String &)
G4double LambdaFactor() const
G4GLOB_DLL std::ostream G4cout
G4bool MuHadLateralDisplacement() const
const G4String & PIXECrossSectionModel()
G4double LowestMuHadEnergy() const
G4double lowestMuHadEnergy
void SetMscRangeFactor(G4double val)
void SetAugerCascade(G4bool val)
void SetNumberOfBinsPerDecade(G4int val)
G4bool LateralDisplacement() const
void SetLowestMuHadEnergy(G4double val)
void SetMscGeomFactor(G4double val)
std::vector< G4String > m_regnamesDNA
G4double MinKinEnergy() const
void SetMscMuHadStepLimitType(G4MscStepLimitType val)
std::vector< G4String > m_regnamesPAI
void AddDNA(const G4String ®ion, const G4String &type)
std::vector< G4String > m_particlesPAI
G4double lowestElectronEnergy
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4MscStepLimitType mscStepLimitMuHad
void SetBuildCSDARange(G4bool val)
void AddMicroElec(const G4String ®ion)
G4bool LossFluctuation() const
void SetMscMuHadRangeFactor(G4double val)
void SetSpline(G4bool val)
static const char sss[MAX_N_PAR+2]
void SetMuHadLateralDisplacement(G4bool val)
G4double maxKinEnergyCSDA
void SetMinEnergy(G4double val)
G4bool UseAngularGeneratorForIonisation() const
G4double BremsstrahlungTh() const
static G4EmParameters * Instance()
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double MscRangeFactor() const
void ActivateAngularGeneratorForIonisation(G4bool val)
void SetUseCutAsFinalRange(G4bool val)
G4bool latDisplacementBeyondSafety
G4bool UseMottCorrection() const
const std::vector< G4String > & RegionsDNA() const
G4MscStepLimitType MscStepLimitType() const
void SetMscThetaLimit(G4double val)
void SetLambdaFactor(G4double val)
void SetFactorForAngleLimit(G4double val)
G4double rangeFactorMuHad
G4bool useAngGeneratorForIonisation
void PrintWarning(G4ExceptionDescription &ed)
G4EmParametersMessenger * theMessenger
G4double MaxEnergyForCSDARange() const
const G4String & PIXEElectronCrossSectionModel()
const std::vector< G4String > & TypesPAI() const
G4double FactorForAngleLimit() const
G4bool BeardenFluoDir() const
std::ostream & operator<<(std::ostream &os, const G4EmParameters &par)
void SetMscSkin(G4double val)
G4double factorForAngleLimit