acts-project / acts-project/acts

Navigator gets confused by particles "clipping" volume corners

Open
#4,471 8 comments 0 reactions 0 assignees View on GitHub
Stale
Dominant language
C++
Stars
131
Forks
276
Avg merge
3d 13h
Merged PRs (30d)
112

Description

As originally reported and discussed in https://mattermost.web.cern.ch/acts/pl/qc9mdpiz3pnj5yxmryqimbw88e. Some content copied.

As of v39, bisected to #3449, our EIC material map creation with Examples/Scripts/Python/material_mapping.py has started to error out due to a peculiar navigator error. It seems we have just happen to have a sufficient number of (straight) tracks that clip corners of endcap volumes such that the entry and exit points are within the surface tolerance. The entry is registered, the navigator ends up in the new volume, but can't exit because the exit point is below surface tolerance (Navigator nearLimit). I wonder if others have encountered similar issues.

Here is the navigator log for the offending event (and geometry json). Relevant excerpts near the end:
```
09:28:17 Navigator VERBOSE Check intersection with surface vol=18|bnd=1
09:28:17 Navigator VERBOSE -> near limit, far limit, distance: 0.0001, 1.79769e+308, 136.642
...
09:28:17 Navigator VERBOSE Check intersection with surface vol=20|bnd=4
09:28:17 Navigator VERBOSE -> near limit, far limit, distance: 0.0001, 1.79769e+308, 136.643
...
09:28:17 Navigator VERBOSE 2 boundary candidates found at path(s): 136.642 136.643
...
09:28:17 Navigator VERBOSE Check intersection with surface vol=18|bnd=1
09:28:17 Navigator VERBOSE -> near limit, far limit, distance: 0.0001, 1.79769e+308, 0
09:28:17 Navigator VERBOSE Intersection is OUTSIDE limit because:
09:28:17 Navigator VERBOSE - intersection path length 0 <= near limit 0.0001
...
09:28:17 Navigator VERBOSE Check intersection with surface vol=20|bnd=4
09:28:17 Navigator VERBOSE -> near limit, far limit, distance: 0.0001, 1.79769e+308, 4.82197e-05
09:28:17 Navigator VERBOSE Intersection is OUTSIDE limit because:
09:28:17 Navigator VERBOSE - intersection path length 4.82197e-05 <= near limit 0.0001
...
09:28:17 Navigator VERBOSE InnerSiTrackerSubAssembly::PositiveEndcap | Unknown state. No target found. Renavigate.
... (try again)
09:28:17 Navigator VERBOSE InnerSiTrackerSubAssembly::sGap | No targets found again, we got really lost! Stop navigation.
```
This was obtained with the following geometry, and a full log is attached:
[geometry-map.json](https://github.com/user-attachments/files/21391571/geometry-map.json)
[material_mapping.log](https://github.com/user-attachments/files/21391570/material_mapping.log)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.