Geant4-11
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes
G4EmExtraPhysics Class Reference

#include <G4EmExtraPhysics.hh>

Inheritance diagram for G4EmExtraPhysics:
G4VPhysicsConstructor

Public Member Functions

void ConstructParticle ()
 
void ConstructProcess ()
 
void ElectroNuclear (G4bool val)
 
 G4EmExtraPhysics (const G4String &name)
 
 G4EmExtraPhysics (G4int ver=1)
 
void GammaNuclear (G4bool val)
 
void GammaNuclearLEModelLimit (G4double val)
 
void GammaToMuMu (G4bool val)
 
void GammaToMuMuFactor (G4double val)
 
G4int GetInstanceID () const
 
const G4StringGetPhysicsName () const
 
G4int GetPhysicsType () const
 
G4int GetVerboseLevel () const
 
void LENDGammaNuclear (G4bool val)
 
void MuonNuclear (G4bool val)
 
void NeutrinoActivated (G4bool val)
 
void NuETotXscActivated (G4bool val)
 
void PositronToHadrons (G4bool val)
 
void PositronToHadronsFactor (G4double val)
 
void PositronToMuMu (G4bool val)
 
void PositronToMuMuFactor (G4double val)
 
void SetNuDetectorName (const G4String &dn)
 
void SetNuEleCcBias (G4double bf)
 
void SetNuEleNcBias (G4double bf)
 
void SetNuNucleusBias (G4double bf)
 
void SetPhysicsName (const G4String &="")
 
void SetPhysicsType (G4int)
 
void SetUseGammaNuclearXS (G4bool val)
 
void SetVerboseLevel (G4int value)
 
void Synch (G4bool val)
 
void SynchAll (G4bool val)
 
virtual void TerminateWorker ()
 
virtual ~G4EmExtraPhysics ()
 

Static Public Member Functions

static const G4VPCManagerGetSubInstanceManager ()
 

Protected Types

using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 

Protected Member Functions

void AddBuilder (G4PhysicsBuilderInterface *bld)
 
PhysicsBuilder_V GetBuilders () const
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Protected Attributes

G4int g4vpcInstanceID = 0
 
G4String namePhysics = ""
 
G4ParticleTabletheParticleTable = nullptr
 
G4int typePhysics = 0
 
G4int verboseLevel = 0
 

Static Protected Attributes

static G4RUN_DLL G4VPCManager subInstanceManager
 

Private Member Functions

void ConstructGammaElectroNuclear ()
 
void ConstructLENDGammaNuclear (G4CascadeInterface *cascade, G4HadronInelasticProcess *gnuc)
 

Private Attributes

G4bool eActivated
 
G4double fGNLowEnergyLimit
 
G4bool fNuActivated
 
G4String fNuDetectorName
 
G4double fNuEleCcBias
 
G4double fNuEleNcBias
 
G4bool fNuETotXscActivated
 
G4double fNuNucleusBias
 
G4bool fUseGammaNuclearXS
 
G4bool gLENDActivated
 
G4bool gmumuActivated
 
G4double gmumuFactor
 
G4bool gnActivated
 
G4bool munActivated
 
G4bool phadActivated
 
G4double phadFactor
 
G4bool pmumuActivated
 
G4double pmumuFactor
 
G4bool synActivated
 
G4bool synActivatedForAll
 
G4EmMessengertheMessenger
 
G4int verbose
 

Detailed Description

Definition at line 53 of file G4EmExtraPhysics.hh.

Member Typedef Documentation

◆ PhysicsBuilder_V

Definition at line 149 of file G4VPhysicsConstructor.hh.

Constructor & Destructor Documentation

◆ G4EmExtraPhysics() [1/2]

G4EmExtraPhysics::G4EmExtraPhysics ( G4int  ver = 1)

Definition at line 131 of file G4EmExtraPhysics.cc.

131 :
132 G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"),
133 gnActivated (true),
134 eActivated (true),
135 gLENDActivated(false),
136 munActivated(true),
137 synActivated(false),
138 synActivatedForAll(false),
139 gmumuActivated(false),
140 pmumuActivated(false),
141 phadActivated (false),
142 fNuActivated (false),
143 fNuETotXscActivated (false),
144 fUseGammaNuclearXS(true),
145 gmumuFactor (1.0),
146 pmumuFactor (1.0),
147 phadFactor (1.0),
148 fNuEleCcBias(1.0),
149 fNuEleNcBias(1.0),
150 fNuNucleusBias(1.0),
152 fNuDetectorName("0"),
153 verbose(ver)
154{
155 theMessenger = new G4EmMessenger(this);
157 if(verbose > 1) G4cout << "### G4EmExtraPhysics" << G4endl;
158}
@ bEmExtra
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
G4EmMessenger * theMessenger
G4VPhysicsConstructor(const G4String &="")
static constexpr double MeV

References bEmExtra, G4cout, G4endl, G4VPhysicsConstructor::SetPhysicsType(), theMessenger, and verbose.

◆ G4EmExtraPhysics() [2/2]

G4EmExtraPhysics::G4EmExtraPhysics ( const G4String name)

Definition at line 160 of file G4EmExtraPhysics.cc.

162{}
G4EmExtraPhysics(G4int ver=1)

◆ ~G4EmExtraPhysics()

G4EmExtraPhysics::~G4EmExtraPhysics ( )
virtual

Definition at line 164 of file G4EmExtraPhysics.cc.

165{
166 delete theMessenger;
167 theMessenger = nullptr;
168}

References theMessenger.

Member Function Documentation

◆ AddBuilder()

void G4VPhysicsConstructor::AddBuilder ( G4PhysicsBuilderInterface bld)
protectedinherited

Definition at line 99 of file G4VPhysicsConstructor.cc.

100{
101 (subInstanceManager.offset[g4vpcInstanceID])._builders->push_back(bld);
102}
static G4RUN_DLL G4VPCManager subInstanceManager
G4RUN_DLL G4ThreadLocalStatic T * offset

References G4VPhysicsConstructor::g4vpcInstanceID, G4VUPLSplitter< T >::offset, and G4VPhysicsConstructor::subInstanceManager.

Referenced by G4HadronPhysicsFTFP_BERT::Kaon(), G4HadronPhysicsFTF_BIC::Kaon(), G4HadronPhysicsINCLXX::Kaon(), G4HadronPhysicsFTFP_BERT::Neutron(), G4HadronPhysicsQGSP_BERT::Neutron(), G4HadronPhysicsQGSP_BIC::Neutron(), G4HadronPhysicsFTF_BIC::Neutron(), G4HadronPhysicsFTFP_BERT_HP::Neutron(), G4HadronPhysicsINCLXX::Neutron(), G4HadronPhysicsQGS_BIC::Neutron(), G4HadronPhysicsQGSP_BERT_HP::Neutron(), G4HadronPhysicsQGSP_BIC_HP::Neutron(), G4HadronPhysicsShielding::Neutron(), G4HadronPhysicsFTFP_BERT::Pion(), G4HadronPhysicsQGSP_BERT::Pion(), G4HadronPhysicsQGSP_BIC::Pion(), G4HadronPhysicsFTF_BIC::Pion(), G4HadronPhysicsINCLXX::Pion(), G4HadronPhysicsQGS_BIC::Pion(), G4HadronPhysicsFTFP_BERT::Proton(), G4HadronPhysicsQGSP_BERT::Proton(), G4HadronPhysicsQGSP_BIC::Proton(), G4HadronPhysicsFTF_BIC::Proton(), G4HadronPhysicsINCLXX::Proton(), G4HadronPhysicsNuBeam::Proton(), G4HadronPhysicsQGS_BIC::Proton(), and G4HadronPhysicsQGSP_BIC_AllHP::Proton().

◆ ConstructGammaElectroNuclear()

void G4EmExtraPhysics::ConstructGammaElectroNuclear ( )
private

Definition at line 446 of file G4EmExtraPhysics.cc.

447{
450
451 G4HadronInelasticProcess* gnuc = new G4HadronInelasticProcess( "photonNuclear", G4Gamma::Gamma() );
453 G4VCrossSectionDataSet* xs = nullptr;
455 xs = xsreg->GetCrossSectionDataSet("GammaNuclearXS");
456 if(nullptr == xs) xs = new G4GammaNuclearXS();
457 } else {
458 xs = xsreg->GetCrossSectionDataSet("PhotoNuclearXS");
459 if(nullptr == xs) xs = new G4PhotoNuclearCrossSection();
460 }
461 gnuc->AddDataSet(xs);
462
463 G4QGSModel< G4GammaParticipants >* theStringModel =
466 G4ExcitedStringDecay* theStringDecay = new G4ExcitedStringDecay(theFrag);
467 theStringModel->SetFragmentationModel(theStringDecay);
468
471
472 G4TheoFSGenerator* theModel = new G4TheoFSGenerator();
473 theModel->SetTransport(theCascade);
474 theModel->SetHighEnergyGenerator(theStringModel);
475
477
479
480 // added low-energy model LEND disabled
481 if (fGNLowEnergyLimit > 0.0) {
484 gnuc->RegisterMe(lemod);
486 }
488 gnuc->RegisterMe(cascade);
490 theModel->SetMaxEnergy(param->GetMaxEnergy());
491 gnuc->RegisterMe(theModel);
492
493 G4GammaGeneralProcess* gproc =
495 if(gproc != nullptr) {
496 gproc->AddHadProcess(gnuc);
497 } else {
498 // LEND may be activated if the general process is not activated
499 ph->RegisterProcess(gnuc, G4Gamma::Gamma());
500 if(gLENDActivated) { ConstructLENDGammaNuclear(cascade, gnuc); }
501 }
502
503 if(eActivated) {
507
508 enuc->RegisterMe(eModel);
509 pnuc->RegisterMe(eModel);
510
511 G4GammaGeneralProcess* eproc =
513 if(eproc != nullptr) {
514 eproc->AddHadProcess(enuc);
515 } else {
517 }
518
519 G4GammaGeneralProcess* pproc =
521 if(pproc != nullptr) {
522 pproc->AddHadProcess(pnuc);
523 } else {
525 }
526 }
527}
static G4CrossSectionDataSetRegistry * Instance()
static G4Electron * Electron()
Definition: G4Electron.cc:93
void ConstructLENDGammaNuclear(G4CascadeInterface *cascade, G4HadronInelasticProcess *gnuc)
void AddHadProcess(G4HadronicProcess *)
static G4Gamma * Gamma()
Definition: G4Gamma.cc:85
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
static G4HadronicParameters * Instance()
G4double GetMinEnergyTransitionFTF_Cascade() const
G4double GetMaxEnergyTransitionFTF_Cascade() const
G4double GetMaxEnergy() const
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)
static G4LossTableManager * Instance()
G4VEmProcess * GetGammaGeneralProcess()
G4VEmProcess * GetPositronGeneralProcess()
G4VEmProcess * GetElectronGeneralProcess()
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4Positron * Positron()
Definition: G4Positron.cc:93
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetFragmentationModel(G4VStringFragmentation *aModel)

References G4HadronicProcess::AddDataSet(), G4GammaGeneralProcess::AddHadProcess(), ConstructLENDGammaNuclear(), eActivated, G4Electron::Electron(), fGNLowEnergyLimit, fUseGammaNuclearXS, G4Gamma::Gamma(), G4LossTableManager::GetElectronGeneralProcess(), G4LossTableManager::GetGammaGeneralProcess(), G4HadronicParameters::GetMaxEnergy(), G4HadronicParameters::GetMaxEnergyTransitionFTF_Cascade(), G4HadronicParameters::GetMinEnergyTransitionFTF_Cascade(), G4PhysicsListHelper::GetPhysicsListHelper(), G4LossTableManager::GetPositronGeneralProcess(), gLENDActivated, G4LossTableManager::Instance(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicParameters::Instance(), CLHEP::MeV, G4Positron::Positron(), G4HadronicProcess::RegisterMe(), G4PhysicsListHelper::RegisterProcess(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), and G4TheoFSGenerator::SetTransport().

Referenced by ConstructProcess().

◆ ConstructLENDGammaNuclear()

void G4EmExtraPhysics::ConstructLENDGammaNuclear ( G4CascadeInterface cascade,
G4HadronInelasticProcess gnuc 
)
private

Definition at line 529 of file G4EmExtraPhysics.cc.

531{
532 if (std::getenv("G4LENDDATA") == nullptr ) {
533 G4String message = "\n Skipping activation of Low Energy Nuclear Data (LEND) model for gamma nuclear interactions.\n The LEND model needs data files and they are available from ftp://gdo-nuclear.ucllnl.org/GND_after2013/GND_v1.3.tar.gz.\n Please set the environment variable G4LENDDATA to point to the directory named v1.3 extracted from the archive file.\n";
534 G4Exception( "G4EmExtraPhysics::ConstructLENDGammaNuclear()"
535 , "G4LENDBertiniGammaElectroNuclearBuilder001"
536 , JustWarning , message);
537 return;
538 }
539
540 cascade->SetMinEnergy(19.9*MeV);
541 G4LENDorBERTModel* theGammaReactionLowE =
543 theGammaReactionLowE->DumpLENDTargetInfo(true);
544 G4LENDCombinedCrossSection* theGammaCrossSectionLowE =
546 theGammaReactionLowE->SetMaxEnergy(20*MeV);
547 gnuc->RegisterMe(theGammaReactionLowE);
548 gnuc->AddDataSet(theGammaCrossSectionLowE);
549}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
static constexpr double MeV
Definition: G4SIunits.hh:200
void DumpLENDTargetInfo(G4bool force=false)
Definition: G4LENDModel.cc:277

References G4HadronicProcess::AddDataSet(), G4LENDModel::DumpLENDTargetInfo(), G4Exception(), G4Gamma::Gamma(), JustWarning, MeV, G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().

Referenced by ConstructGammaElectroNuclear().

◆ ConstructParticle()

void G4EmExtraPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 284 of file G4EmExtraPhysics.cc.

285{
291
298}
static G4AntiNeutrinoE * AntiNeutrinoE()
static G4AntiNeutrinoMu * AntiNeutrinoMu()
static G4AntiNeutrinoTau * AntiNeutrinoTau()
static G4MuonMinus * MuonMinus()
Definition: G4MuonMinus.cc:99
static G4MuonPlus * MuonPlus()
Definition: G4MuonPlus.cc:98
static G4NeutrinoE * NeutrinoE()
Definition: G4NeutrinoE.cc:84
static G4NeutrinoMu * NeutrinoMu()
Definition: G4NeutrinoMu.cc:84
static G4NeutrinoTau * NeutrinoTau()

References G4AntiNeutrinoE::AntiNeutrinoE(), G4AntiNeutrinoMu::AntiNeutrinoMu(), G4AntiNeutrinoTau::AntiNeutrinoTau(), G4Electron::Electron(), G4Gamma::Gamma(), G4MuonMinus::MuonMinus(), G4MuonPlus::MuonPlus(), G4NeutrinoE::NeutrinoE(), G4NeutrinoMu::NeutrinoMu(), G4NeutrinoTau::NeutrinoTau(), and G4Positron::Positron().

◆ ConstructProcess()

void G4EmExtraPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 300 of file G4EmExtraPhysics.cc.

301{
307
310
312
313 if(munActivated) {
314 G4MuonNuclearProcess* muNucProcess = new G4MuonNuclearProcess();
315 G4MuonVDNuclearModel* muNucModel = new G4MuonVDNuclearModel();
316 muNucProcess->RegisterMe(muNucModel);
317 ph->RegisterProcess( muNucProcess, muonplus);
318 ph->RegisterProcess( muNucProcess, muonminus);
319 }
320 if(gmumuActivated) {
322 theGammaToMuMu->SetCrossSecFactor(gmumuFactor);
324 static_cast<G4GammaGeneralProcess*>(emManager->GetGammaGeneralProcess());
325 if(nullptr != sp) {
326 sp->AddMMProcess(theGammaToMuMu);
327 } else {
328 ph->RegisterProcess(theGammaToMuMu, gamma);
329 }
330 }
331 if(pmumuActivated) {
332 G4AnnihiToMuPair* thePosiToMuMu = new G4AnnihiToMuPair();
333 thePosiToMuMu->SetCrossSecFactor(pmumuFactor);
334 ph->RegisterProcess(thePosiToMuMu, positron);
335 G4AnnihiToMuPair* thePosiToTauTau = new G4AnnihiToMuPair("AnnihiToTauPair");
336 thePosiToTauTau->SetCrossSecFactor(pmumuFactor);
337 ph->RegisterProcess(thePosiToTauTau, positron);
338 }
339 if(phadActivated) {
340 G4eeToHadrons* thePosiToHadrons = new G4eeToHadrons();
341 thePosiToHadrons->SetCrossSecFactor(phadFactor);
342 ph->RegisterProcess(thePosiToHadrons, positron);
343 }
344 if(synActivated) {
346 ph->RegisterProcess( theSynchRad, electron);
347 ph->RegisterProcess( theSynchRad, positron);
349 ph->RegisterProcess( theSynchRad, muonplus);
350 ph->RegisterProcess( theSynchRad, muonminus);
351
352 ph->RegisterProcess( theSynchRad, G4Proton::Proton());
353 ph->RegisterProcess( theSynchRad, G4AntiProton::AntiProton());
354 ph->RegisterProcess( theSynchRad, G4PionPlus::PionPlus());
355 ph->RegisterProcess( theSynchRad, G4PionMinus::PionMinus());
356 ph->RegisterProcess( theSynchRad, G4GenericIon::GenericIon());
357 }
358 }
359 if( fNuActivated )
360 {
367
368 G4NeutrinoElectronProcess* theNuEleProcess =
371
373 {
375 theNuEleProcess->SetBiasingFactor(bftot);
376 }
377 else
378 {
381 }
382 theNuEleProcess->AddDataSet(theNuEleTotXsc);
383
386 theNuEleProcess->RegisterMe(ccModel);
387 theNuEleProcess->RegisterMe(ncModel);
388
389 ph->RegisterProcess(theNuEleProcess, anuelectron);
390 ph->RegisterProcess(theNuEleProcess, nuelectron);
391 ph->RegisterProcess(theNuEleProcess, anumuon);
392 ph->RegisterProcess(theNuEleProcess, numuon);
393 ph->RegisterProcess(theNuEleProcess, anutau);
394 ph->RegisterProcess(theNuEleProcess, nutau);
395
396 // nu_mu nucleus interactions
397
399 G4MuNeutrinoNucleusTotXsc* theNuMuNucleusTotXsc = new G4MuNeutrinoNucleusTotXsc();
400
402 {
403 theNuMuNucleusProcess->SetBiasingFactor(fNuNucleusBias);
404 }
405 theNuMuNucleusProcess->AddDataSet(theNuMuNucleusTotXsc);
406
407 G4NuMuNucleusCcModel* numunuclcc = new G4NuMuNucleusCcModel();
408 G4NuMuNucleusNcModel* numunuclnc = new G4NuMuNucleusNcModel();
409 G4ANuMuNucleusCcModel* anumunuclcc = new G4ANuMuNucleusCcModel();
410 G4ANuMuNucleusNcModel* anumunuclnc = new G4ANuMuNucleusNcModel();
411
412 theNuMuNucleusProcess->RegisterMe(numunuclcc);
413 theNuMuNucleusProcess->RegisterMe(numunuclnc);
414 theNuMuNucleusProcess->RegisterMe(anumunuclcc);
415 theNuMuNucleusProcess->RegisterMe(anumunuclnc);
416
417 ph->RegisterProcess(theNuMuNucleusProcess, anumuon);
418 ph->RegisterProcess(theNuMuNucleusProcess, numuon);
419
420 // nu_e nucleus interactions
421
423 G4ElNeutrinoNucleusTotXsc* theNuElNucleusTotXsc = new G4ElNeutrinoNucleusTotXsc();
424
426 {
427 theNuElNucleusProcess->SetBiasingFactor(fNuNucleusBias);
428 }
429 theNuElNucleusProcess->AddDataSet(theNuElNucleusTotXsc);
430
431 G4NuElNucleusCcModel* nuelnuclcc = new G4NuElNucleusCcModel();
432 G4NuElNucleusNcModel* nuelnuclnc = new G4NuElNucleusNcModel();
433 G4ANuElNucleusCcModel* anuelnuclcc = new G4ANuElNucleusCcModel();
434 G4ANuElNucleusNcModel* anuelnuclnc = new G4ANuElNucleusNcModel();
435
436 theNuElNucleusProcess->RegisterMe(nuelnuclcc);
437 theNuElNucleusProcess->RegisterMe(nuelnuclnc);
438 theNuElNucleusProcess->RegisterMe(anuelnuclcc);
439 theNuElNucleusProcess->RegisterMe(anuelnuclnc);
440
441 ph->RegisterProcess(theNuElNucleusProcess, anuelectron);
442 ph->RegisterProcess(theNuElNucleusProcess, nuelectron);
443 }
444}
double G4double
Definition: G4Types.hh:83
void SetCrossSecFactor(G4double fac)
static G4AntiProton * AntiProton()
Definition: G4AntiProton.cc:92
void ConstructGammaElectroNuclear()
static G4GenericIon * GenericIon()
Definition: G4GenericIon.cc:92
void SetBiasingFactors(G4double bfCc, G4double bfNc)
void SetBiasingFactors(G4double bfCc, G4double bfNc)
static G4PionMinus * PionMinus()
Definition: G4PionMinus.cc:97
static G4PionPlus * PionPlus()
Definition: G4PionPlus.cc:97
static G4Proton * Proton()
Definition: G4Proton.cc:92
void SetCrossSecFactor(G4double fac)
T max(const T t1, const T t2)
brief Return the largest of the two arguments

References G4HadronicProcess::AddDataSet(), G4AntiNeutrinoE::AntiNeutrinoE(), G4AntiNeutrinoMu::AntiNeutrinoMu(), G4AntiNeutrinoTau::AntiNeutrinoTau(), G4AntiProton::AntiProton(), ConstructGammaElectroNuclear(), G4Electron::Electron(), G4InuclParticleNames::electron, fNuActivated, fNuDetectorName, fNuEleCcBias, fNuEleNcBias, fNuETotXscActivated, fNuNucleusBias, G4Gamma::Gamma(), G4GenericIon::GenericIon(), G4LossTableManager::GetGammaGeneralProcess(), G4PhysicsListHelper::GetPhysicsListHelper(), gmumuActivated, gmumuFactor, gnActivated, G4LossTableManager::Instance(), G4INCL::Math::max(), munActivated, G4MuonMinus::MuonMinus(), G4MuonPlus::MuonPlus(), G4NeutrinoE::NeutrinoE(), G4NeutrinoMu::NeutrinoMu(), G4NeutrinoTau::NeutrinoTau(), phadActivated, phadFactor, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), pmumuActivated, pmumuFactor, G4Positron::Positron(), G4InuclParticleNames::positron, G4Proton::Proton(), G4HadronicProcess::RegisterMe(), G4PhysicsListHelper::RegisterProcess(), G4ElNeutrinoNucleusProcess::SetBiasingFactor(), G4MuNeutrinoNucleusProcess::SetBiasingFactor(), G4NeutrinoElectronProcess::SetBiasingFactor(), G4NeutrinoElectronTotXsc::SetBiasingFactors(), G4NeutrinoElectronProcess::SetBiasingFactors(), G4AnnihiToMuPair::SetCrossSecFactor(), G4eeToHadrons::SetCrossSecFactor(), G4GammaConversionToMuons::SetCrossSecFactor(), G4InuclParticleNames::sp, synActivated, and synActivatedForAll.

◆ ElectroNuclear()

void G4EmExtraPhysics::ElectroNuclear ( G4bool  val)

Definition at line 193 of file G4EmExtraPhysics.cc.

194{
195 eActivated = val;
196}

References eActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ GammaNuclear()

void G4EmExtraPhysics::GammaNuclear ( G4bool  val)

Definition at line 181 of file G4EmExtraPhysics.cc.

182{
183 gnActivated = val;
184}

References gnActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ GammaNuclearLEModelLimit()

void G4EmExtraPhysics::GammaNuclearLEModelLimit ( G4double  val)

Definition at line 265 of file G4EmExtraPhysics.cc.

266{
267 if(val <= CLHEP::MeV) {
268 fGNLowEnergyLimit = 0.0;
269
270 // lowenergy model should not be applied at high energy
271 } else if(val <= CLHEP::GeV) {
272 fGNLowEnergyLimit = val;
273 gLENDActivated = false;
274 }
275}
static constexpr double GeV

References fGNLowEnergyLimit, CLHEP::GeV, gLENDActivated, and CLHEP::MeV.

Referenced by G4EmMessenger::SetNewValue().

◆ GammaToMuMu()

void G4EmExtraPhysics::GammaToMuMu ( G4bool  val)

Definition at line 203 of file G4EmExtraPhysics.cc.

204{
205 gmumuActivated = val;
206}

References gmumuActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ GammaToMuMuFactor()

void G4EmExtraPhysics::GammaToMuMuFactor ( G4double  val)

Definition at line 218 of file G4EmExtraPhysics.cc.

219{
220 if(val > 0.0) gmumuFactor = val;
221}

References gmumuFactor.

Referenced by G4EmMessenger::SetNewValue().

◆ GetBuilders()

G4VPhysicsConstructor::PhysicsBuilder_V G4VPhysicsConstructor::GetBuilders ( ) const
protectedinherited

Definition at line 86 of file G4VPhysicsConstructor.cc.

87{
88 const auto& tls = *((subInstanceManager.offset[g4vpcInstanceID])._builders);
89 PhysicsBuilder_V copy(tls.size());
90 G4int i = 0;
91 for(const auto& el : tls)
92 {
93 copy[i++] = el;
94 }
95 return copy;
96}
int G4int
Definition: G4Types.hh:85
G4VPCData::PhysicsBuilders_V PhysicsBuilder_V
void copy(G4double dst[], const G4double src[], size_t size=G4FieldTrack::ncompSVEC)
Definition: G4FieldUtils.cc:98

References field_utils::copy(), G4VPhysicsConstructor::g4vpcInstanceID, G4VUPLSplitter< T >::offset, and G4VPhysicsConstructor::subInstanceManager.

◆ GetInstanceID()

G4int G4VPhysicsConstructor::GetInstanceID ( ) const
inlineinherited

◆ GetParticleIterator()

G4ParticleTable::G4PTblDicIterator * G4VPhysicsConstructor::GetParticleIterator ( ) const
protectedinherited

◆ GetPhysicsName()

const G4String & G4VPhysicsConstructor::GetPhysicsName ( ) const
inlineinherited

Definition at line 191 of file G4VPhysicsConstructor.hh.

192{
193 return namePhysics;
194}

References G4VPhysicsConstructor::namePhysics.

Referenced by G4EmDNAPhysics_option1::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics_option3::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option5::ConstructProcess(), G4EmDNAPhysics_option6::ConstructProcess(), G4EmDNAPhysics_option7::ConstructProcess(), G4EmDNAPhysics_option8::ConstructProcess(), G4EmDNAPhysics_stationary_option2::ConstructProcess(), G4EmDNAPhysics_stationary_option4::ConstructProcess(), G4EmDNAPhysics_stationary_option6::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_stationary::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysicsSS::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4ThermalNeutrons::ConstructProcess(), G4HadronPhysicsFTFP_BERT::DumpBanner(), G4HadronPhysicsQGSP_BERT::DumpBanner(), export_G4VPhysicsConstructor(), G4HadronDElasticPhysics::G4HadronDElasticPhysics(), G4HadronElasticPhysics::G4HadronElasticPhysics(), G4HadronElasticPhysicsHP::G4HadronElasticPhysicsHP(), G4HadronElasticPhysicsLEND::G4HadronElasticPhysicsLEND(), G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(), G4HadronElasticPhysicsXS::G4HadronElasticPhysicsXS(), G4HadronHElasticPhysics::G4HadronHElasticPhysics(), G4IonElasticPhysics::G4IonElasticPhysics(), G4VModularPhysicsList::RegisterPhysics(), and G4VModularPhysicsList::ReplacePhysics().

◆ GetPhysicsType()

G4int G4VPhysicsConstructor::GetPhysicsType ( ) const
inlineinherited

◆ GetSubInstanceManager()

const G4VPCManager & G4VPhysicsConstructor::GetSubInstanceManager ( )
inlinestaticinherited

◆ GetVerboseLevel()

G4int G4VPhysicsConstructor::GetVerboseLevel ( ) const
inlineinherited

◆ LENDGammaNuclear()

void G4EmExtraPhysics::LENDGammaNuclear ( G4bool  val)

Definition at line 186 of file G4EmExtraPhysics.cc.

187{
188 gLENDActivated = val;
189 // LEND cannot be used with low-energy model
190 if(val) { fGNLowEnergyLimit = 0.0; }
191}

References fGNLowEnergyLimit, and gLENDActivated.

Referenced by G4EmMessenger::SetNewValue(), and Shielding::Shielding().

◆ MuonNuclear()

void G4EmExtraPhysics::MuonNuclear ( G4bool  val)

Definition at line 198 of file G4EmExtraPhysics.cc.

199{
200 munActivated = val;
201}

References munActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ NeutrinoActivated()

void G4EmExtraPhysics::NeutrinoActivated ( G4bool  val)

Definition at line 235 of file G4EmExtraPhysics.cc.

236{
237 fNuActivated = val;
238}

References fNuActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ NuETotXscActivated()

void G4EmExtraPhysics::NuETotXscActivated ( G4bool  val)

Definition at line 240 of file G4EmExtraPhysics.cc.

241{
243}

References fNuETotXscActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ PositronToHadrons()

void G4EmExtraPhysics::PositronToHadrons ( G4bool  val)

Definition at line 213 of file G4EmExtraPhysics.cc.

214{
215 phadActivated = val;
216}

References phadActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ PositronToHadronsFactor()

void G4EmExtraPhysics::PositronToHadronsFactor ( G4double  val)

Definition at line 228 of file G4EmExtraPhysics.cc.

229{
230 if(val > 0.0) phadFactor = val;
231}

References phadFactor.

Referenced by G4EmMessenger::SetNewValue().

◆ PositronToMuMu()

void G4EmExtraPhysics::PositronToMuMu ( G4bool  val)

Definition at line 208 of file G4EmExtraPhysics.cc.

209{
210 pmumuActivated = val;
211}

References pmumuActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ PositronToMuMuFactor()

void G4EmExtraPhysics::PositronToMuMuFactor ( G4double  val)

Definition at line 223 of file G4EmExtraPhysics.cc.

224{
225 if(val > 0.0) pmumuFactor = val;
226}

References pmumuFactor.

Referenced by G4EmMessenger::SetNewValue().

◆ RegisterProcess()

G4bool G4VPhysicsConstructor::RegisterProcess ( G4VProcess process,
G4ParticleDefinition particle 
)
inlineprotectedinherited

◆ SetNuDetectorName()

void G4EmExtraPhysics::SetNuDetectorName ( const G4String dn)

Definition at line 277 of file G4EmExtraPhysics.cc.

278{
279 fNuDetectorName = dn;
280}

References fNuDetectorName.

Referenced by G4EmMessenger::SetNewValue().

◆ SetNuEleCcBias()

void G4EmExtraPhysics::SetNuEleCcBias ( G4double  bf)

Definition at line 250 of file G4EmExtraPhysics.cc.

251{
252 if(bf > 0.0) fNuEleCcBias = bf;
253}

References fNuEleCcBias.

Referenced by G4EmMessenger::SetNewValue().

◆ SetNuEleNcBias()

void G4EmExtraPhysics::SetNuEleNcBias ( G4double  bf)

Definition at line 255 of file G4EmExtraPhysics.cc.

256{
257 if(bf > 0.0) fNuEleNcBias = bf;
258}

References fNuEleNcBias.

Referenced by G4EmMessenger::SetNewValue().

◆ SetNuNucleusBias()

void G4EmExtraPhysics::SetNuNucleusBias ( G4double  bf)

Definition at line 260 of file G4EmExtraPhysics.cc.

261{
262 if(bf > 0.0) fNuNucleusBias = bf;
263}

References fNuNucleusBias.

Referenced by G4EmMessenger::SetNewValue().

◆ SetPhysicsName()

void G4VPhysicsConstructor::SetPhysicsName ( const G4String name = "")
inlineinherited

Definition at line 186 of file G4VPhysicsConstructor.hh.

187{
189}
const char * name(G4int ptype)

References G4InuclParticleNames::name(), and G4VPhysicsConstructor::namePhysics.

Referenced by export_G4VPhysicsConstructor().

◆ SetPhysicsType()

void G4VPhysicsConstructor::SetPhysicsType ( G4int  val)
inlineinherited

Definition at line 196 of file G4VPhysicsConstructor.hh.

197{
198 if(val > 0) { typePhysics = val; }
199}

References G4VPhysicsConstructor::typePhysics.

Referenced by G4DecayPhysics::G4DecayPhysics(), G4EmDNAPhysics::G4EmDNAPhysics(), G4EmDNAPhysics_option1::G4EmDNAPhysics_option1(), G4EmDNAPhysics_option2::G4EmDNAPhysics_option2(), G4EmDNAPhysics_option3::G4EmDNAPhysics_option3(), G4EmDNAPhysics_option4::G4EmDNAPhysics_option4(), G4EmDNAPhysics_option5::G4EmDNAPhysics_option5(), G4EmDNAPhysics_option6::G4EmDNAPhysics_option6(), G4EmDNAPhysics_option7::G4EmDNAPhysics_option7(), G4EmDNAPhysics_option8::G4EmDNAPhysics_option8(), G4EmDNAPhysics_stationary_option2::G4EmDNAPhysics_stationary_option2(), G4EmDNAPhysics_stationary_option4::G4EmDNAPhysics_stationary_option4(), G4EmDNAPhysics_stationary_option6::G4EmDNAPhysics_stationary_option6(), G4EmExtraPhysics(), G4EmLivermorePhysics::G4EmLivermorePhysics(), G4EmLowEPPhysics::G4EmLowEPPhysics(), G4EmPenelopePhysics::G4EmPenelopePhysics(), G4EmStandardPhysics::G4EmStandardPhysics(), G4EmStandardPhysics_option1::G4EmStandardPhysics_option1(), G4EmStandardPhysics_option2::G4EmStandardPhysics_option2(), G4EmStandardPhysics_option3::G4EmStandardPhysics_option3(), G4EmStandardPhysics_option4::G4EmStandardPhysics_option4(), G4EmStandardPhysicsGS::G4EmStandardPhysicsGS(), G4EmStandardPhysicsSS::G4EmStandardPhysicsSS(), G4EmStandardPhysicsWVI::G4EmStandardPhysicsWVI(), G4HadronElasticPhysics::G4HadronElasticPhysics(), G4HadronInelasticQBBC::G4HadronInelasticQBBC(), G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(), G4HadronPhysicsQGSP_BERT::G4HadronPhysicsQGSP_BERT(), G4HadronPhysicsQGSP_BIC::G4HadronPhysicsQGSP_BIC(), G4IonINCLXXPhysics::G4IonINCLXXPhysics(), G4IonPhysics::G4IonPhysics(), G4IonPhysicsPHP::G4IonPhysicsPHP(), G4IonQMDPhysics::G4IonQMDPhysics(), G4NeutronTrackingCut::G4NeutronTrackingCut(), G4StepLimiterPhysics::G4StepLimiterPhysics(), G4StoppingPhysics::G4StoppingPhysics(), and G4StoppingPhysicsFritiofWithBinaryCascade::G4StoppingPhysicsFritiofWithBinaryCascade().

◆ SetUseGammaNuclearXS()

void G4EmExtraPhysics::SetUseGammaNuclearXS ( G4bool  val)

Definition at line 245 of file G4EmExtraPhysics.cc.

246{
247 fUseGammaNuclearXS = val;
248}

References fUseGammaNuclearXS.

Referenced by G4EmMessenger::SetNewValue().

◆ SetVerboseLevel()

void G4VPhysicsConstructor::SetVerboseLevel ( G4int  value)
inlineinherited

◆ Synch()

void G4EmExtraPhysics::Synch ( G4bool  val)

Definition at line 170 of file G4EmExtraPhysics.cc.

171{
172 synActivated = val;
173}

References synActivated.

Referenced by G4EmMessenger::SetNewValue().

◆ SynchAll()

void G4EmExtraPhysics::SynchAll ( G4bool  val)

Definition at line 175 of file G4EmExtraPhysics.cc.

176{
177 synActivatedForAll = val;
178 if(synActivatedForAll) { synActivated = true; }
179}

References synActivated, and synActivatedForAll.

Referenced by G4EmMessenger::SetNewValue().

◆ TerminateWorker()

void G4VPhysicsConstructor::TerminateWorker ( )
virtualinherited

Definition at line 105 of file G4VPhysicsConstructor.cc.

106{
107 if(subInstanceManager.offset[g4vpcInstanceID]._builders != nullptr)
108 {
109 std::for_each(subInstanceManager.offset[g4vpcInstanceID]._builders->begin(),
110 subInstanceManager.offset[g4vpcInstanceID]._builders->end(),
111 [](PhysicsBuilder_V::value_type bld) { delete bld; });
112 subInstanceManager.offset[g4vpcInstanceID]._builders->clear();
113 }
114}

References G4VPhysicsConstructor::g4vpcInstanceID, G4VUPLSplitter< T >::offset, and G4VPhysicsConstructor::subInstanceManager.

Referenced by G4VPhysicsConstructor::~G4VPhysicsConstructor().

Field Documentation

◆ eActivated

G4bool G4EmExtraPhysics::eActivated
private

Definition at line 97 of file G4EmExtraPhysics.hh.

Referenced by ConstructGammaElectroNuclear(), and ElectroNuclear().

◆ fGNLowEnergyLimit

G4double G4EmExtraPhysics::fGNLowEnergyLimit
private

◆ fNuActivated

G4bool G4EmExtraPhysics::fNuActivated
private

Definition at line 105 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and NeutrinoActivated().

◆ fNuDetectorName

G4String G4EmExtraPhysics::fNuDetectorName
private

Definition at line 117 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and SetNuDetectorName().

◆ fNuEleCcBias

G4double G4EmExtraPhysics::fNuEleCcBias
private

Definition at line 112 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and SetNuEleCcBias().

◆ fNuEleNcBias

G4double G4EmExtraPhysics::fNuEleNcBias
private

Definition at line 113 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and SetNuEleNcBias().

◆ fNuETotXscActivated

G4bool G4EmExtraPhysics::fNuETotXscActivated
private

Definition at line 106 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and NuETotXscActivated().

◆ fNuNucleusBias

G4double G4EmExtraPhysics::fNuNucleusBias
private

Definition at line 114 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and SetNuNucleusBias().

◆ fUseGammaNuclearXS

G4bool G4EmExtraPhysics::fUseGammaNuclearXS
private

Definition at line 107 of file G4EmExtraPhysics.hh.

Referenced by ConstructGammaElectroNuclear(), and SetUseGammaNuclearXS().

◆ g4vpcInstanceID

G4int G4VPhysicsConstructor::g4vpcInstanceID = 0
protectedinherited

◆ gLENDActivated

G4bool G4EmExtraPhysics::gLENDActivated
private

◆ gmumuActivated

G4bool G4EmExtraPhysics::gmumuActivated
private

Definition at line 102 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and GammaToMuMu().

◆ gmumuFactor

G4double G4EmExtraPhysics::gmumuFactor
private

Definition at line 109 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and GammaToMuMuFactor().

◆ gnActivated

G4bool G4EmExtraPhysics::gnActivated
private

Definition at line 96 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and GammaNuclear().

◆ munActivated

G4bool G4EmExtraPhysics::munActivated
private

Definition at line 99 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and MuonNuclear().

◆ namePhysics

G4String G4VPhysicsConstructor::namePhysics = ""
protectedinherited

◆ phadActivated

G4bool G4EmExtraPhysics::phadActivated
private

Definition at line 104 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and PositronToHadrons().

◆ phadFactor

G4double G4EmExtraPhysics::phadFactor
private

Definition at line 111 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and PositronToHadronsFactor().

◆ pmumuActivated

G4bool G4EmExtraPhysics::pmumuActivated
private

Definition at line 103 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and PositronToMuMu().

◆ pmumuFactor

G4double G4EmExtraPhysics::pmumuFactor
private

Definition at line 110 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and PositronToMuMuFactor().

◆ subInstanceManager

G4VPCManager G4VPhysicsConstructor::subInstanceManager
staticprotectedinherited

◆ synActivated

G4bool G4EmExtraPhysics::synActivated
private

Definition at line 100 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), Synch(), and SynchAll().

◆ synActivatedForAll

G4bool G4EmExtraPhysics::synActivatedForAll
private

Definition at line 101 of file G4EmExtraPhysics.hh.

Referenced by ConstructProcess(), and SynchAll().

◆ theMessenger

G4EmMessenger* G4EmExtraPhysics::theMessenger
private

Definition at line 119 of file G4EmExtraPhysics.hh.

Referenced by G4EmExtraPhysics(), and ~G4EmExtraPhysics().

◆ theParticleTable

G4ParticleTable* G4VPhysicsConstructor::theParticleTable = nullptr
protectedinherited

◆ typePhysics

G4int G4VPhysicsConstructor::typePhysics = 0
protectedinherited

◆ verbose

G4int G4EmExtraPhysics::verbose
private

Definition at line 120 of file G4EmExtraPhysics.hh.

Referenced by G4EmExtraPhysics().

◆ verboseLevel

G4int G4VPhysicsConstructor::verboseLevel = 0
protectedinherited

The documentation for this class was generated from the following files: