Offload optical photons from Geant4 to optical track#2135
Offload optical photons from Geant4 to optical track#2135Rashika-Gupta wants to merge 29 commits intoceleritas-project:developfrom
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #2135 +/- ##
===========================================
- Coverage 83.68% 83.45% -0.24%
===========================================
Files 1257 1260 +3
Lines 42470 42588 +118
Branches 13287 13330 +43
===========================================
- Hits 35542 35541 -1
- Misses 4597 4704 +107
- Partials 2331 2343 +12
🚀 New features to boost your workflow:
|
Test summary 5 831 files 9 354 suites 7m 40s ⏱️ Results for commit 7498929. ♻️ This comment has been updated with latest results. |
* Fix vecgeom 2 CUDA build failure due to IWYU in nav state/tuple * Add hudson vg2 profiles * Fix vecgeom failures by initializing navstatetuple on device * Fix build with navpath * CudaManager is only valid when CUDA
a9f5b71 to
d8f1b58
Compare
sethrj
left a comment
There was a problem hiding this comment.
Nice! Just a couple of comments. Swing by my office if you have any questions.
| "cacheVariables": { | ||
| "CELERITAS_VecGeom_SURFACE": {"type": "BOOL", "value": "OFF"} | ||
| } | ||
| }, |
There was a problem hiding this comment.
I think this may have been unintentional?
| { | ||
| return std::make_unique<LSOOTrackingAction>(); | ||
| } | ||
| }; |
There was a problem hiding this comment.
Can you also override EndOfRunAction (see LarSphereOptical::EndOfRunAction in TrackingManagerIntegration) to check that optical tracks were run?
amandalund
left a comment
There was a problem hiding this comment.
Looks like there are still a couple TODOs before this is actually offloading tracks. :)
| CELER_EXPECT(g4track.GetDefinition()->GetParticleName() == "opticalphoton"); | ||
|
|
||
| // TODO : Populate optical::TrackInitializer from Geant4 Track | ||
| TrackData init; |
There was a problem hiding this comment.
Still need to populate the track initializer here.
|
|
||
| // TODO insert buffered track into | ||
| // optical CoreState and execute optical transport. | ||
| // state_->insert_primaries(make_span(buffer_)); |
There was a problem hiding this comment.
And still need to offload the buffered tracks here.
|
@Rashika-Gupta I think something went terribly wrong with your rebase. Monday morning let's go through your git history and try to figure out what happened and fix it. In the meantime, I'm force-pushing what I think was intended based on the branch history. If this was my fault for telling you to |
This PR introduces optical track offloading from Geant4 to Celeritas #2103
LocalOpticalOffloadis renamed toLocalOpticalGenOffloadto distinguish generator-based optical offloading from track-based offloading.TrackOffloadInterfacegeneralizes the tracking manager to support both EM and optical track offload implementations.LocalOpticalTrackOffloadclasses provide a dedicated pathway for buffering and transporting (in the follow up PR) optical photon tracks.