-
Notifications
You must be signed in to change notification settings - Fork 44
Use a single generator action and distribution buffer for Cherenkov and scintillation #2034
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
Use a single generator action and distribution buffer for Cherenkov and scintillation #2034
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #2034 +/- ##
========================================
Coverage 86.96% 86.97%
========================================
Files 1690 1690
Lines 76082 76077 -5
Branches 4198 4198
========================================
- Hits 66166 66165 -1
+ Misses 8393 8390 -3
+ Partials 1523 1522 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Test summary 4 953 files 7 896 suites 16m 34s ⏱️ Results for commit 6f9b289. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although this simplifies the built-in use case, it removes the generalization that would allow us to add primaries or other customizable distributions (e.g. uniform isotropic with gaussian energy). How soon do we need those cases? Is the plan to build them into new branches, or to add a new generalization, or to just duplicate+modify the generator code?
|
We do support optical primary generation with (eventually, since they're currently hardcoded) customizable distributions since #1858. The |
There isn't any need to have separate distribution buffers and generator actions for scintillation and Cherenkov photon generation. This adds a
GeneratorTypefield to the distribution struct and removes the templating onGeneratorTypefrom the action. We still have separate offload actions for the two processes, but those will now write to the same buffer and the generation will be done in a single kernel launch. This should simplify the integration with Geant4 a bit.