|
Celeritas 0.7.0-dev.178+develop.ae92d08fb
|
Construction options for Geant physics. More...
#include <GeantPhysicsOptions.hh>
Public Types | |
| using | MevEnergy = Quantity< units::Mev, double > |
Static Public Member Functions | |
| static GeantPhysicsOptions | deactivated () |
| Initialize with no physics. | |
Public Attributes | |
| GeantMuonPhysicsOptions | muon {GeantMuonPhysicsOptions::deactivated()} |
| Muon EM physics. | |
| bool | verbose {false} |
| Print detailed Geant4 output. | |
| GeantOpticalPhysicsOptions | optical |
| Optical physics options. | |
Gamma physics | |
| bool | compton_scattering {true} |
| Enable Compton scattering. | |
| bool | photoelectric {true} |
| Enable the photoelectric effect. | |
| bool | rayleigh_scattering {true} |
| Enable Rayleigh scattering. | |
| bool | gamma_conversion {true} |
| Enable electron pair production. | |
| bool | gamma_general {false} |
| Use G4GammaGeneral instead of individual gamma processes. | |
Electron and positron physics | |
| bool | coulomb_scattering {false} |
| Enable discrete Coulomb. | |
| bool | ionization {true} |
| Enable e- and e+ ionization. | |
| bool | annihilation {true} |
| Enable positron annihilation. | |
| BremsModelSelection | brems {BremsModelSelection::all} |
| Enable bremsstrahlung and select a model. | |
| MevEnergy | seltzer_berger_limit {1e3} |
| Upper limit for the Seltzer-Berger bremsstrahlung model. | |
| MscModelSelection | msc {MscModelSelection::urban} |
| Enable multiple coulomb scattering and select a model. | |
| RelaxationSelection | relaxation {RelaxationSelection::none} |
| Enable atomic relaxation and select a model. | |
Physics options | |
| int | em_bins_per_decade {7} |
| Number of log-spaced bins per factor of 10 in energy. | |
| bool | eloss_fluctuation {true} |
| Enable universal energy fluctuations. | |
| bool | lpm {true} |
| Apply relativistic corrections for select models. | |
| bool | integral_approach {true} |
See PhysicsParamsOptions::disable_integral_xs. | |
Cutoff options | |
| MevEnergy | min_energy {0.1 * 1e-3} |
| Lowest energy of any EM physics process. | |
| MevEnergy | max_energy {100 * 1e6} |
| Highest energy of any EM physics process. | |
| double | linear_loss_limit {0.01} |
See PhysicsParamsOptions::linear_loss_limit. | |
| MevEnergy | lowest_electron_energy {0.001} |
| Tracking cutoff kinetic energy for e-/e+. | |
| MevEnergy | lowest_muhad_energy {0.001} |
| Tracking cutoff kinetic energy for muons/hadrons. | |
| bool | apply_cuts {false} |
| Kill secondaries below the production cut. | |
| double | default_cutoff {0.1 * units::centimeter} |
| Set the default production cut for all particle types [len]. | |
Multiple scattering configuration | |
| double | msc_range_factor {0.04} |
| e-/e+ range factor for MSC models | |
| double | msc_muhad_range_factor {0.2} |
| Muon/hadron range factor for MSC models. | |
| double | msc_safety_factor {0.6} |
| Safety factor for MSC models. | |
| double | msc_lambda_limit {0.1 * units::centimeter} |
| Lambda limit for MSC models [len]. | |
| double | msc_theta_limit {constants::pi} |
| Polar angle limit between single and multiple Coulomb scattering. | |
| double | angle_limit_factor {1} |
| Factor for dynamic computation of angular limit between SS and MSC. | |
| bool | msc_displaced {true} |
| Whether lateral displacement is enabled for e-/e+ MSC. | |
| bool | msc_muhad_displaced {false} |
| Whether lateral displacement is enabled for muon/hadron MSC. | |
| MscStepLimitAlgorithm | msc_step_algorithm {MscStepLimitAlgorithm::safety} |
| Step limit algorithm for e-/e+ MSC models. | |
| MscStepLimitAlgorithm | msc_muhad_step_algorithm |
| Step limit algorithm for muon/hadron MSC models. | |
| NuclearFormFactorType | form_factor {NuclearFormFactorType::exponential} |
| Nuclear form factor model for Coulomm scattering. | |
Construction options for Geant physics.
These options attempt to default to our closest match to G4StandardEmPhysics. They are passed to the EmPhysicsList and FtfpBert physics lists to provide an easy way to set up physics options.
This will be moved to celeritas::inp
Rename default_cutoff to be consistent (it's a production cut)
| MscModelSelection celeritas::GeantPhysicsOptions::msc {MscModelSelection::urban} |
Enable multiple coulomb scattering and select a model.
Electron/positron MSC requires ionization
| MscStepLimitAlgorithm celeritas::GeantPhysicsOptions::msc_muhad_step_algorithm |
Step limit algorithm for muon/hadron MSC models.
| GeantOpticalPhysicsOptions celeritas::GeantPhysicsOptions::optical |
Optical physics options.