BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Types | Private Member Functions | Private Attributes
BDSModularPhysicsList Class Reference

Modular physics list based on Geant4 constructors. More...

#include <BDSModularPhysicsList.hh>

Inheritance diagram for BDSModularPhysicsList:
Inheritance graph
Collaboration diagram for BDSModularPhysicsList:
Collaboration graph

Public Member Functions

 BDSModularPhysicsList (const G4String &physicsList)
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
void Print ()
 Print out which physics lists are activated. More...
 
G4bool UsingIons () const
 

Private Types

typedef void(BDSModularPhysicsList::* Constructor) ()
 Typedef for function pointers to simplify syntax. More...
 

Private Member Functions

void ConstructAllLeptons ()
 
void ConstructAllShortLived ()
 Construct resonances and quarks - sometimes required explicitly. More...
 
void ConstructAllMesons ()
 Construct mesons. More...
 
void ConstructAllBaryons ()
 Construct baryons. More...
 
void ConstructAllIons ()
 Construct ions. More...
 
void ParsePhysicsList (const G4String &physListName)
 Interpret the string of physics lists given from the user through the parser. More...
 
void ConfigurePhysics ()
 
void ConfigureOptical ()
 
void CheckIncompatiblePhysics (const G4String &singlePhysicsIn) const
 
void AllParticles ()
 
void AnnihiToMuMu ()
 Physics constructor loader. More...
 
void ChargeExchange ()
 Physics constructor loader. More...
 
void Cherenkov ()
 Physics constructor loader. More...
 
void CutsAndLimits ()
 Physics constructor loader. More...
 
void Decay ()
 Physics constructor loader. More...
 
void DecayRadioactive ()
 Physics constructor loader. More...
 
void Em ()
 Physics constructor loader. More...
 
void EmExtra ()
 Physics constructor loader. More...
 
void EmLivermore ()
 Physics constructor loader. More...
 
void EmLivermorePolarised ()
 Physics constructor loader. More...
 
void EmLowEP ()
 Physics constructor loader. More...
 
void EmPenelope ()
 Physics constructor loader. More...
 
void EmSS ()
 Physics constructor loader. More...
 
void EmWVI ()
 Physics constructor loader. More...
 
void Em1 ()
 Physics constructor loader. More...
 
void Em2 ()
 Physics constructor loader. More...
 
void Em3 ()
 Physics constructor loader. More...
 
void Em4 ()
 Physics constructor loader. More...
 
void FTFPBERT ()
 Physics constructor loader. More...
 
void FTFPBERTHP ()
 Physics constructor loader. More...
 
void GammaToMuMu ()
 Physics constructor loader. More...
 
void HadronicElastic ()
 Physics constructor loader. More...
 
void HadronicElasticD ()
 Physics constructor loader. More...
 
void HadronicElasticH ()
 Physics constructor loader. More...
 
void HadronicElasticHP ()
 Physics constructor loader. More...
 
void HadronicElasticLEND ()
 Physics constructor loader. More...
 
void HadronicElasticXS ()
 Physics constructor loader. More...
 
void Ion ()
 Physics constructor loader. More...
 
void IonBinary ()
 Physics constructor loader. More...
 
void IonElastic ()
 Physics constructor loader. More...
 
void IonElasticQMD ()
 Physics constructor loader. More...
 
void IonEMDissociation ()
 Physics constructor loader. More...
 
void IonINCLXX ()
 Physics constructor loader. More...
 
void LaserWire ()
 Physics constructor loader. More...
 
void Muon ()
 Physics constructor loader. More...
 
void NeutronTrackingCut ()
 Physics constructor loader. More...
 
void Optical ()
 Physics constructor loader. More...
 
void QGSPBERT ()
 Physics constructor loader. More...
 
void QGSPBERTHP ()
 Physics constructor loader. More...
 
void QGSPBIC ()
 Physics constructor loader. More...
 
void QGSPBICHP ()
 Physics constructor loader. More...
 
void Shielding ()
 Physics constructor loader. More...
 
void Stopping ()
 Physics constructor loader. More...
 
void SynchRad ()
 Physics constructor loader. More...
 
void EmGS ()
 Physics constructor loader. More...
 
void DecaySpin ()
 Physics constructor loader. More...
 
void IonPHP ()
 Physics constructor loader. More...
 
void DecayMuonicAtom ()
 Physics constructor loader. More...
 
void Channelling ()
 Physics constructor loader. More...
 
void DNA ()
 Physics constructor loader. More...
 
void Radioactivation ()
 Physics constructor loader. More...
 
void ShieldingLEND ()
 Physics constructor loader. More...
 

Private Attributes

G4String temporaryName
 Temporary string used to pass name to constructor functions. More...
 
std::map< std::string, ConstructorphysicsConstructors
 A map of physics list names to their constructors. More...
 
std::vector< G4String > physicsLists
 
std::map< G4String, G4bool > physicsActivated
 
std::map< G4String, std::vector< G4String > > incompatible
 Map of incompatible physics lists by our name for each individual list. More...
 
std::map< G4String, G4String > aliasToOriginal
 Map of possible aliases for a given physics list. More...
 
G4OpticalPhysics * opticalPhysics
 
std::vector< G4VPhysicsConstructor * > constructors
 
BDSGlobalConstantsglobals
 Keep a local reference to global constants to avoid getting it all the time. More...
 
G4bool emWillBeUsed
 Flag as to whether em will be used - avoids duplicate processes being registered. More...
 
G4bool usingIons
 Flag telling whether ions are being used either in physics list or in beam particle. More...
 

Detailed Description

Modular physics list based on Geant4 constructors.

Dynamically construct phyiscs process constructors based on key words in parser physics list option. Being modular, these can be built up and added to individually to give the required set of physics processes. Note: the transportation process is constructed by default with classes that derive from G4VModularPhysicsList.

Note, Geant4 will call the ConstructParticle method before ConstructProcess, so we're guaranteed that decay physics for example will apply to all particles.

Author
L. Deacon, S. Boogert & L. Nevay

Definition at line 54 of file BDSModularPhysicsList.hh.

Member Typedef Documentation

◆ Constructor

typedef void(BDSModularPhysicsList::* BDSModularPhysicsList::Constructor) ()
private

Typedef for function pointers to simplify syntax.

Definition at line 108 of file BDSModularPhysicsList.hh.

Constructor & Destructor Documentation

◆ BDSModularPhysicsList()

BDSModularPhysicsList::BDSModularPhysicsList ( const G4String &  physicsList)
explicit

Definition at line 155 of file BDSModularPhysicsList.cc.

◆ ~BDSModularPhysicsList()

BDSModularPhysicsList::~BDSModularPhysicsList ( )
virtual

Definition at line 315 of file BDSModularPhysicsList.cc.

Member Function Documentation

◆ AllParticles()

void BDSModularPhysicsList::AllParticles ( )
private

Unique physics constructor that doesn't add physics processes but only forces the immediate construction of all particles. See implementation for constructors called.

Definition at line 478 of file BDSModularPhysicsList.cc.

References ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), and ConstructAllShortLived().

Referenced by Shielding().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnihiToMuMu()

void BDSModularPhysicsList::AnnihiToMuMu ( )
private

Physics constructor loader.

Definition at line 487 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Channelling()

void BDSModularPhysicsList::Channelling ( )
private

Physics constructor loader.

Definition at line 1089 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ ChargeExchange()

void BDSModularPhysicsList::ChargeExchange ( )
private

Physics constructor loader.

Definition at line 496 of file BDSModularPhysicsList.cc.

References ConstructAllIons(), and physicsActivated.

Here is the call graph for this function:

◆ CheckIncompatiblePhysics()

void BDSModularPhysicsList::CheckIncompatiblePhysics ( const G4String &  singlePhysicsIn) const
private

Check whether the supplied physics name conflicts with any already activated and print out a warning and exit if so.

Definition at line 459 of file BDSModularPhysicsList.cc.

References incompatible, and physicsActivated.

Referenced by ParsePhysicsList().

Here is the caller graph for this function:

◆ Cherenkov()

void BDSModularPhysicsList::Cherenkov ( )
private

Physics constructor loader.

Definition at line 506 of file BDSModularPhysicsList.cc.

References Em(), BDSGlobalConstants::Instance(), and physicsActivated.

Here is the call graph for this function:

◆ ConfigureOptical()

void BDSModularPhysicsList::ConfigureOptical ( )
private

Delegate function for the specific optical physics processes controllable from the parser.

< Scintillation process index

< Absorption process index

< Rayleigh scattering process index

< Mie scattering process index

< Boundary process index

< Wave Length Shifting process index

Definition at line 430 of file BDSModularPhysicsList.cc.

References globals.

Referenced by ConfigurePhysics().

Here is the caller graph for this function:

◆ ConfigurePhysics()

void BDSModularPhysicsList::ConfigurePhysics ( )
private

Set particular options for various physics lists from the parser. This is currently only done for the optical physics list.

Definition at line 424 of file BDSModularPhysicsList.cc.

References ConfigureOptical().

Here is the call graph for this function:

◆ ConstructAllBaryons()

void BDSModularPhysicsList::ConstructAllBaryons ( )
private

Construct baryons.

Definition at line 412 of file BDSModularPhysicsList.cc.

Referenced by AllParticles(), EmExtra(), Ion(), IonBinary(), IonElastic(), IonElasticQMD(), IonEMDissociation(), IonINCLXX(), and IonPHP().

Here is the caller graph for this function:

◆ ConstructAllIons()

void BDSModularPhysicsList::ConstructAllIons ( )
private

Construct ions.

Definition at line 417 of file BDSModularPhysicsList.cc.

References usingIons.

Referenced by AllParticles(), ChargeExchange(), DecayMuonicAtom(), EmExtra(), Ion(), IonBinary(), IonElastic(), IonElasticQMD(), IonEMDissociation(), IonINCLXX(), IonPHP(), and Stopping().

Here is the caller graph for this function:

◆ ConstructAllLeptons()

void BDSModularPhysicsList::ConstructAllLeptons ( )
private

Neutrinos are not constructed by default in many (most) physics lists yet this results in crashes when they're produced but not defined by physics processes, so purposively define for ones where it's a problem.

Definition at line 397 of file BDSModularPhysicsList.cc.

Referenced by AllParticles(), DecayMuonicAtom(), Em(), Em1(), Em2(), Em3(), Em4(), EmExtra(), EmGS(), EmLivermore(), EmLivermorePolarised(), EmLowEP(), EmPenelope(), EmSS(), EmWVI(), FTFPBERT(), FTFPBERTHP(), HadronicElastic(), HadronicElasticD(), HadronicElasticH(), HadronicElasticHP(), HadronicElasticLEND(), HadronicElasticXS(), Ion(), IonBinary(), IonElastic(), IonElasticQMD(), IonEMDissociation(), IonINCLXX(), IonPHP(), QGSPBERT(), QGSPBERTHP(), QGSPBIC(), QGSPBICHP(), and SynchRad().

Here is the caller graph for this function:

◆ ConstructAllMesons()

void BDSModularPhysicsList::ConstructAllMesons ( )
private

Construct mesons.

Definition at line 407 of file BDSModularPhysicsList.cc.

Referenced by AllParticles(), EmExtra(), Ion(), IonBinary(), IonElastic(), IonElasticQMD(), IonEMDissociation(), IonINCLXX(), and IonPHP().

Here is the caller graph for this function:

◆ ConstructAllShortLived()

void BDSModularPhysicsList::ConstructAllShortLived ( )
private

Construct resonances and quarks - sometimes required explicitly.

Definition at line 402 of file BDSModularPhysicsList.cc.

Referenced by AllParticles(), EmExtra(), Ion(), IonBinary(), IonElastic(), IonElasticQMD(), IonEMDissociation(), IonINCLXX(), IonPHP(), and Stopping().

Here is the caller graph for this function:

◆ ConstructParticle()

void BDSModularPhysicsList::ConstructParticle ( )
virtual

Call base class method to construct all particles from constructors, but also set the particle definition and rigidity in globals.

Definition at line 318 of file BDSModularPhysicsList.cc.

References BDS::ConstructMinimumParticleSet().

Here is the call graph for this function:

◆ ConstructProcess()

void BDSModularPhysicsList::ConstructProcess ( )
virtual

Call base class method to construct all processes from constructors, but also set cuts and print physics table.

Definition at line 324 of file BDSModularPhysicsList.cc.

◆ CutsAndLimits()

void BDSModularPhysicsList::CutsAndLimits ( )
private

Physics constructor loader.

Definition at line 518 of file BDSModularPhysicsList.cc.

References BDSGlobalConstants::Instance(), and physicsActivated.

Referenced by ParsePhysicsList().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Decay()

void BDSModularPhysicsList::Decay ( )
private

Physics constructor loader.

Definition at line 527 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DecayMuonicAtom()

void BDSModularPhysicsList::DecayMuonicAtom ( )
private

Physics constructor loader.

Definition at line 1045 of file BDSModularPhysicsList.cc.

References ConstructAllIons(), ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ DecayRadioactive()

void BDSModularPhysicsList::DecayRadioactive ( )
private

Physics constructor loader.

Definition at line 536 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DecaySpin()

void BDSModularPhysicsList::DecaySpin ( )
private

Physics constructor loader.

Definition at line 1016 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DNA()

void BDSModularPhysicsList::DNA ( )
private

Physics constructor loader.

Definition at line 1060 of file BDSModularPhysicsList.cc.

References physicsActivated, BDS::StrContains(), and temporaryName.

Here is the call graph for this function:

◆ Em()

void BDSModularPhysicsList::Em ( )
private

Physics constructor loader.

Definition at line 545 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Referenced by Cherenkov().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Em1()

void BDSModularPhysicsList::Em1 ( )
private

Physics constructor loader.

Definition at line 661 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ Em2()

void BDSModularPhysicsList::Em2 ( )
private

Physics constructor loader.

Definition at line 671 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ Em3()

void BDSModularPhysicsList::Em3 ( )
private

Physics constructor loader.

Definition at line 681 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ Em4()

void BDSModularPhysicsList::Em4 ( )
private

Physics constructor loader.

Definition at line 691 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmExtra()

void BDSModularPhysicsList::EmExtra ( )
private

◆ EmGS()

void BDSModularPhysicsList::EmGS ( )
private

Physics constructor loader.

Definition at line 1004 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmLivermore()

void BDSModularPhysicsList::EmLivermore ( )
private

Physics constructor loader.

Definition at line 601 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmLivermorePolarised()

void BDSModularPhysicsList::EmLivermorePolarised ( )
private

Physics constructor loader.

Definition at line 611 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmLowEP()

void BDSModularPhysicsList::EmLowEP ( )
private

Physics constructor loader.

Definition at line 621 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmPenelope()

void BDSModularPhysicsList::EmPenelope ( )
private

Physics constructor loader.

Definition at line 631 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmSS()

void BDSModularPhysicsList::EmSS ( )
private

Physics constructor loader.

Definition at line 641 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ EmWVI()

void BDSModularPhysicsList::EmWVI ( )
private

Physics constructor loader.

Definition at line 651 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ FTFPBERT()

void BDSModularPhysicsList::FTFPBERT ( )
private

Physics constructor loader.

Definition at line 701 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), HadronicElastic(), and physicsActivated.

Here is the call graph for this function:

◆ FTFPBERTHP()

void BDSModularPhysicsList::FTFPBERTHP ( )
private

Physics constructor loader.

Definition at line 712 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), HadronicElastic(), and physicsActivated.

Here is the call graph for this function:

◆ GammaToMuMu()

void BDSModularPhysicsList::GammaToMuMu ( )
private

Physics constructor loader.

Definition at line 723 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ HadronicElastic()

void BDSModularPhysicsList::HadronicElastic ( )
private

Physics constructor loader.

Definition at line 732 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Referenced by FTFPBERT(), and FTFPBERTHP().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HadronicElasticD()

void BDSModularPhysicsList::HadronicElasticD ( )
private

Physics constructor loader.

Definition at line 742 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ HadronicElasticH()

void BDSModularPhysicsList::HadronicElasticH ( )
private

Physics constructor loader.

Definition at line 752 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ HadronicElasticHP()

void BDSModularPhysicsList::HadronicElasticHP ( )
private

Physics constructor loader.

Definition at line 762 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ HadronicElasticLEND()

void BDSModularPhysicsList::HadronicElasticLEND ( )
private

Physics constructor loader.

Definition at line 772 of file BDSModularPhysicsList.cc.

References BDS::CheckLowEnergyNeutronDataExists(), ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ HadronicElasticXS()

void BDSModularPhysicsList::HadronicElasticXS ( )
private

Physics constructor loader.

Definition at line 783 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ Ion()

void BDSModularPhysicsList::Ion ( )
private

Physics constructor loader.

Definition at line 793 of file BDSModularPhysicsList.cc.

References ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonBinary()

void BDSModularPhysicsList::IonBinary ( )
private

Physics constructor loader.

Definition at line 808 of file BDSModularPhysicsList.cc.

References BDS::CheckHighPrecisionDataExists(), ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonElastic()

void BDSModularPhysicsList::IonElastic ( )
private

Physics constructor loader.

Definition at line 825 of file BDSModularPhysicsList.cc.

References ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonElasticQMD()

void BDSModularPhysicsList::IonElasticQMD ( )
private

Physics constructor loader.

Definition at line 841 of file BDSModularPhysicsList.cc.

References ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonEMDissociation()

void BDSModularPhysicsList::IonEMDissociation ( )
private

Physics constructor loader.

Definition at line 856 of file BDSModularPhysicsList.cc.

References ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonINCLXX()

void BDSModularPhysicsList::IonINCLXX ( )
private

Physics constructor loader.

Definition at line 870 of file BDSModularPhysicsList.cc.

References BDS::CheckHighPrecisionDataExists(), ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ IonPHP()

void BDSModularPhysicsList::IonPHP ( )
private

Physics constructor loader.

Definition at line 1027 of file BDSModularPhysicsList.cc.

References BDS::CheckHighPrecisionDataExists(), ConstructAllBaryons(), ConstructAllIons(), ConstructAllLeptons(), ConstructAllMesons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ LaserWire()

void BDSModularPhysicsList::LaserWire ( )
private

Physics constructor loader.

Definition at line 886 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Muon()

void BDSModularPhysicsList::Muon ( )
private

Physics constructor loader.

Definition at line 895 of file BDSModularPhysicsList.cc.

References emWillBeUsed, and physicsActivated.

◆ NeutronTrackingCut()

void BDSModularPhysicsList::NeutronTrackingCut ( )
private

Physics constructor loader.

Definition at line 904 of file BDSModularPhysicsList.cc.

References BDSGlobalConstants::Instance(), and physicsActivated.

Here is the call graph for this function:

◆ Optical()

void BDSModularPhysicsList::Optical ( )
private

Physics constructor loader.

Definition at line 920 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ ParsePhysicsList()

void BDSModularPhysicsList::ParsePhysicsList ( const G4String &  physListName)
private

Interpret the string of physics lists given from the user through the parser.

Definition at line 339 of file BDSModularPhysicsList.cc.

References aliasToOriginal, CheckIncompatiblePhysics(), CutsAndLimits(), emWillBeUsed, BDS::LowerCase(), physicsConstructors, physicsLists, and temporaryName.

Here is the call graph for this function:

◆ Print()

void BDSModularPhysicsList::Print ( )

Print out which physics lists are activated.

Definition at line 330 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ QGSPBERT()

void BDSModularPhysicsList::QGSPBERT ( )
private

Physics constructor loader.

Definition at line 930 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ QGSPBERTHP()

void BDSModularPhysicsList::QGSPBERTHP ( )
private

Physics constructor loader.

Definition at line 940 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ QGSPBIC()

void BDSModularPhysicsList::QGSPBIC ( )
private

Physics constructor loader.

Definition at line 950 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ QGSPBICHP()

void BDSModularPhysicsList::QGSPBICHP ( )
private

Physics constructor loader.

Definition at line 960 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ Radioactivation()

void BDSModularPhysicsList::Radioactivation ( )
private

Physics constructor loader.

Definition at line 1101 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Shielding()

void BDSModularPhysicsList::Shielding ( )
private

Physics constructor loader.

Definition at line 970 of file BDSModularPhysicsList.cc.

References AllParticles(), and physicsActivated.

Here is the call graph for this function:

◆ ShieldingLEND()

void BDSModularPhysicsList::ShieldingLEND ( )
private

Physics constructor loader.

Definition at line 1110 of file BDSModularPhysicsList.cc.

References BDS::CheckLowEnergyNeutronDataExists(), and physicsActivated.

Here is the call graph for this function:

◆ Stopping()

void BDSModularPhysicsList::Stopping ( )
private

Physics constructor loader.

Definition at line 982 of file BDSModularPhysicsList.cc.

References ConstructAllIons(), ConstructAllShortLived(), and physicsActivated.

Here is the call graph for this function:

◆ SynchRad()

void BDSModularPhysicsList::SynchRad ( )
private

Physics constructor loader.

Definition at line 993 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ UsingIons()

G4bool BDSModularPhysicsList::UsingIons ( ) const
inline

Definition at line 72 of file BDSModularPhysicsList.hh.

Field Documentation

◆ aliasToOriginal

std::map<G4String, G4String> BDSModularPhysicsList::aliasToOriginal
private

Map of possible aliases for a given physics list.

Definition at line 129 of file BDSModularPhysicsList.hh.

Referenced by ParsePhysicsList().

◆ constructors

std::vector<G4VPhysicsConstructor*> BDSModularPhysicsList::constructors
private

Definition at line 132 of file BDSModularPhysicsList.hh.

◆ emWillBeUsed

G4bool BDSModularPhysicsList::emWillBeUsed
private

Flag as to whether em will be used - avoids duplicate processes being registered.

Definition at line 138 of file BDSModularPhysicsList.hh.

Referenced by Muon(), and ParsePhysicsList().

◆ globals

BDSGlobalConstants* BDSModularPhysicsList::globals
private

Keep a local reference to global constants to avoid getting it all the time.

Definition at line 135 of file BDSModularPhysicsList.hh.

Referenced by ConfigureOptical().

◆ incompatible

std::map<G4String, std::vector<G4String> > BDSModularPhysicsList::incompatible
private

Map of incompatible physics lists by our name for each individual list.

Definition at line 126 of file BDSModularPhysicsList.hh.

Referenced by CheckIncompatiblePhysics().

◆ opticalPhysics

G4OpticalPhysics* BDSModularPhysicsList::opticalPhysics
private

Definition at line 131 of file BDSModularPhysicsList.hh.

◆ physicsActivated

std::map<G4String, G4bool> BDSModularPhysicsList::physicsActivated
private

◆ physicsConstructors

std::map<std::string, Constructor> BDSModularPhysicsList::physicsConstructors
private

A map of physics list names to their constructors.

Definition at line 114 of file BDSModularPhysicsList.hh.

Referenced by ParsePhysicsList().

◆ physicsLists

std::vector<G4String> BDSModularPhysicsList::physicsLists
private

A vector of all the physics list names for searching. This is constructed from the above map physicsConstructors.

Definition at line 118 of file BDSModularPhysicsList.hh.

Referenced by ParsePhysicsList().

◆ temporaryName

G4String BDSModularPhysicsList::temporaryName
private

Temporary string used to pass name to constructor functions.

Definition at line 111 of file BDSModularPhysicsList.hh.

Referenced by DNA(), and ParsePhysicsList().

◆ usingIons

G4bool BDSModularPhysicsList::usingIons
mutableprivate

Flag telling whether ions are being used either in physics list or in beam particle.

Definition at line 141 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllIons().


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