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/
Other
64 stars 35 forks source link

Refactor primaries as `aux` data #1393

Closed sethrj closed 2 months ago

sethrj commented 2 months ago

Almost none of the stepping loop has to access the primaries, and right now the storage and usage of them is split across the CoreState and the ExtendFromPrimariesAction (EFPA). This PR refactors the primary storage, removing it from the main state and adding it as "aux" data to the EFPA. It's expected that the higher-level code (whether optical transport or core transport) determines whether primaries are to be used as the source of track initializers: for example, we could use a generalized source description to generate track initializers on device.

This completes the first part of #1390.

sethrj commented 2 months ago

@amandalund This is finally all fixed and working!

amandalund commented 2 months ago

Sorry for the delay! Looking at this today.

sethrj commented 2 months ago

No worries!