Skip to content

[geom] Resolve MANY overlaps below ONLY nodes - #23204

Merged
dpiparo merged 2 commits into
root-project:masterfrom
agheata:geom-fix-many-overlap-navigation
Sep 1, 2026
Merged

[geom] Resolve MANY overlaps below ONLY nodes#23204
dpiparo merged 2 commits into
root-project:masterfrom
agheata:geom-fix-many-overlap-navigation

Conversation

@agheata

@agheata agheata commented Aug 31, 2026

Copy link
Copy Markdown
Member

This Pull request:

Changes or fixes:

TGeoNavigator loses the overlap context of a MANY placement after
descending into one of its ONLY daughters. As a result, point location can
give an overlapping ONLY sibling priority while boundary finding skips that
sibling and crosses the wrong material.

Check the MANY ancestor's declared overlap candidates from both
FindNextBoundary() and FindNextBoundaryAndStep(), including when the current
node is an ONLY descendant. Add a focused regression test covering both APIs.

The corrected navigation changes reference values in BRAHMS, STAR, BABAR2,
and ATLAS. Their stressGeometry reference versions are increased, and the new
files have been uploaded to /eos/root-eos/testfiles/. The local reference
generation readback path is also corrected.

Checklist:

  • tested changes locally
  • updated the docs (not necessary, no public API or user-facing workflow changed)

This PR fixes #23192

AI-assisted coding disclosure

OpenAI Codex assisted with the investigation, implementation, and testing of
this change. I have reviewed and understand the submitted changes.

Point location gives ONLY siblings priority over MANY placements, but
boundary finding loses the MANY branch after descending into an ONLY
daughter. This makes the two navigation paths disagree about the
material crossed by a track.

Preserve the branch's overlap candidates in both boundary APIs and add
a regression test. Bump the stress references whose old values encoded
the incorrect navigation, and make locally generated references readable
in the same invocation.

Fixes root-project#23192
@dpiparo dpiparo self-assigned this Sep 1, 2026
@dpiparo dpiparo assigned agheata and unassigned dpiparo Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 14h 25m 17s ⏱️
 3 861 tests  3 860 ✅ 0 💤 1 ❌
78 675 runs  78 674 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit f58597e.

@dpiparo
dpiparo merged commit d901f92 into root-project:master Sep 1, 2026
36 of 38 checks passed
@dpiparo

dpiparo commented Sep 1, 2026

Copy link
Copy Markdown
Member

/backport to 6.40

@root-project-bot

Copy link
Copy Markdown

Preparing to backport PR #23204 to branch 6.40 requested by dpiparo

@root-project-bot

Copy link
Copy Markdown

This PR has been backported to branch 6.40: #23216

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TGeo: stepping does not resolve a MANY overlap when the overlapping node has an ONLY daughter

3 participants