fix: Repair the Geant4 telescope detector geometry - #5838
Open
andiwand wants to merge 1 commit into
Open
Conversation
The Geant4 geometry did not match the tracking geometry: - Of the two identically sized envelopes, the inner one was placed at the center of the layer stack and therefore protruded out of its mother, leaving Geant4 navigation undefined over most of the telescope. Both are replaced by a single envelope placed directly in the world. - The silicon planes treated `bounds` as full lengths, while `buildTelescopeDetector` uses them as half lengths, so the Geant4 sensors were half the size of the ACTS surfaces in each direction. - The world size assumed sorted and positive positions. Also turns a segfault on a `TelescopeDetector` without positions into an exception, and makes the Geant4 sources `PRIVATE` so that consumers of `ActsExamplesDetectorTelescope` stop recompiling them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KUNabCsitrfbbWnxvZzgJc
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.
The Geant4 geometry did not match the tracking geometry:
center of the layer stack and therefore protruded out of its mother,
leaving Geant4 navigation undefined over most of the telescope. Both are
replaced by a single envelope placed directly in the world.
boundsas full lengths, whilebuildTelescopeDetectoruses them as half lengths, so the Geant4 sensorswere half the size of the ACTS surfaces in each direction.
Also turns a segfault on a
TelescopeDetectorwithout positions into anexception, and makes the Geant4 sources
PRIVATEso that consumers ofActsExamplesDetectorTelescopestop recompiling them.--- END COMMIT MESSAGE ---
Noticed when running the Geant4 part of
telescope_simulation.py.Adds two tests:
Tests/UnitTests/Examples/Detectors/TelescopeDetectorchecks the volume tree for overlaps and asserts that every sensitive Geant4 volume sits at an ACTS surface center with matching bounds, for all three telescope axes. It fails on the old geometry.test_telescope_geant4_geometrybuilds the Geant4 geometry from Python and maps it withSensitiveSurfaceMapper.🤖 Generated with Claude Code