celeritas-project / celeritas

Celeritas is a new Monte Carlo transport code designed to accelerate scientific discovery in high energy physics by improving detector simulation throughput and energy efficiency using GPUs.
https://celeritas-project.github.io/celeritas/user/index.html
Other
62 stars 32 forks source link

Add physics process management #28

Closed sethrj closed 3 years ago

sethrj commented 4 years ago

Background

Geant4 implements three methods to apply a process: at-rest (decay/annihilation), along-step (continuous), and post-step (discrete) "GPIL (Get Physical Interaction Length)" and "DoIt".

It seems like a number of "continuous" processes (e.g. cerenkov, synchrotron) are implemented as discrete processes. (x-ray/optical photon physics are not competing with the (Geant4) standard EM physics processes for a given step, but rather treated as additional processes top on the standard EM physics. For example, cerenkov/scintillation processes can be added to the ionization process if the high energy charged particle passes through a scintillation material.)

Requirements

The process interface should:

whokion commented 3 years ago

Proposals: 1) Geant4-like process management for each EM physics process registered in a physics list:

The second approach will select a physics process for governing a given step, evaluate the proposed step length and call associated DoIt (Interactor) with the selected model within the single generic process for a given particle type.

sethrj commented 3 years ago

Per today's discussion:

sethrj commented 3 years ago

The major pieces of this are in place. The glue code will be prototyped in #54 .