72 if(
nullptr == theInstance) {
74 if(
nullptr == theInstance) {
76 theInstance = &manager;
95G4EmParameters::G4EmParameters()
105 emSaturation =
nullptr;
117void G4EmParameters::Initialise()
119 lossFluctuation =
true;
120 buildCSDARange =
false;
122 cutAsFinalRange =
false;
124 lateralDisplacement =
true;
125 lateralDisplacementAlg96 =
true;
126 muhadLateralDisplacement =
false;
127 useAngGeneratorForIonisation =
false;
128 useMottCorrection =
false;
134 fSamplingTable =
false;
135 fPolarisation =
false;
136 fMuDataFromFile =
false;
142 minKinEnergy = 0.1*CLHEP::keV;
143 maxKinEnergy = 100.0*CLHEP::TeV;
144 maxKinEnergyCSDA = 1.0*CLHEP::GeV;
145 max5DEnergyForMuPair = 0.0;
146 lowestElectronEnergy = 1.0*CLHEP::keV;
147 lowestMuHadEnergy = 1.0*CLHEP::keV;
148 lowestTripletEnergy = 1.0*CLHEP::MeV;
151 bremsTh = bremsMuHadTh = maxKinEnergy;
153 factorForAngleLimit = 1.0;
154 thetaLimit = CLHEP::pi;
155 energyLimit = 100.0*CLHEP::MeV;
157 rangeFactorMuHad = 0.2;
161 lambdaLimit = 1.0*CLHEP::mm;
169 fTransportationWithMsc = G4TransportationWithMscType::fDisabled;
179 if(IsLocked()) {
return; }
180 lossFluctuation = val;
185 return lossFluctuation;
190 if(IsLocked()) {
return; }
191 buildCSDARange = val;
196 return buildCSDARange;
201 if(IsLocked()) {
return; }
212 if(IsLocked()) {
return; }
213 cutAsFinalRange = val;
218 return cutAsFinalRange;
223 if(IsLocked()) {
return; }
234 if(IsLocked()) {
return; }
240 return fCParameters->
Fluo();
250 if(IsLocked()) {
return; }
256 if(IsLocked()) {
return; }
262 if(IsLocked()) {
return; }
268 if(IsLocked()) {
return; }
274 if(IsLocked()) {
return; }
292 return fCParameters->
Auger();
297 if(IsLocked()) {
return; }
303 return fCParameters->
Pixe();
308 if(IsLocked()) {
return; }
319 if(IsLocked()) {
return; }
320 lateralDisplacement = val;
325 return lateralDisplacement;
330 if(IsLocked()) {
return; }
331 lateralDisplacementAlg96 = val;
336 return lateralDisplacementAlg96;
341 if(IsLocked()) {
return; }
342 muhadLateralDisplacement = val;
347 return muhadLateralDisplacement;
352 if(IsLocked()) {
return; }
353 useAngGeneratorForIonisation = val;
358 return useAngGeneratorForIonisation;
363 if(IsLocked()) {
return; }
364 useMottCorrection = val;
369 return useMottCorrection;
374 if(IsLocked()) {
return; }
385 if(IsLocked()) {
return; }
391 return fPolarisation;
396 if(IsLocked()) {
return; }
398 if(birks &&
nullptr == emSaturation) { emSaturation =
new G4EmSaturation(1); }
408 if(IsLocked()) {
return; }
419 if(IsLocked()) {
return; }
426 return fCParameters->
DNAFast();
431 if(IsLocked()) {
return; }
443 if(IsLocked()) {
return; }
455 if(IsLocked()) {
return; }
466 if(IsLocked()) {
return; }
467 birks = (
nullptr != ptr);
468 if(emSaturation != ptr) {
476 return fMuDataFromFile;
486 if(IsLocked()) {
return; }
497 if(IsLocked()) {
return; }
498 fSamplingTable = val;
503 return fSamplingTable;
513 if(IsLocked()) {
return; }
524 if(IsLocked()) {
return; }
530 if(IsLocked()) {
return; }
546 if(
nullptr == emSaturation) {
547#ifdef G4MULTITHREADED
549 if(
nullptr == emSaturation) {
552#ifdef G4MULTITHREADED
563 if(IsLocked()) {
return; }
564 if(val > 1.e-3*CLHEP::eV && val < maxKinEnergy) {
568 ed <<
"Value of MinKinEnergy - is out of range: " << val/CLHEP::MeV
569 <<
" MeV is ignored";
581 if(IsLocked()) {
return; }
582 if(val > std::max(minKinEnergy,9.99*CLHEP::MeV) && val < 1.e+7*CLHEP::TeV) {
586 ed <<
"Value of MaxKinEnergy is out of range: "
588 <<
" GeV is ignored; allowed range 10 MeV - 1.e+7 TeV";
600 if(IsLocked()) {
return; }
601 if(val > minKinEnergy && val <= 100*CLHEP::TeV) {
602 maxKinEnergyCSDA = val;
605 ed <<
"Value of MaxKinEnergyCSDA is out of range: "
606 << val/CLHEP::GeV <<
" GeV is ignored; allowed range "
607 << minKinEnergy <<
" MeV - 100 TeV";
614 return maxKinEnergyCSDA;
619 if(IsLocked()) {
return; }
620 if(val >= 0.0) { lowestElectronEnergy = val; }
625 return lowestElectronEnergy;
630 if(IsLocked()) {
return; }
631 if(val >= 0.0) { lowestMuHadEnergy = val; }
636 return lowestMuHadEnergy;
641 if(IsLocked()) {
return; }
642 if(val > 0.0) { lowestTripletEnergy = val; }
647 return lowestTripletEnergy;
652 if(IsLocked()) {
return; }
653 if(val >= 0.0) { maxNIELEnergy = val; }
658 return maxNIELEnergy;
663 if(IsLocked()) {
return; }
664 if(val > 0.0) { max5DEnergyForMuPair = val; }
669 return max5DEnergyForMuPair;
674 if(IsLocked()) {
return; }
675 if(val > 0.0 && val < 0.5) {
679 ed <<
"Value of linLossLimit is out of range: " << val
692 if(IsLocked()) {
return; }
697 ed <<
"Value of bremsstrahlung threshold is out of range: "
698 << val/GeV <<
" GeV is ignored";
710 if(IsLocked()) {
return; }
715 ed <<
"Value of bremsstrahlung threshold is out of range: "
716 << val/GeV <<
" GeV is ignored";
728 if(IsLocked()) {
return; }
729 if(val > 0.0 && val < 1.0) {
733 ed <<
"Value of lambda factor is out of range: " << val
746 if(IsLocked()) {
return; }
748 factorForAngleLimit = val;
751 ed <<
"Value of factor for enegry limit is out of range: "
752 << val <<
" is ignored";
759 return factorForAngleLimit;
764 if(IsLocked()) {
return; }
765 if(val >= 0.0 && val <= pi) {
769 ed <<
"Value of polar angle limit is out of range: "
770 << val <<
" is ignored";
782 if(IsLocked()) {
return; }
787 ed <<
"Value of msc energy limit is out of range: "
788 << val <<
" is ignored";
800 if(IsLocked()) {
return; }
801 if(val > 0.0 && val < 1.0) {
805 ed <<
"Value of rangeFactor is out of range: "
806 << val <<
" is ignored";
818 if(IsLocked()) {
return; }
819 if(val > 0.0 && val < 1.0) {
820 rangeFactorMuHad = val;
823 ed <<
"Value of rangeFactorMuHad is out of range: "
824 << val <<
" is ignored";
831 return rangeFactorMuHad;
836 if(IsLocked()) {
return; }
841 ed <<
"Value of geomFactor is out of range: "
842 << val <<
" is ignored";
854 if(IsLocked()) {
return; }
859 ed <<
"Value of safetyFactor is out of range: "
860 << val <<
" is ignored";
872 if(IsLocked()) {
return; }
877 ed <<
"Value of lambdaLimit is out of range: "
878 << val <<
" is ignored";
890 if(IsLocked()) {
return; }
895 ed <<
"Value of skin is out of range: "
896 << val <<
" is ignored";
908 if(IsLocked()) {
return; }
913 ed <<
"Value of factorScreen is out of range: "
914 << val <<
" is ignored";
926 if(IsLocked()) {
return; }
932 if(IsLocked()) {
return; }
938 if(IsLocked()) {
return; }
944 if(IsLocked()) {
return; }
955 return nbinsPerDecade*
G4lrint(std::log10(maxKinEnergy/minKinEnergy));
960 if(IsLocked()) {
return; }
961 if(val >= 5 && val < 1000000) {
962 nbinsPerDecade = val;
965 ed <<
"Value of number of bins per decade is out of range: "
966 << val <<
" is ignored";
973 return nbinsPerDecade;
978 if(IsLocked()) {
return; }
980 workerVerbose = std::min(workerVerbose, verbose);
990 if(IsLocked()) {
return; }
996 return workerVerbose;
1001 if(IsLocked()) {
return; }
1002 fTransportationWithMsc = val;
1007 return fTransportationWithMsc;
1012 if(IsLocked()) {
return; }
1023 if(IsLocked()) {
return; }
1029 return mscStepLimit;
1034 if(IsLocked()) {
return; }
1035 mscStepLimitMuHad = val;
1040 return mscStepLimitMuHad;
1045 if(IsLocked()) {
return; }
1057 if(IsLocked()) {
return; }
1058 nucFormfactor = val;
1063 return nucFormfactor;
1068 if(IsLocked()) {
return; }
1080 if(IsLocked()) {
return; }
1091 if(IsLocked()) {
return; }
1102 if(IsLocked()) {
return; }
1113 if(IsLocked()) {
return; }
1131 if(IsLocked()) {
return; }
1132 fBParameters->
AddPAIModel(particle, region, type);
1152 if(IsLocked()) {
return; }
1163 if(IsLocked()) {
return; }
1164 fCParameters->
AddDNA(region, type);
1180 if(IsLocked()) {
return; }
1196 if(IsLocked()) {
return; }
1204 if(IsLocked()) {
return; }
1212 if(IsLocked()) {
return; }
1222 if(IsLocked() && !gener) {
return; }
1232 if(IsLocked()) {
return; }
1253 if(IsLocked()) {
return; }
1263 if(IsLocked()) {
return; }
1269 if(IsLocked()) {
return; }
1280 if(IsLocked()) {
return; }
1296 G4long prec = os.precision(5);
1297 os <<
"=======================================================================" <<
"\n";
1298 os <<
"====== Electromagnetic Physics Parameters ========" <<
"\n";
1299 os <<
"=======================================================================" <<
"\n";
1300 os <<
"LPM effect enabled " <<flagLPM <<
"\n";
1301 os <<
"Enable creation and use of sampling tables " <<fSamplingTable <<
"\n";
1302 os <<
"Apply cuts on all EM processes " <<applyCuts <<
"\n";
1303 const char* transportationWithMsc =
"Disabled";
1304 if(fTransportationWithMsc == G4TransportationWithMscType::fEnabled) {
1305 transportationWithMsc =
"Enabled";
1306 }
else if (fTransportationWithMsc == G4TransportationWithMscType::fMultipleSteps) {
1307 transportationWithMsc =
"MultipleSteps";
1309 os <<
"Use combined TransportationWithMsc " <<transportationWithMsc <<
"\n";
1310 os <<
"Use general process " <<gener <<
"\n";
1311 os <<
"Enable linear polarisation for gamma " <<fPolarisation <<
"\n";
1312 os <<
"Enable photoeffect sampling below K-shell " <<fPEKShell <<
"\n";
1313 os <<
"Enable sampling of quantum entanglement "
1315 os <<
"X-section factor for integral approach " <<lambdaFactor <<
"\n";
1316 os <<
"Min kinetic energy for tables "
1318 os <<
"Max kinetic energy for tables "
1320 os <<
"Number of bins per decade of a table " <<nbinsPerDecade <<
"\n";
1321 os <<
"Verbose level " <<verbose <<
"\n";
1322 os <<
"Verbose level for worker thread " <<workerVerbose <<
"\n";
1323 os <<
"Bremsstrahlung energy threshold above which \n"
1324 <<
" primary e+- is added to the list of secondary "
1326 os <<
"Bremsstrahlung energy threshold above which primary\n"
1327 <<
" muon/hadron is added to the list of secondary "
1329 os <<
"Lowest triplet kinetic energy "
1330 <<
G4BestUnit(lowestTripletEnergy,
"Energy") <<
"\n";
1331 os <<
"Enable sampling of gamma linear polarisation " <<fPolarisation <<
"\n";
1332 os <<
"5D gamma conversion model type " <<tripletConv <<
"\n";
1333 os <<
"5D gamma conversion model on isolated ion " <<onIsolated <<
"\n";
1334 if(max5DEnergyForMuPair>0.0) {
1335 os <<
"5D gamma conversion limit for muon pair "
1336 << max5DEnergyForMuPair/CLHEP::GeV <<
" GeV\n";
1338 os <<
"Livermore data directory "
1341 os <<
"=======================================================================" <<
"\n";
1342 os <<
"====== Ionisation Parameters ========" <<
"\n";
1343 os <<
"=======================================================================" <<
"\n";
1344 os <<
"Step function for e+- "
1347 os <<
"Step function for muons/hadrons "
1350 os <<
"Step function for light ions "
1353 os <<
"Step function for general ions "
1356 os <<
"Lowest e+e- kinetic energy "
1357 <<
G4BestUnit(lowestElectronEnergy,
"Energy") <<
"\n";
1358 os <<
"Lowest muon/hadron kinetic energy "
1359 <<
G4BestUnit(lowestMuHadEnergy,
"Energy") <<
"\n";
1360 os <<
"Use ICRU90 data " << fICRU90 <<
"\n";
1361 os <<
"Fluctuations of dE/dx are enabled " <<lossFluctuation <<
"\n";
1365 os <<
"Type of fluctuation model for leptons and hadrons " << namef <<
"\n";
1366 os <<
"Use built-in Birks satuaration " << birks <<
"\n";
1367 os <<
"Build CSDA range enabled " <<buildCSDARange <<
"\n";
1368 os <<
"Use cut as a final range enabled " <<cutAsFinalRange <<
"\n";
1369 os <<
"Enable angular generator interface "
1370 <<useAngGeneratorForIonisation <<
"\n";
1371 os <<
"Max kinetic energy for CSDA tables "
1372 <<
G4BestUnit(maxKinEnergyCSDA,
"Energy") <<
"\n";
1373 os <<
"Max kinetic energy for NIEL computation "
1374 <<
G4BestUnit(maxNIELEnergy,
"Energy") <<
"\n";
1375 os <<
"Linear loss limit " <<linLossLimit <<
"\n";
1376 os <<
"Read data from file for e+e- pair production by mu " <<fMuDataFromFile <<
"\n";
1378 os <<
"=======================================================================" <<
"\n";
1379 os <<
"====== Multiple Scattering Parameters ========" <<
"\n";
1380 os <<
"=======================================================================" <<
"\n";
1381 os <<
"Type of msc step limit algorithm for e+- " <<mscStepLimit <<
"\n";
1382 os <<
"Type of msc step limit algorithm for muons/hadrons " <<mscStepLimitMuHad <<
"\n";
1383 os <<
"Msc lateral displacement for e+- enabled " <<lateralDisplacement <<
"\n";
1384 os <<
"Msc lateral displacement for muons and hadrons " <<muhadLateralDisplacement <<
"\n";
1385 os <<
"Urban msc model lateral displacement alg96 " <<lateralDisplacementAlg96 <<
"\n";
1386 os <<
"Range factor for msc step limit for e+- " <<rangeFactor <<
"\n";
1387 os <<
"Range factor for msc step limit for muons/hadrons " <<rangeFactorMuHad <<
"\n";
1388 os <<
"Geometry factor for msc step limitation of e+- " <<geomFactor <<
"\n";
1389 os <<
"Safety factor for msc step limit for e+- " <<safetyFactor <<
"\n";
1390 os <<
"Skin parameter for msc step limitation of e+- " <<skin <<
"\n";
1391 os <<
"Lambda limit for msc step limit for e+- " <<lambdaLimit/CLHEP::mm <<
" mm\n";
1392 os <<
"Use Mott correction for e- scattering " << useMottCorrection <<
"\n";
1393 os <<
"Factor used for dynamic computation of angular \n"
1394 <<
" limit between single and multiple scattering " << factorForAngleLimit <<
"\n";
1395 os <<
"Fixed angular limit between single \n"
1396 <<
" and multiple scattering "
1397 << thetaLimit/CLHEP::rad <<
" rad\n";
1398 os <<
"Upper energy limit for e+- multiple scattering "
1399 << energyLimit/CLHEP::MeV <<
" MeV\n";
1400 os <<
"Type of electron single scattering model " <<fSStype <<
"\n";
1401 os <<
"Type of nuclear form-factor " <<nucFormfactor <<
"\n";
1402 os <<
"Screening factor " <<factorScreen <<
"\n";
1403 os <<
"=======================================================================" <<
"\n";
1405 if(fCParameters->
Fluo()) {
1406 os <<
"====== Atomic Deexcitation Parameters ========" <<
"\n";
1407 os <<
"=======================================================================" <<
"\n";
1408 os <<
"Fluorescence enabled " <<fCParameters->
Fluo() <<
"\n";
1411 if(fdir ==
fluoBearden) { named =
"fluor_Bearden"; }
1412 else if(fdir ==
fluoANSTO) { named =
"fluor_ANSTO"; }
1413 else if(fdir ==
fluoXDB_EADL) { named =
"fluor_XDB_EADL"; }
1414 os <<
"Directory in G4LEDATA for fluorescence data files " << named <<
"\n";
1415 os <<
"Auger electron cascade enabled "
1416 <<fCParameters->
Auger() <<
"\n";
1417 os <<
"PIXE atomic de-excitation enabled " <<fCParameters->
Pixe() <<
"\n";
1418 os <<
"De-excitation module ignores cuts "
1420 os <<
"Type of PIXE cross section for hadrons "
1422 os <<
"Type of PIXE cross section for e+- "
1424 os <<
"=======================================================================" <<
"\n";
1427 os <<
"====== DNA Physics Parameters ========" <<
"\n";
1428 os <<
"=======================================================================" <<
"\n";
1429 os <<
"Use fast sampling in DNA models "
1430 << fCParameters->
DNAFast() <<
"\n";
1431 os <<
"Use Stationary option in DNA models "
1433 os <<
"Use DNA with multiple scattering of e- "
1435 os <<
"Use DNA e- solvation model type "
1437 os <<
"=======================================================================" <<
G4endl;
1444 if(fIsPrinted)
return;
1446#ifdef G4MULTITHREADED
1450#ifdef G4MULTITHREADED
1461G4bool G4EmParameters::IsLocked()
const
std::ostream & operator<<(std::ostream &os, const G4EmParameters &par)
G4TransportationWithMscType
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
G4GLOB_DLL std::ostream G4cout
void SetAuger(G4bool val)
void SetDeexActiveRegion(const G4String ®ion, G4bool fdeex, G4bool fauger, G4bool fpixe)
void SetLivermoreDataDir(const G4String &)
void SetDNAFast(G4bool val)
void SetXDB_EADLFluoDir(G4bool val)
G4bool DNAStationary() const
void SetDeexcitationIgnoreCut(G4bool val)
const std::vector< G4String > & TypesDNA() const
void SetDNAElectronMsc(G4bool val)
void SetFluoDirectory(G4EmFluoDirectory val)
const G4String & LivermoreDataDir()
const std::vector< G4String > & RegionsMicroElec() const
G4bool DeexcitationIgnoreCut() const
const G4String & PIXECrossSectionModel()
G4EmFluoDirectory FluoDirectory() const
void DefineRegParamForDeex(G4VAtomDeexcitation *) const
G4DNAModelSubType DNAeSolvationSubType() const
void AddDNA(const G4String ®ion, const G4String &type)
void SetDNAStationary(G4bool val)
void SetDNAeSolvationSubType(G4DNAModelSubType val)
const G4String & PIXEElectronCrossSectionModel()
void SetBeardenFluoDir(G4bool val)
void SetANSTOFluoDir(G4bool val)
void SetPIXECrossSectionModel(const G4String &)
G4bool DNAElectronMsc() const
const std::vector< G4String > & RegionsDNA() const
void SetPIXEElectronCrossSectionModel(const G4String &)
void AddMicroElec(const G4String ®ion)
void SetEmSaturation(G4EmSaturation *)
void SetBeardenFluoDir(G4bool val)
G4bool IsPrintLocked() const
void DefineRegParamForLoss(G4VEnergyLossProcess *) const
void SetLambdaFactor(G4double val)
void SetMinEnergy(G4double val)
void SetLowestElectronEnergy(G4double val)
void SetBuildCSDARange(G4bool val)
void SetStepFunctionLightIons(G4double v1, G4double v2)
void SetEnablePolarisation(G4bool val)
void AddDNA(const G4String ®ion, const G4String &type)
G4bool LateralDisplacementAlg96() const
void FillStepFunction(const G4ParticleDefinition *, G4VEnergyLossProcess *) const
void SetNumberOfBinsPerDecade(G4int val)
static G4EmParameters * Instance()
void SetDirectionalSplittingTarget(const G4ThreeVector &v)
G4DNAModelSubType DNAeSolvationSubType() const
G4bool RetrieveMuDataFromFile() const
G4bool PhotoeffectBelowKShell() const
G4int NumberOfBins() const
G4double MscMuHadRangeFactor() const
void SetGeneralProcessActive(G4bool val)
void SetDNAFast(G4bool val)
void SetMscSafetyFactor(G4double val)
G4bool EnablePolarisation() const
void SetLateralDisplacementAlg96(G4bool val)
void SetFactorForAngleLimit(G4double val)
const G4String & PIXECrossSectionModel()
const G4String & PIXEElectronCrossSectionModel()
G4double MaxNIELEnergy() const
void SetRetrieveMuDataFromFile(G4bool v)
void SetDirectionalSplitting(G4bool v)
const G4String & LivermoreDataDir()
G4bool OnIsolated() const
void SetMscMuHadRangeFactor(G4double val)
G4bool DNAElectronMsc() const
G4double MinKinEnergy() const
G4int NumberOfBinsPerDecade() const
G4bool BuildCSDARange() const
G4double MscThetaLimit() const
G4bool LossFluctuation() const
G4double MuHadBremsstrahlungTh() const
void AddPAIModel(const G4String &particle, const G4String ®ion, const G4String &type)
void SetDNAStationary(G4bool val)
void SetDNAElectronMsc(G4bool val)
const std::vector< G4String > & TypesPhysics() const
void SetMaxEnergyFor5DMuPair(G4double val)
G4double GetDirectionalSplittingRadius()
void SetLinearLossLimit(G4double val)
void SetMscThetaLimit(G4double val)
G4int GetConversionType() const
G4MscStepLimitType MscMuHadStepLimitType() const
G4double MscEnergyLimit() const
void ActivateSecondaryBiasing(const G4String &name, const G4String ®ion, G4double factor, G4double energyLimit)
G4bool BirksActive() const
G4bool DNAStationary() const
G4bool MscPositronCorrection() const
const std::vector< G4String > & RegionsPAI() const
void SetSubCutRegion(const G4String ®ion="")
void SetLossFluctuations(G4bool val)
void SetDeexActiveRegion(const G4String ®ion, G4bool fdeex, G4bool fauger, G4bool fpixe)
G4bool UseCutAsFinalRange() const
void SetPIXEElectronCrossSectionModel(const G4String &)
void SetLowestTripletEnergy(G4double val)
void SetMuHadLateralDisplacement(G4bool val)
G4EmSaturation * GetEmSaturation()
void SetDNAeSolvationSubType(G4DNAModelSubType val)
void SetQuantumEntanglement(G4bool v)
void DefineRegParamForEM(G4VEmProcess *) const
void ActivateForcedInteraction(const G4String &procname, const G4String ®ion, G4double length, G4bool wflag)
void SetXDB_EADLFluoDir(G4bool val)
void ActivateAngularGeneratorForIonisation(G4bool val)
void SetScreeningFactor(G4double val)
void SetNuclearFormfactorType(G4NuclearFormfactorType val)
void SetStepFunction(G4double v1, G4double v2)
void SetLateralDisplacement(G4bool val)
G4bool QuantumEntanglement() const
void SetWorkerVerbose(G4int val)
void SetUseCutAsFinalRange(G4bool val)
void SetDeexcitationIgnoreCut(G4bool val)
void SetBirksActive(G4bool val)
G4double ScreeningFactor() const
G4bool UseMottCorrection() const
void SetMuHadBremsstrahlungTh(G4double val)
const std::vector< G4String > & ParticlesPAI() const
const std::vector< G4String > & RegionsPhysics() const
void SetFluctuationType(G4EmFluctuationType val)
void DefineRegParamForDeex(G4VAtomDeexcitation *) const
void SetStepFunctionMuHad(G4double v1, G4double v2)
G4double MscSafetyFactor() const
void SetVerbose(G4int val)
G4int WorkerVerbose() const
void SetMscGeomFactor(G4double val)
void SetMscLambdaLimit(G4double val)
void SetMscSkin(G4double val)
void SetApplyCuts(G4bool val)
const std::vector< G4String > & TypesDNA() const
G4MscStepLimitType MscStepLimitType() const
void SetEnableSamplingTable(G4bool val)
const std::vector< G4String > & RegionsDNA() const
void SetLivermoreDataDir(const G4String &)
void SetFluoDirectory(G4EmFluoDirectory)
G4double BremsstrahlungTh() const
void SetMaxNIELEnergy(G4double val)
void SetStepFunctionIons(G4double v1, G4double v2)
void SetMaxEnergyForCSDARange(G4double val)
G4eSingleScatteringType SingleScatteringType() const
G4bool DeexcitationIgnoreCut() const
G4TransportationWithMscType TransportationWithMsc() const
void SetProcessBiasingFactor(const G4String &procname, G4double val, G4bool wflag)
G4double MscGeomFactor() const
void SetMscMuHadStepLimitType(G4MscStepLimitType val)
G4EmFluctuationType FluctuationType() const
void SetMscStepLimitType(G4MscStepLimitType val)
void AddPhysics(const G4String ®ion, const G4String &type)
void SetMscEnergyLimit(G4double val)
void SetBremsstrahlungTh(G4double val)
void SetAuger(G4bool val)
G4bool GetDirectionalSplitting() const
void SetIsPrintedFlag(G4bool val)
G4double MaxKinEnergy() const
G4bool UseICRU90Data() const
void SetDirectionalSplittingRadius(G4double r)
void SetConversionType(G4int val)
G4bool LateralDisplacement() const
void SetUseICRU90Data(G4bool val)
G4bool MuHadLateralDisplacement() const
void SetOnIsolated(G4bool val)
void SetTransportationWithMsc(G4TransportationWithMscType val)
G4bool EnableSamplingTable() const
G4EmFluoDirectory FluoDirectory() const
void StreamInfo(std::ostream &os) const
G4double MscLambdaLimit() const
void SetPIXECrossSectionModel(const G4String &)
void SetIntegral(G4bool val)
G4ThreeVector GetDirectionalSplittingTarget() const
void SetUseMottCorrection(G4bool val)
void AddMicroElec(const G4String ®ion)
const std::vector< G4String > & RegionsMicroElec() const
G4double MaxEnergyFor5DMuPair() const
void SetMscPositronCorrection(G4bool v)
G4double MaxEnergyForCSDARange() const
void SetLowestMuHadEnergy(G4double val)
const std::vector< G4String > & TypesPAI() const
G4bool UseAngularGeneratorForIonisation() const
void SetMaxEnergy(G4double val)
G4double LinearLossLimit() const
G4NuclearFormfactorType NuclearFormfactorType() const
G4double LowestMuHadEnergy() const
G4double MscRangeFactor() const
G4double LambdaFactor() const
G4double FactorForAngleLimit() const
void SetSingleScatteringType(G4eSingleScatteringType val)
void SetANSTOFluoDir(G4bool val)
G4double LowestTripletEnergy() const
void SetPhotoeffectBelowKShell(G4bool v)
G4double LowestElectronEnergy() const
void SetMscRangeFactor(G4double val)
G4bool GeneralProcessActive() const
static G4NistManager * Instance()
const G4ApplicationState & GetCurrentState() const
static G4StateManager * GetStateManager()