Physics¶
-
struct Physics
Set up physics options.
- Todo:
Move optical and hadronic physics options from
celeritas::GeantPhysicsOptions
Move particle data from
celeritas::ImportParticle
Add function for injecting user processes for
celeritas::PhysicsParams
Public Members
-
std::optional<EmPhysics> em = {std::in_place}
Enable electromagnetic physics.
-
std::optional<OpticalPhysics> optical
Enable optical photon physics.
-
std::optional<HadronicPhysics> hadronic
Enable hadronic physics.
-
std::optional<DecayPhysics> decay
Enable decay physics.
-
struct EmPhysics
Electromagnetic physics processes and options.
Energy loss and slowing down
-
bool eloss_spline = {false}
Use cubic spline interpolation for energy loss.
Public Members
-
std::optional<BremsProcess> brems = {std::in_place}
Bremsstrahlung process.
-
std::optional<PairProductionProcess> pair_production = {std::in_place}
Electron+positron pair production process.
-
bool eloss_spline = {false}
-
struct OpticalPhysics
Optical physics processes and options.
-
struct HadronicPhysics
Hadronic physics processes and options.
This can be used to enable or set up Geant4 hadronic physics.
Processes¶
-
struct BremsProcess
Construct a physics process for bremsstrahlung.
Public Members
-
bool combined_model = {false}
Use a unified relativistic/SB interactor.
-
bool integral_xs = {true}
Use integral method for sampling discrete interaction length.
-
bool combined_model = {false}
Models¶
-
struct SeltzerBergerModel
Seltzer-Berger bremsstrahlung model.
- Todo:
Move
sb_data
from celeritas::ImportData here.
-
struct RelBremsModel
Relativistic bremsstrahlung model.
Public Members
-
bool enable_lpm = {true}
Account for LPM effect at very high energies.
-
bool enable_lpm = {true}
-
struct MuBremsModel
Muon bremsstrahlung model.