Repository navigation
Enable Woodcock tracking in nested regions - #724
Open
SeverinDiederichs wants to merge 2 commits into
Open
SeverinDiederichs wants to merge 2 commits into
SeverinDiederichs wants to merge 2 commits into
Conversation
Map inherited regions to their governing WDT envelopes, preserve local material-cut couples, and share region resolution between admission and containment. Share packed root spans and validate CPU/GPU envelope consistency. Add focused helper/geometry coverage and a nested-region equivalence test under the existing advanced validation routing. Preserve failed-test artifacts and document nested-region support. Provide a valid WDT envelope in the upstream split step-start kill fixture. Validation before rebase: eight exact mono/split drift comparisons, 28 focused unit checks, both nested equivalence comparisons, and clang-format 19. Paired resolver timings found no resolved slowdown on the nested fixture. Post-rebase validation: all 28 split step-start kill cases and the WDT helper test pass against current master.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Following G4HepEm, this PR enables Woodcock tracking in nested regions, i.e., if Region A has a subregion B, both can now use Woodcock tracking, whereby the subregion B still uses the envelope volume of region A.
Note that now it is possible that a track is classified for Woodcock tracking, but then the envelope volume is not found (same as in G4HepEm), if the subregion B has parts that are outside of region A. This is a corner case that should not appear in any reasonable setup, but should be covered. In that case, the track is moved back to the normal queue at the beginning of the WDT kernel. For this, some code was moved into helpers, such that it is less code duplication.
In the construction it is checked that WDT regions are either pure CPU or pure GPU, nested regions where parts are on CPU and other parts on GPU are rejected as the boundary crossing from CPU to GPU would be ignored.
This PR gives bitwise identical results, it only enables a new feature. Multiple unit tests are added.
Note: this PR can only be tested and reviewed after G4HepEm is tagged again (expected very soon), and the LCG view that is used in the CI is updated.