BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
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.
 
G4bool UsingIons () const
 

Private Types

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

Private Member Functions

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

Private Attributes

G4String temporaryName
 Temporary string used to pass name to constructor functions.
 
std::map< std::string, ConstructorphysicsConstructors
 A map of physics list names to their constructors.
 
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.
 
std::map< G4String, G4String > aliasToOriginal
 Map of possible aliases for a given physics list.
 
G4OpticalPhysics * opticalPhysics
 
std::vector< G4VPhysicsConstructor * > constructors
 
BDSGlobalConstantsglobals
 Keep a local reference to global constants to avoid getting it all the time.
 
G4bool emWillBeUsed
 Flag as to whether em will be used - avoids duplicate processes being registered.
 
G4bool usingIons
 Flag telling whether ions are being used either in physics list or in beam particle.
 
G4bool particlesConstructed
 
G4bool constructedAllLeptons
 Cached flag to avoid repeated construction.
 
G4bool constructedAllShortLived
 Cached flag to avoid repeated construction.
 
G4bool constructedAllMesons
 Cached flag to avoid repeated construction.
 
G4bool constructedAllBaryons
 Cached flag to avoid repeated construction.
 
G4bool constructedAllIons
 Cached flag to avoid repeated construction.
 

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 116 of file BDSModularPhysicsList.hh.

Constructor & Destructor Documentation

◆ BDSModularPhysicsList()

BDSModularPhysicsList::BDSModularPhysicsList ( const G4String &  physicsList)
explicit

Definition at line 179 of file BDSModularPhysicsList.cc.

◆ ~BDSModularPhysicsList()

BDSModularPhysicsList::~BDSModularPhysicsList ( )
virtual

Definition at line 379 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 560 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 569 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Channelling()

void BDSModularPhysicsList::Channelling ( )
private

Physics constructor loader.

Definition at line 1261 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ ChargeExchange()

void BDSModularPhysicsList::ChargeExchange ( )
private

Physics constructor loader.

Definition at line 578 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 541 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 588 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 512 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 506 of file BDSModularPhysicsList.cc.

References ConfigureOptical().

Here is the call graph for this function:

◆ ConstructAllBaryons()

void BDSModularPhysicsList::ConstructAllBaryons ( )
private

Construct baryons.

Definition at line 488 of file BDSModularPhysicsList.cc.

References constructedAllBaryons.

Referenced by AllParticles(), DecayMuonicAtom(), 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 496 of file BDSModularPhysicsList.cc.

References constructedAllIons, and 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 464 of file BDSModularPhysicsList.cc.

References constructedAllLeptons.

Referenced by AllParticles(), DecayMuonicAtom(), Em(), Em1(), Em2(), Em3(), Em4(), EmExtra(), EmGS(), EmLivermore(), EmLivermorePolarised(), EmLowEP(), EmPenelope(), EmSS(), EmWVI(), FTFBIC(), 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 480 of file BDSModularPhysicsList.cc.

References constructedAllMesons.

Referenced by AllParticles(), DecayMuonicAtom(), 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 472 of file BDSModularPhysicsList.cc.

References constructedAllShortLived.

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 382 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 391 of file BDSModularPhysicsList.cc.

◆ CutsAndLimits()

void BDSModularPhysicsList::CutsAndLimits ( )
private

Physics constructor loader.

Definition at line 600 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 609 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DecayMuonicAtom()

void BDSModularPhysicsList::DecayMuonicAtom ( )
private

Physics constructor loader.

Definition at line 1219 of file BDSModularPhysicsList.cc.

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

Here is the call graph for this function:

◆ DecayRadioactive()

void BDSModularPhysicsList::DecayRadioactive ( )
private

Physics constructor loader.

Definition at line 618 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DecaySpin()

void BDSModularPhysicsList::DecaySpin ( )
private

Physics constructor loader.

Definition at line 1190 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ DNA()

void BDSModularPhysicsList::DNA ( )
private

Physics constructor loader.

Definition at line 1236 of file BDSModularPhysicsList.cc.

References physicsActivated, and temporaryName.

◆ DNAChemistry()

void BDSModularPhysicsList::DNAChemistry ( )
private

Physics constructor loader.

Definition at line 1169 of file BDSModularPhysicsList.cc.

References physicsActivated, and temporaryName.

◆ Em()

void BDSModularPhysicsList::Em ( )
private

Physics constructor loader.

Definition at line 627 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 743 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 753 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 763 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 773 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 1159 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 683 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 693 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 703 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 713 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 723 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 733 of file BDSModularPhysicsList.cc.

References ConstructAllLeptons(), and physicsActivated.

Here is the call graph for this function:

◆ FTFBIC()

void BDSModularPhysicsList::FTFBIC ( )
private

Physics constructor loader.

Definition at line 805 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 783 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 794 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 815 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ HadronicElastic()

void BDSModularPhysicsList::HadronicElastic ( )
private

Physics constructor loader.

Definition at line 824 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 834 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 844 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 854 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 864 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 875 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 885 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 900 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 917 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 933 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 948 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 962 of file BDSModularPhysicsList.cc.

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

Here is the call graph for this function:

◆ Ionisation()

void BDSModularPhysicsList::Ionisation ( )
private

Physics constructor loader.

Definition at line 978 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ IonPHP()

void BDSModularPhysicsList::IonPHP ( )
private

Physics constructor loader.

Definition at line 1201 of file BDSModularPhysicsList.cc.

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

Here is the call graph for this function:

◆ LaserComptonScattering()

void BDSModularPhysicsList::LaserComptonScattering ( )
private

Physics constructor loader.

Definition at line 1005 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ LaserCumulativeCompton()

void BDSModularPhysicsList::LaserCumulativeCompton ( )
private

Physics constructor loader.

Definition at line 1023 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ LaserCumulativePhotoDetachment()

void BDSModularPhysicsList::LaserCumulativePhotoDetachment ( )
private

Physics constructor loader.

Definition at line 1014 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ LaserIonExcitation()

void BDSModularPhysicsList::LaserIonExcitation ( )
private

Physics constructor loader.

Definition at line 1032 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ LaserPhotoDetachment()

void BDSModularPhysicsList::LaserPhotoDetachment ( )
private

Physics constructor loader.

Definition at line 996 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ LaserWire()

void BDSModularPhysicsList::LaserWire ( )
private

Physics constructor loader.

Definition at line 987 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Muon()

void BDSModularPhysicsList::Muon ( )
private

Physics constructor loader.

Definition at line 1041 of file BDSModularPhysicsList.cc.

References emWillBeUsed, and physicsActivated.

◆ MuonInelastic()

void BDSModularPhysicsList::MuonInelastic ( )
private

Physics constructor loader.

Definition at line 1050 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ NeutronTrackingCut()

void BDSModularPhysicsList::NeutronTrackingCut ( )
private

Physics constructor loader.

Definition at line 1059 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 1075 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 406 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 397 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ QGSPBERT()

void BDSModularPhysicsList::QGSPBERT ( )
private

Physics constructor loader.

Definition at line 1085 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 1095 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 1105 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 1115 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 1273 of file BDSModularPhysicsList.cc.

References physicsActivated.

◆ Shielding()

void BDSModularPhysicsList::Shielding ( )
private

Physics constructor loader.

Definition at line 1125 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 1282 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 1137 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 1148 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.

◆ XrayReflection()

void BDSModularPhysicsList::XrayReflection ( )
private

Physics constructor loader.

Definition at line 1294 of file BDSModularPhysicsList.cc.

References BDSGlobalConstants::Instance(), and physicsActivated.

Here is the call graph for this function:

Field Documentation

◆ aliasToOriginal

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

Map of possible aliases for a given physics list.

Definition at line 137 of file BDSModularPhysicsList.hh.

Referenced by ParsePhysicsList().

◆ constructedAllBaryons

G4bool BDSModularPhysicsList::constructedAllBaryons
private

Cached flag to avoid repeated construction.

Definition at line 96 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllBaryons().

◆ constructedAllIons

G4bool BDSModularPhysicsList::constructedAllIons
private

Cached flag to avoid repeated construction.

Definition at line 97 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllIons().

◆ constructedAllLeptons

G4bool BDSModularPhysicsList::constructedAllLeptons
private

Cached flag to avoid repeated construction.

Definition at line 93 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllLeptons().

◆ constructedAllMesons

G4bool BDSModularPhysicsList::constructedAllMesons
private

Cached flag to avoid repeated construction.

Definition at line 95 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllMesons().

◆ constructedAllShortLived

G4bool BDSModularPhysicsList::constructedAllShortLived
private

Cached flag to avoid repeated construction.

Definition at line 94 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllShortLived().

◆ constructors

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

Definition at line 140 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 146 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 143 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 134 of file BDSModularPhysicsList.hh.

Referenced by CheckIncompatiblePhysics().

◆ opticalPhysics

G4OpticalPhysics* BDSModularPhysicsList::opticalPhysics
private

Definition at line 139 of file BDSModularPhysicsList.hh.

◆ particlesConstructed

G4bool BDSModularPhysicsList::particlesConstructed
private

Definition at line 151 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 122 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 126 of file BDSModularPhysicsList.hh.

Referenced by ParsePhysicsList().

◆ temporaryName

G4String BDSModularPhysicsList::temporaryName
private

Temporary string used to pass name to constructor functions.

Definition at line 119 of file BDSModularPhysicsList.hh.

Referenced by DNA(), DNAChemistry(), 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 149 of file BDSModularPhysicsList.hh.

Referenced by ConstructAllIons().


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