You are here

Physics list

Physics list selection

Physics

Geant4 VMC does not provide any default physics list. User have to choose the physics list from the physics lists provided in Geant4 (see the Geant4 web pages on Hadronic physics lists and Electromagnetic physics builders ) or include their own physics list. The choice of the physics list is done via the option specified with creating TG4RunConfiguration object. This option is passed as the second argument in TG4RunConfiguration constructor (see examples for more details).

This option can be defined as:

 
"<g4-physics-list>[_<EM-option>][+extra][+optical][+radDecay]" 
where
  • "<g4-physics-list>" - is a name of a Geant4 physics list; eg. FTFP_BERT, QGSP, ...
    It is also possible to select "emStandard" which builds only G4EmStandardPhysics() and G4DecayPhysics()
  • "<_EM-option>" - is the EM physics option ("none, _EMV, _EMX, _EMY, _LIV, _PEN")
  • "+extra" - adds G4ExtraPhysics (in development version only)
  • "+optical" - adds G4OpticalPhysics (in development version) or TG4OpticalPhysics (in version <= 2.12)
  • "+radDecay" - adds G4RadioactiveDecayPhysics (in development version only)

Examples:

"FTFP_BERT_EMV+optical" 
"QGSP_BIC_EMY+radDecay" 

The "<g4-physics-list>_<_EM-option>" must represent a valid Geant4 physics list (except for "emStandard"). Since Geant4 9.5 it is possible to combine all EM options with all physics lists.

Special processes

In order to activate the support of VMC features like the VMC cuts, VMC process controls, user has to activate the special processes defined in TG4SpecialPhysicsList. The selection of special processes is passed as third argument in TG4RunConfiguration constructor (see examples for more details):

"[stepLimiter][+specialCuts][+specialControls][+stackPopper]" 
where
  • "stepLimiter" - step limiter (default)
  • "specialCuts" - VMC cuts
  • "specialControls" - VMC controls for activation/inactivation selected processes
  • "stackPopper" - stack popper physics
Example:
"stepLimit+specialCuts" 
"stepLimit+specialCuts+stackPopper" 

 

Composed physics list

According to the user selection, Geant4 VMC creates a TG4ComposedPhysicsList object which is a composition of a selected Geant4 physics list (or a user physics list), the extra physics list ( TG4ExtraPhysicsList - in development version only) and the TG4SpecialPhysicsList object. The inclusion of the extra physics list is optional. The composed physics list processes the Geant4 (or user) physics list in the first order, then adds the extra physics processes (if selected) and finally the special processes, registered in TG4SpecialPhysicsList, are added in the last order.

In the development version (svn trunk), the user physics selection is added to the TGeant4 object title so that it can be retrievable in a user application.

Inspecting particles and physics processes

The instantiated particles and physics processes can be the viewed with the following Geant4 and Geant4 VMC commands.

To list all particles and processes:

/particle/list 
/process/list 
/mcPhysics/dumpAllProcess 

To inspect a selected particle:

/particle/select particleName 
/particle/process/dump 
/particle/property/dump 
/particle/property/decay/dump 

To print the mapping of G4 processes to VMC process codes and VMC (G3-like) process controls:

/mcPhysics/printProcessMCMap 
/mcPhysics/printProcessControlMap 

Electromagnetic physics

Users can tailor the extra physics processes provided by Geant4 via the commands defined in the /physics_lists/em/ command directory and switch on the muon or gamma nuclear interaction, synchrotron radiation, gamma or positron conversion to muon pair or positron conversion to hadrons processes, which are not which are not included by default:

/physics_lists/em/SyncRadiation true|false
/physics_lists/em/SyncRadiationAll true|false
/physics_lists/em/GammaNuclear true|false 
/physics_lists/em/MuonNuclear true|false 
/physics_lists/em/GammaToMuons true|false 
/physics_lists/em/PositronToMuons true|false 
/physics_lists/em/PositronToHadrons true|false 

Users can also customize the parameters of the electromagnetic physics processes using the commands in the following directories (use interactive help to get more information):

/process/eLoss/ 
/process/msc/ 
/process/em/ 

Since Geant4 VMC version 2.10, it is also possible to choose an extra model of energy loss, fluctuations or multiple scattering for selected tracking media and selected particles. This can be done via the following built-in commands:

/mcPhysics/emModel/setEmModel PAI 
/mcPhysics/emModel/setRegions trackingMedium1 [trackingMedium2 ...] 
/mcPhysics/emModel/setParticles all 
The "setRegions" and "setParticles" commands must be followed by the list of tracking media names and particle names respectively, separated with a blank space. The "setParticles" command can also take as a parameter the keyword "all". The model will be then applied to all particles.

At present, the following models are supported: PAI and PAIPhoton models which are applied to ionisation process, and SpecialUrbanMsc, a special model tuned for ALICE EMCAL detector, which is applied to e- and e+ multiple scattering processes.

Hadronic physics

User can activate a generation of the cross sections plots for a given projectile particle and a target element via the following commands:
/mcCrossSection/makeHistograms [true|false] 
/mcCrossSection/setParticle proton 
/mcCrossSection/setElement Al
The default energy or momentum limits and the number of bins can be customised via the commands:
/mcCrossSection/setMinKinE 1 MeV 
/mcCrossSection/setMaxKinE 1 TeV 
/mcCrossSection/setMinMomentum 10 MeV 
/mcCrossSection/setMaxMomentum 10 TeV 
/mcCrossSection/setNofBinsE 900 
/mcCrossSection/setNofBinsP 800
It is also possible to print the cross section value for a selected energy or a momentum for a selected cross section type (or all types) via the following commands:
/mcCrossSection/setParticle anti_proton 
/mcCrossSection/setElement H 
/mcCrossSection/setMomentum 0.3 GeV 
/mcCrossSection/printCrossSection All 

How to apply Geant4 commands in a Root user session is explained at the section on User Interfaces.