-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor physics to have a single combined energy loss/range "process" #253
Comments
It's been a while since we had our discussion, but what I recall is that the only per-process "value grid" we should be storing is cross section; and we should have one "range table" and one "energy loss table" in the |
This is related to the discussion @amandalund, @whokion, @paulromano and I had last week. As we start implementing MSC, we should consider refactoring the Physics/Process with these considerations:
|
Sketching out some ideas:
New XsParamsData:
XsView maybe to create XS calculators?
Ideally the processes could create de/dx tables which we'd then sum into a single energy loss term and then integrate to create range: but for now just take an extra little class that builds eloss/range values for each particle type?
|
Maybe we should allow processes to provide energy loss tables? In practice both energy loss and cross sections are derived from the cutoff values. So we should really also be providing the material- and particle-dependent cutoffs as input to the cross section calculation routines. 🤔 And I think we can at this point calculate the range tables ourselves since it's pretty simple (see The data we export from Geant4 has (apparently?) already combined all energy loss processes into the "ionization" energy loss table, but we should ideally be able to do the same ourselves. |
In Geant4, the dE/dx table is created by summing the contribution from each process that provides energy loss for a given particle. The range table is then calculated from this total energy loss. Our current implementation assumes per-process dE/dx and range tables, though what we are actually importing is a combination of process and total dE/dx and range.
The text was updated successfully, but these errors were encountered: