Skip to content

feat: update to Actsv44#44

Open
osbornjd wants to merge 1359 commits intosPHENIX-Collaboration:sPHENIXfrom
osbornjd:sPHENIXv44
Open

feat: update to Actsv44#44
osbornjd wants to merge 1359 commits intosPHENIX-Collaboration:sPHENIXfrom
osbornjd:sPHENIXv44

Conversation

@osbornjd
Copy link

@osbornjd osbornjd commented Mar 6, 2026

PR #44 for updating to Actsv44... it was destiny

benjaminhuth and others added 30 commits July 17, 2025 12:16
In the ESC24 school I learned, that `noexcept` on special member functions, especially on move assignment and move construction can be very impactful on performance with `std::vector`. 

The reasons seems to be the strong exception garantuees of `std::vector`: If the move construction is not `noexcept` it falls back to copy, because it is required to be able to restore the initial state in case of failure of an operation. See for this e.g. the quickbench result on a dummy `String` implementation: https://quick-bench.com/q/5CG81CYyOUm7xSa9ClbyLiPj7SY

I won't have any effect on source links I think because of SBO, but in general would be useful to have here I think.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
	- Enhanced exception safety for the `AnyBase` class.
	- Improved debugging capabilities with verbose output for allocation and deallocation operations.

- **Bug Fixes**
	- Updated method signatures to ensure consistent exception handling based on allocation tracking settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Makes use of the `zip` function of the `SpacePointContainer2` which allows iterating on unrolled individual column entries. The advantage of this is that we do not need to add the index all the time but rather move multiple iterators along. Potentially this is also easier for the compiler to reason about than operating on the proxy.
…cts-project#4442)

Previously, the tracking geometry visitor would call the `visitSurface` method for child surface (sensitive + passive) as well as portals (and boundaries). With this PR, it does not do that anymore. Also includes a fix to the Gen3 SVG conversion which relied on this behavior.
…#4446)

Avoids code duplication. This is also how the original seeding code looks like which makes it easier to compare.
- Introduce new helper functions to calculate factorial or the sum of N integers
- Introduce binomial coefficient calculation function
- Introduce new helper function to calculate a direction vector from the tangents of the x to the z & from the tangent of the y to the z axis
- Implementation of the Legendre & Chebychev polynomials avoiding the useage of the recursion formulas. Other implementations, I've seen make explicit use of the recursion formula which is kind of slow if higher order polynomial order functions are evaluated frequently. This implementation calcualtes the coefficients of the first 10 orders & their associated derivatives at compile time.
- Introduce helper functions to intersect lines & planes, also to calculate the signed distance between two lines
Find vecmem before setting up the libraries that need it.

So that a pre-built vecmem installation could be used together with algebra-plugins
and detray being built by this project.
This is the cherry-picked version of acts-project#4315 and introduces a common alignment decorator that can be used with different detectors in the Examples framework.
…ementation (acts-project#4447)

Uses `Boost.Mp11` to unroll templates of the `DoubletSeedFinder` implementation. The doublet finding is quite hot and at the same time supposed to be flexible. With increasing flexibility we add more and more code to a hot function which will slow down other use cases. The proposed alternative here is to use N template switches which all get instantiated and dispatched during runtime. The implementation here decides on the appropriate function based on the config once on instantiation and then uses virtual dispatch into the appropriate one.
…oject#4456)

In ePIC we noticed (upon upgrading to v39) that our material map json
geometry did not get the correct `AxisPhi` and `AxisZ` binning
directions (instead we got `AxisX`). This turned out to be due to the
incorrect parsing of the `binPhi` and `binZ` fields. In particular, the
iterator `it` in `s_legacyBinningValueNames` cannot be compared to
`s_axisDirectionNames.begin()` (a different vector) to get the index.

This PR introduces an early return when the `name` is found in the
`s_legacyBinningValueNames` vector. I confirmed that with this fix the
json output indeed changes `CylinderBounds` from:
```json
    "binUtility": {
      "binningdata": [
        {
          "bins": 144,
          "max": 3.1415927410125732,
          "min": -3.1415927410125732,
          "option": "closed",
          "type": "equidistant",
          "value": "AxisX"
        },
        {
          "bins": 10,
          "max": 0.0,
          "min": 0.0,
          "option": "open",
          "type": "equidistant",
          "value": "AxisX"
        }
      ]
    },
```
to
```json
    "binUtility": {
      "binningdata": [
        {
          "bins": 144,
          "max": 3.1415927410125732,
          "min": -3.1415927410125732,
          "option": "closed",
          "type": "equidistant",
          "value": "AxisPhi"
        },
        {
          "bins": 10,
          "max": 0.0,
          "min": 0.0,
          "option": "open",
          "type": "equidistant",
          "value": "AxisZ"
        }
      ]
    },
```

Note: this is an error that one could argue could/should have been
caught by static analysis. A quick search of `std::distance` calls on
reused iterators within the same function did not turn up any other
instances (in the v39.2.0 source tree that I was looking at).
This helper can be instantiated from a unit test. It will look up the test name and create a temporary directory that can be used during the test.
Fix missing tag by explicitly fetching. I have a more correct fix in the
pipeline.
…acts-project#4450)

With acts-project#4447 the sorting requirement of the `DoubletSeedFinder` becomes an option. The same can now be done for the `BroadTripletSeedFinder`. This generalizes the use of the `BroadTripletSeedFinder` and will be beneficial for the module map approach.
…ct#4458)

The retry logic currently only works for HTTPError. I'm observing URLError in CI now, so I'm including this exception in the retry logic as well now.
)

This allows it to take better formatting decisions for custom functions.
- SVG drawing uses it to draw composites as well
- Add a comment to indicate that the composite conversion in some cases (edge) does not produce a grid portal
…derivative (acts-project#4455)

- Introduce helper functions to map the indices of a matrix to an unrolled vector
- Introduce the LineWithPartials class which provides a line as function of four parameters and its associated derivatvies
…ject#4457)

The goal is to cover as many compilers as possible, so now we test on clang16, gcc13, gcc14, gcc15 and clang19 across LCG 106a, 107, 107a and 108
This function does not mutate the state of the `SurfaceArray` and therefore marked as `const`
Since recent container upgrade we are seeing build failures. This allows to bypass the erroneous process until we figure out a proper fix.
The previous attempt failed, because I did not explicitly ask the check to include the C++20 compiler flag, which failed in some conditions.
Also adds some tests to ensure ProxyAccessor can be constexpr created.
…#4466)

- Fix phi binning so grid positions align with surface positions
- `disk` -> `disc`
andiwand and others added 29 commits October 2, 2025 15:04
Enable the AMVF to deal with multiple vertex seeds at a time. We suspect that this is a limitation for nearby vertices as right now the AMVF will follow a greedy procedure and potentially merge these candidates during finding.
…s-project#4691)

I've added an environment variable `ACTS_SOURCE_DIR` to the `this_acts.sh` script for harmonize the setup scripts
…-project#4660)

I double-checked the mathematical implementation of the fitter, including sign handling and the computation of the fit constants.
I also modified the initial estimation of t0, which improved both the robustness and performance of the fit.
…t#4683)

Add particle propagation to perigee. The`writeHelixParameters` config flag toggle writing track parameters at the perigee instead of the ones at production vertex. Neutral particles are propagated with a linear track hypothesis.
This PR enables the reading of the detray detector from json files.
…4697)

Bumps [peter-evans/find-comment](https://github.com/peter-evans/find-comment) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/peter-evans/find-comment/releases">peter-evans/find-comment's releases</a>.</em></p>
<blockquote>
<h2>Find Comment v4.0.0</h2>
<p>⚙️ Requires <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions Runner v2.327.1</a> or later if you are using a self-hosted runner for Node 24 support.</p>
<h2>What's Changed</h2>
<ul>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.28 to 18.19.30 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/301">peter-evans/find-comment#301</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.30 to 18.19.31 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/302">peter-evans/find-comment#302</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.31 to 18.19.33 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/303">peter-evans/find-comment#303</a></li>
<li>build(deps-dev): bump prettier from 3.2.5 to 3.3.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/304">peter-evans/find-comment#304</a></li>
<li>build(deps-dev): bump prettier from 3.3.0 to 3.3.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/305">peter-evans/find-comment#305</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.33 to 18.19.34 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/306">peter-evans/find-comment#306</a></li>
<li>build(deps-dev): bump prettier from 3.3.1 to 3.3.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/307">peter-evans/find-comment#307</a></li>
<li>build(deps-dev): bump braces from 3.0.2 to 3.0.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/308">peter-evans/find-comment#308</a></li>
<li>build(deps-dev): bump ws from 7.5.9 to 7.5.10 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/309">peter-evans/find-comment#309</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.34 to 18.19.39 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/310">peter-evans/find-comment#310</a></li>
<li>build(deps-dev): bump prettier from 3.3.2 to 3.3.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/311">peter-evans/find-comment#311</a></li>
<li>build(deps-dev): bump eslint-plugin-prettier from 5.1.3 to 5.2.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/312">peter-evans/find-comment#312</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.39 to 18.19.41 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/313">peter-evans/find-comment#313</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.41 to 18.19.42 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/314">peter-evans/find-comment#314</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.42 to 18.19.43 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/315">peter-evans/find-comment#315</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.43 to 18.19.44 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/316">peter-evans/find-comment#316</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.44 to 18.19.45 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/317">peter-evans/find-comment#317</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.45 to 18.19.47 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/318">peter-evans/find-comment#318</a></li>
<li>build(deps): bump peter-evans/create-pull-request from 6 to 7 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/319">peter-evans/find-comment#319</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.47 to 18.19.50 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/320">peter-evans/find-comment#320</a></li>
<li>build(deps-dev): bump eslint from 8.57.0 to 8.57.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/321">peter-evans/find-comment#321</a></li>
<li>build(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.1 to 0.38.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/322">peter-evans/find-comment#322</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.50 to 18.19.54 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/323">peter-evans/find-comment#323</a></li>
<li>Update distribution by <a href="https://github.com/actions-bot"><code>@​actions-bot</code></a> in <a href="https://redirect.github.com/peter-evans/find-comment/pull/324">peter-evans/find-comment#324</a></li>
<li>build(deps): bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/325">peter-evans/find-comment#325</a></li>
<li>Update distribution by <a href="https://github.com/actions-bot"><code>@​actions-bot</code></a> in <a href="https://redirect.github.com/peter-evans/find-comment/pull/326">peter-evans/find-comment#326</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.54 to 18.19.55 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/327">peter-evans/find-comment#327</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.55 to 18.19.57 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/328">peter-evans/find-comment#328</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.57 to 18.19.59 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/329">peter-evans/find-comment#329</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.59 to 18.19.63 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/330">peter-evans/find-comment#330</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.63 to 18.19.64 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/331">peter-evans/find-comment#331</a></li>
<li>build(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.2 to 0.38.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/332">peter-evans/find-comment#332</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.64 to 18.19.65 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/333">peter-evans/find-comment#333</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.65 to 18.19.67 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/334">peter-evans/find-comment#334</a></li>
<li>build(deps-dev): bump prettier from 3.3.3 to 3.4.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/335">peter-evans/find-comment#335</a></li>
<li>build(deps-dev): bump prettier from 3.4.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/336">peter-evans/find-comment#336</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.67 to 18.19.68 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/337">peter-evans/find-comment#337</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.68 to 18.19.69 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/338">peter-evans/find-comment#338</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.69 to 18.19.70 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/339">peter-evans/find-comment#339</a></li>
<li>build(deps-dev): bump eslint-plugin-prettier from 5.2.1 to 5.2.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/340">peter-evans/find-comment#340</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.70 to 18.19.71 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/341">peter-evans/find-comment#341</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.71 to 18.19.74 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/342">peter-evans/find-comment#342</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.74 to 18.19.75 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/343">peter-evans/find-comment#343</a></li>
<li>build(deps-dev): bump prettier from 3.4.2 to 3.5.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/344">peter-evans/find-comment#344</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.75 to 18.19.76 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/345">peter-evans/find-comment#345</a></li>
<li>build(deps): bump <code>@​octokit/request-error</code> and <code>@​actions/github</code> by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/find-comment/pull/346">peter-evans/find-comment#346</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/peter-evans/find-comment/commit/b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad"><code>b30e6a3</code></a> feat: v4 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/389">#389</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/b4929e71ca41482784c4f845c7067ac87b37ea13"><code>b4929e7</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.124 to 18.19.127 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/388">#388</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/1f47d948b68bb443374bdb9b471ba07c8f56cc55"><code>1f47d94</code></a> build(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.3 to 0.38.4 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/387">#387</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/a723a15ad60cf9419c01a6b8c9548ddd15e79531"><code>a723a15</code></a> build(deps): bump actions/setup-node from 4 to 5 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/386">#386</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/8bacb1b93208eb5905c5587b30951a392eb18df0"><code>8bacb1b</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.123 to 18.19.124 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/385">#385</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/048de657d50358ed23c7ac2297a319ada251f4f0"><code>048de65</code></a> build(deps): bump actions/checkout from 4 to 5 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/384">#384</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/c02750f02d104fe45b3d5d5a951ddf251878c770"><code>c02750f</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.122 to 18.19.123 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/383">#383</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/092c582425a50e7fcdc2734bc8879d28bcc4ae27"><code>092c582</code></a> build(deps): bump actions/download-artifact from 4 to 5 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/382">#382</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/c115bb0099cf72f71ae983aab8b653ab541bccc4"><code>c115bb0</code></a> build(deps-dev): bump eslint-plugin-prettier from 5.5.3 to 5.5.4 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/381">#381</a>)</li>
<li><a href="https://github.com/peter-evans/find-comment/commit/8d3be5d71090a36b64b16ec89b798e1c7373333d"><code>8d3be5d</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.121 to 18.19.122 (<a href="https://redirect.github.com/peter-evans/find-comment/issues/380">#380</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/peter-evans/find-comment/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/find-comment&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
…cts-project#4698)

Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/peter-evans/create-or-update-comment/releases">peter-evans/create-or-update-comment's releases</a>.</em></p>
<blockquote>
<h2>Create or Update Comment v5.0.0</h2>
<p>⚙️ Requires <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions Runner v2.327.1</a> or later if you are using a self-hosted runner for Node 24 support.</p>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump peter-evans/create-or-update-comment from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/307">peter-evans/create-or-update-comment#307</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.8 to 18.19.11 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/308">peter-evans/create-or-update-comment#308</a></li>
<li>build(deps): bump peter-evans/slash-command-dispatch from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/310">peter-evans/create-or-update-comment#310</a></li>
<li>build(deps): bump peter-evans/create-pull-request from 5 to 6 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/309">peter-evans/create-or-update-comment#309</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.11 to 18.19.14 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/311">peter-evans/create-or-update-comment#311</a></li>
<li>build(deps-dev): bump prettier from 3.2.4 to 3.2.5 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/312">peter-evans/create-or-update-comment#312</a></li>
<li>build(deps-dev): bump eslint-plugin-jest from 27.6.3 to 27.8.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/313">peter-evans/create-or-update-comment#313</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.14 to 18.19.15 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/314">peter-evans/create-or-update-comment#314</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.15 to 18.19.17 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/315">peter-evans/create-or-update-comment#315</a></li>
<li>build(deps-dev): bump eslint-plugin-jest from 27.8.0 to 27.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/316">peter-evans/create-or-update-comment#316</a></li>
<li>build(deps-dev): bump eslint from 8.56.0 to 8.57.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/318">peter-evans/create-or-update-comment#318</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.17 to 18.19.19 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/319">peter-evans/create-or-update-comment#319</a></li>
<li>build(deps-dev): bump eslint-plugin-github from 4.10.1 to 4.10.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/320">peter-evans/create-or-update-comment#320</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.19 to 18.19.21 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/321">peter-evans/create-or-update-comment#321</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.21 to 18.19.23 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/322">peter-evans/create-or-update-comment#322</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.23 to 18.19.26 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/325">peter-evans/create-or-update-comment#325</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.26 to 18.19.29 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/326">peter-evans/create-or-update-comment#326</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.29 to 18.19.31 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/327">peter-evans/create-or-update-comment#327</a></li>
<li>build(deps): bump chuhlomin/render-template from 1.9 to 1.10 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/328">peter-evans/create-or-update-comment#328</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.31 to 18.19.32 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/329">peter-evans/create-or-update-comment#329</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.32 to 18.19.33 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/330">peter-evans/create-or-update-comment#330</a></li>
<li>build(deps-dev): bump prettier from 3.2.5 to 3.3.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/332">peter-evans/create-or-update-comment#332</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.33 to 18.19.34 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/333">peter-evans/create-or-update-comment#333</a></li>
<li>build(deps-dev): bump prettier from 3.3.0 to 3.3.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/334">peter-evans/create-or-update-comment#334</a></li>
<li>build(deps-dev): bump braces from 3.0.2 to 3.0.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/335">peter-evans/create-or-update-comment#335</a></li>
<li>build(deps-dev): bump ws from 7.5.9 to 7.5.10 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/336">peter-evans/create-or-update-comment#336</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.34 to 18.19.36 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/337">peter-evans/create-or-update-comment#337</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.36 to 18.19.39 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/338">peter-evans/create-or-update-comment#338</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.39 to 18.19.40 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/340">peter-evans/create-or-update-comment#340</a></li>
<li>build(deps-dev): bump prettier from 3.3.2 to 3.3.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/339">peter-evans/create-or-update-comment#339</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.40 to 18.19.42 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/342">peter-evans/create-or-update-comment#342</a></li>
<li>build(deps-dev): bump eslint-plugin-prettier from 5.1.3 to 5.2.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/343">peter-evans/create-or-update-comment#343</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.42 to 18.19.43 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/345">peter-evans/create-or-update-comment#345</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.43 to 18.19.44 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/347">peter-evans/create-or-update-comment#347</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.44 to 18.19.45 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/348">peter-evans/create-or-update-comment#348</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.45 to 18.19.47 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/349">peter-evans/create-or-update-comment#349</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.47 to 18.19.49 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/350">peter-evans/create-or-update-comment#350</a></li>
<li>build(deps): bump peter-evans/create-pull-request from 6 to 7 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/351">peter-evans/create-or-update-comment#351</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.49 to 18.19.50 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/352">peter-evans/create-or-update-comment#352</a></li>
<li>build(deps-dev): bump eslint from 8.57.0 to 8.57.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/353">peter-evans/create-or-update-comment#353</a></li>
<li>build(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.1 to 0.38.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/354">peter-evans/create-or-update-comment#354</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.50 to 18.19.51 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/355">peter-evans/create-or-update-comment#355</a></li>
<li>Update distribution by <a href="https://github.com/actions-bot"><code>@​actions-bot</code></a> in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/356">peter-evans/create-or-update-comment#356</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.51 to 18.19.54 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/357">peter-evans/create-or-update-comment#357</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.54 to 18.19.55 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/359">peter-evans/create-or-update-comment#359</a></li>
<li>build(deps): bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/360">peter-evans/create-or-update-comment#360</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/e8674b075228eee787fea43ef493e45ece1004c9"><code>e8674b0</code></a> feat: v5 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/439">#439</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/fffe59ea229327e73edca9d31f0b578bf04152a9"><code>fffe59e</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.127 to 18.19.129 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/438">#438</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/076d57233ac816370d98e4a8471745e4bab20c6e"><code>076d572</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.126 to 18.19.127 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/437">#437</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/86a26452a5212846cda64bb7e75c7129eb695ec9"><code>86a2645</code></a> build(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.3 to 0.38.4 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/436">#436</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/be17e0c03de886b7aff3fb3224d28bfb6fc5d114"><code>be17e0c</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.124 to 18.19.126 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/435">#435</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/ef75eae2348215adbd501f243281835beaa69d3f"><code>ef75eae</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.123 to 18.19.124 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/433">#433</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/82a7ad083d3b3a0a18b53e0e5f3bbe9dd3841260"><code>82a7ad0</code></a> build(deps): bump actions/setup-node from 4 to 5 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/432">#432</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/f7c845d742ddcc26436b9547b75f949bdcd3012a"><code>f7c845d</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.122 to 18.19.123 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/430">#430</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/5da8e07780620d4c63e2e4144177b7d2020b5996"><code>5da8e07</code></a> build(deps-dev): bump eslint-plugin-prettier from 5.5.3 to 5.5.4 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/428">#428</a>)</li>
<li><a href="https://github.com/peter-evans/create-or-update-comment/commit/2de7f661fe1d25b1982bdc7eee29ca30f8f97fd2"><code>2de7f66</code></a> build(deps-dev): bump <code>@​types/node</code> from 18.19.121 to 18.19.122 (<a href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/427">#427</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/peter-evans/create-or-update-comment/compare/v4...v5">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-or-update-comment&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
Currently, at configure time, we will generate a header file containing the git commit hash. This means that when the commit changes, cmake reconfigures and the core lib is recompiled. With this change, the absence of a commit hash is explicitly handled with `std::optional`. At install time, we look up the commit hash and regenerate the header file into the install directory. If the source folder is not a repository (like when building from a tarball), the configure-time header is copied with the `nullopt` commit hash to indicate not commit is available.
The current implementation of the space point formation couples strongly to the existing space point templating which is replaced by the new EDM and `Seeding2`. Similarly this PR adds a new package `SpacePointFormation2`, which generalizes the functionality and decouples it from the EDM.
…ject#4682)

Brings multiple abortes to the `KalmanFitter`:
- end of world
- volume constraint
- path limit
- target surface

This should allow successfully fitting tracks without finding all the measurements or reaching the end of the detector, which was only detected by the navigator state right now.

Small changes were performed on the CKF to align it with the KF code better.
…ctor (acts-project#4699)

- Add Tgc like chambers to the middle endcap wheel. Endcap construction still disabled because we run out of volume identifiers
- Implement a small wheel structure
…cts-project#4700)

- Introduce RootMuonSpacePointWriter & RootMuonSpacePointReader
- Possibility to construct the MuonId from a single integer
… same time (acts-project#4638)

This PR changes the navigator behavior for gen3 geometry configuration by updating the `NavigationStream` with `NavigationCandidates` that can be portals and surfaces and sorts them with the path length. 
For now, the way I did it is that in the methods that are used in the Propagation I just put a check if we are in gen3 case or not.



Co-authored-by: Petr Balek <122273631+pbalek@users.noreply.github.com>
Co-authored-by: Vakho Tsulaia <6815026+tsulaiav@users.noreply.github.com>
Co-authored-by: Paul Gessinger <1058585+paulgessinger@users.noreply.github.com>
Co-authored-by: Andreas Stefl <487211+andiwand@users.noreply.github.com>
Co-authored-by: Stephen Nicholas Swatman <1165820+stephenswat@users.noreply.github.com>
Co-authored-by: Dmitry Kalinkin <245573+veprbl@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Huth <37871400+benjaminhuth@users.noreply.github.com>
Co-authored-by: Andreas Salzburger <26623879+asalzburger@users.noreply.github.com>
Co-authored-by: Alexander J. Pfleger <70842573+AJPfleger@users.noreply.github.com>
This commit makes the codegen respect the `ACTS_USE_SYSTEM_LIBS` flag, allowing users to build ACTS in a fully offline environment if they have the dependencies already installed. To make this possible, I added a code path which avoids uv and uses the (virtual) Python environment provided by the user.

This is the second attempt at acts-project#4141.
This PR cleans up the `Tests` folder.

* It uses consistently `using namespace XYZ` for the Acts libraries it
depends on
* It guards consistently the testing code with `namespace ActsTest { ...
}` to access common testing code
* It renames consistently the tests suites and introduces them where
missing
* it corrects the missing folder movement of `Acts/Plugins/Json` to
`ActsPlugins/Json` with deprecated files to protect traccc temporarily



--- END COMMIT MESSAGE ---

Any further description goes here, @-mentions are ok here!

- Use a *conventional commits* prefix: [quick
summary](https://www.conventionalcommits.org/en/v1.0.0/#summary)
- We mostly use `feat`, `fix`, `refactor`, `docs`, `chore` and `build`
types.
- A milestone will be assigned by one of the maintainers
@coderabbitai
Copy link

coderabbitai bot commented Mar 6, 2026

Important

Review skipped

Too many files!

This PR contains 227 files, which is 77 over the limit of 150.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 53fdd59f-d49e-478a-b1a3-eec861756ad2

📥 Commits

Reviewing files that changed from the base of the PR and between d72f216 and f51a42c.

⛔ Files ignored due to path filters (73)
  • CI/physmon/reference/particles_fatras_hist.root is excluded by !**/*.root
  • CI/physmon/reference/particles_geant4_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ambi_orthogonal.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ambi_seeded.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ambi_ttbar.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_orthogonal_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_seeded_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_truth_estimated_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_truth_smeared_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_amvf_ttbar_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ckf_orthogonal.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ckf_seeded.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ckf_truth_estimated.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ckf_truth_smeared.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ckf_ttbar.root is excluded by !**/*.root
  • CI/physmon/reference/performance_gsf.root is excluded by !**/*.root
  • CI/physmon/reference/performance_gx2f.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ivf_orthogonal_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ivf_seeded_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ivf_truth_estimated_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_ivf_truth_smeared_hist.root is excluded by !**/*.root
  • CI/physmon/reference/performance_seeding_orthogonal.root is excluded by !**/*.root
  • CI/physmon/reference/performance_seeding_seeded.root is excluded by !**/*.root
  • CI/physmon/reference/performance_seeding_truth_estimated.root is excluded by !**/*.root
  • CI/physmon/reference/performance_seeding_ttbar.root is excluded by !**/*.root
  • CI/physmon/reference/performance_truth_tracking.root is excluded by !**/*.root
  • CI/physmon/reference/simulation/particles_fatras_hist.root is excluded by !**/*.root
  • CI/physmon/reference/simulation/particles_geant4_hist.root is excluded by !**/*.root
  • CI/physmon/reference/simulation/particles_ttbar_hist.root is excluded by !**/*.root
  • CI/physmon/reference/simulation/vertices_ttbar_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/orthogonal/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/orthogonal/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/orthogonal/performance_seeding.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/orthogonal/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/seeded/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/seeded/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/seeded/performance_seeding.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/seeded/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_seeding.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_estimated/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_smeared/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_smeared/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_1muon/truth_smeared/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_finding_ckf_ambi.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_seeding.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_gauss_notime_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_grid_time_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_ivf_notime_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_4muon_50vertices/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_finding_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_finding_ckf_ambi.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_finding_ckf_ml_solver.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_fitting_ckf.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_seeding.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_gauss_notime_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_grid_time_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfinding_ttbar_pu200/tracksummary_ckf_hist.root is excluded by !**/*.root
  • CI/physmon/reference/trackfitting_gsf/performance_trackfitting.root is excluded by !**/*.root
  • CI/physmon/reference/trackfitting_gx2f/performance_trackfitting.root is excluded by !**/*.root
  • CI/physmon/reference/trackfitting_kf/performance_trackfitting.root is excluded by !**/*.root
  • CI/physmon/reference/trackrefitting_gsf/performance_trackrefitting.root is excluded by !**/*.root
  • CI/physmon/reference/trackrefitting_kf/performance_trackrefitting.root is excluded by !**/*.root
  • CI/physmon/reference/tracksummary_ckf_orthogonal_hist.root is excluded by !**/*.root
  • CI/physmon/reference/tracksummary_ckf_seeded_hist.root is excluded by !**/*.root
  • CI/physmon/reference/tracksummary_ckf_truth_estimated_hist.root is excluded by !**/*.root
  • CI/physmon/reference/tracksummary_ckf_truth_smeared_hist.root is excluded by !**/*.root
  • CI/physmon/reference/tracksummary_ckf_ttbar_hist.root is excluded by !**/*.root
📒 Files selected for processing (227)
  • .clang-format
  • .clang-tidy
  • .devcontainer/Dockerfile
  • .devcontainer/devcontainer.json
  • .devcontainer/setup.sh
  • .gersemirc
  • .github/actions/dependencies/action.yml
  • .github/dependabot.yml
  • .github/issue_template.md
  • .github/labeler.yml
  • .github/pull_request_template.md
  • .github/wip.yml
  • .github/workflows/analysis.yml
  • .github/workflows/backport.yml
  • .github/workflows/builds.yml
  • .github/workflows/checks.yml
  • .github/workflows/devcontainer-ci.yml
  • .github/workflows/docs.yml
  • .github/workflows/iwyu.yml
  • .github/workflows/labels.yml
  • .github/workflows/milestone.yml
  • .github/workflows/pr-lint.yml
  • .github/workflows/release.yml
  • .github/workflows/report.yml
  • .github/workflows/sonarcloud.yml
  • .github/workflows/stale.yml
  • .github/workflows/update-pip-requirements.yml
  • .gitignore
  • .gitlab-ci.yml
  • .kodiak.toml
  • .merge-sentinel.yml
  • .pre-commit-config.yaml
  • .zenodo.json
  • AUTHORS
  • Alignment/CMakeLists.txt
  • Alignment/README.md
  • Alignment/include/ActsAlignment/Kernel/Alignment.hpp
  • Alignment/include/ActsAlignment/Kernel/Alignment.ipp
  • Alignment/include/ActsAlignment/Kernel/AlignmentError.hpp
  • Alignment/include/ActsAlignment/Kernel/AlignmentMask.hpp
  • Alignment/include/ActsAlignment/Kernel/detail/AlignmentEngine.hpp
  • Alignment/src/Kernel/detail/AlignmentEngine.cpp
  • CI/README.md
  • CI/check_boost_test_macro.sh
  • CI/check_codegen_dependencies.sh
  • CI/check_format
  • CI/check_include_guards.py
  • CI/check_license.py
  • CI/check_math_macros.py
  • CI/check_pragma_once.sh
  • CI/check_size_t.py
  • CI/check_smearing_config.py
  • CI/check_type_t.py
  • CI/check_unused_files.py
  • CI/clang_tidy/limits.yml
  • CI/clang_tidy/requirements.txt
  • CI/cliff.toml
  • CI/codespell_ignore.txt
  • CI/ctest2junit.xsl
  • CI/dependencies/opengl.sh
  • CI/dependencies/parallel.sh
  • CI/dependencies/select_lockfile.py
  • CI/dependencies/setup.sh
  • CI/dependencies/setup_spack.sh
  • CI/fix_pragma.py
  • CI/format_json.py
  • CI/fpe_masks/requirements.in
  • CI/fpe_masks/requirements.txt
  • CI/get_next_milestone.py
  • CI/iwyu/README.md
  • CI/iwyu/filter.py
  • CI/iwyu/filter.yaml
  • CI/iwyu/mapping-boost.imp
  • CI/iwyu/mapping-eigen.imp
  • CI/iwyu/mapping-pythia.imp
  • CI/iwyu/mapping.imp
  • CI/missing_include_check.sh
  • CI/physmon/ckf_truth_smeared.yml
  • CI/physmon/config/default.yml
  • CI/physmon/config/info_only.yml
  • CI/physmon/config/pythia8_ttbar.yml
  • CI/physmon/config/simulation.yml
  • CI/physmon/config/trackfitting_gsf.yml
  • CI/physmon/config/trackfitting_gx2f.yml
  • CI/physmon/config/trackfitting_kf.yml
  • CI/physmon/config/tracksummary_ckf.yml
  • CI/physmon/config/vertexing_4muon_50vertices.yml
  • CI/physmon/config/vertexing_ttbar_pu200.yml
  • CI/physmon/default.yml
  • CI/physmon/phys_perf_mon.sh
  • CI/physmon/physmon_common.py
  • CI/physmon/reference/commit
  • CI/physmon/summary.py
  • CI/physmon/tracksummary_ckf_config.yml
  • CI/physmon/vertexing_config.yml
  • CI/physmon/vertexing_ttbar_config.yml
  • CI/physmon/workflows/physmon_ckf_tracking.py
  • CI/physmon/workflows/physmon_simulation.py
  • CI/physmon/workflows/physmon_track_finding_ttbar.py
  • CI/physmon/workflows/physmon_trackfinding_1muon.py
  • CI/physmon/workflows/physmon_trackfinding_4muon_50vertices.py
  • CI/physmon/workflows/physmon_trackfinding_ttbar_pu200.py
  • CI/physmon/workflows/physmon_trackfitting_gsf.py
  • CI/physmon/workflows/physmon_trackfitting_gx2f.py
  • CI/physmon/workflows/physmon_trackfitting_gx2f_vs_kf.py
  • CI/physmon/workflows/physmon_trackfitting_kf.py
  • CI/physmon/workflows/physmon_trackrefitting_gsf.py
  • CI/physmon/workflows/physmon_trackrefitting_kf.py
  • CI/physmon/workflows/physmon_truth_tracking_gsf.py
  • CI/physmon/workflows/physmon_truth_tracking_gx2f.py
  • CI/physmon/workflows/physmon_truth_tracking_kalman.py
  • CI/physmon/workflows/physmon_vertexing.py
  • CI/release.py
  • CI/release.sh
  • CI/release_requirements.in
  • CI/release_requirements.txt
  • CI/requirements.txt
  • CI/requirements_fpe_masks.txt
  • CI/setup_cvmfs_lcg.sh
  • CI/setup_cvmfs_lcg100.sh
  • CI/setup_cvmfs_lcg101.sh
  • CI/setup_cvmfs_lcg105.sh
  • CI/test_coverage.py
  • CITATION.cff
  • CMakeLists.txt
  • CMakePresets.json
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.rst
  • Core/ActsVersion.hpp.in
  • Core/CMakeLists.txt
  • Core/include/Acts/AmbiguityResolution/AmbiguityNetworkConcept.hpp
  • Core/include/Acts/AmbiguityResolution/AmbiguityResolutionML.hpp
  • Core/include/Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp
  • Core/include/Acts/AmbiguityResolution/GreedyAmbiguityResolution.ipp
  • Core/include/Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp
  • Core/include/Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.ipp
  • Core/include/Acts/Clusterization/Clusterization.hpp
  • Core/include/Acts/Clusterization/Clusterization.ipp
  • Core/include/Acts/Clusterization/TimedClusterization.hpp
  • Core/include/Acts/Clusterization/TimedClusterization.ipp
  • Core/include/Acts/Definitions/Algebra.hpp
  • Core/include/Acts/Definitions/Alignment.hpp
  • Core/include/Acts/Definitions/Common.hpp
  • Core/include/Acts/Definitions/Direction.hpp
  • Core/include/Acts/Definitions/ParticleData.hpp
  • Core/include/Acts/Definitions/PdgParticle.hpp
  • Core/include/Acts/Definitions/Tolerance.hpp
  • Core/include/Acts/Definitions/TrackParametrization.hpp
  • Core/include/Acts/Definitions/Units.hpp
  • Core/include/Acts/Detector/Blueprint.hpp
  • Core/include/Acts/Detector/CuboidalContainerBuilder.hpp
  • Core/include/Acts/Detector/CylindricalContainerBuilder.hpp
  • Core/include/Acts/Detector/Detector.hpp
  • Core/include/Acts/Detector/DetectorBuilder.hpp
  • Core/include/Acts/Detector/DetectorComponents.hpp
  • Core/include/Acts/Detector/DetectorVolume.hpp
  • Core/include/Acts/Detector/DetectorVolumeBuilder.hpp
  • Core/include/Acts/Detector/DetectorVolumeVisitorConcept.hpp
  • Core/include/Acts/Detector/GeometryCompatibilityConcept.hpp
  • Core/include/Acts/Detector/GeometryIdGenerator.hpp
  • Core/include/Acts/Detector/GeometryIdMapper.hpp
  • Core/include/Acts/Detector/IndexedRootVolumeFinderBuilder.hpp
  • Core/include/Acts/Detector/KdtSurfacesProvider.hpp
  • Core/include/Acts/Detector/LayerStructureBuilder.hpp
  • Core/include/Acts/Detector/MultiWireStructureBuilder.hpp
  • Core/include/Acts/Detector/Portal.hpp
  • Core/include/Acts/Detector/PortalGenerators.hpp
  • Core/include/Acts/Detector/ProtoBinning.hpp
  • Core/include/Acts/Detector/ProtoDetector.hpp
  • Core/include/Acts/Detector/ProtoSupport.hpp
  • Core/include/Acts/Detector/VolumeStructureBuilder.hpp
  • Core/include/Acts/Detector/detail/BlueprintDrawer.hpp
  • Core/include/Acts/Detector/detail/BlueprintHelper.hpp
  • Core/include/Acts/Detector/detail/CuboidalDetectorHelper.hpp
  • Core/include/Acts/Detector/detail/CylindricalDetectorHelper.hpp
  • Core/include/Acts/Detector/detail/DetectorVolumeConsistency.hpp
  • Core/include/Acts/Detector/detail/IndexedGridFiller.hpp
  • Core/include/Acts/Detector/detail/IndexedSurfacesGenerator.hpp
  • Core/include/Acts/Detector/detail/PortalHelper.hpp
  • Core/include/Acts/Detector/detail/ProtoMaterialHelper.hpp
  • Core/include/Acts/Detector/detail/ReferenceGenerators.hpp
  • Core/include/Acts/Detector/detail/SupportSurfacesHelper.hpp
  • Core/include/Acts/Detector/interface/IDetectorBuilder.hpp
  • Core/include/Acts/Detector/interface/IDetectorComponentBuilder.hpp
  • Core/include/Acts/Detector/interface/IExternalStructureBuilder.hpp
  • Core/include/Acts/Detector/interface/IGeometryIdGenerator.hpp
  • Core/include/Acts/Detector/interface/IInternalStructureBuilder.hpp
  • Core/include/Acts/Detector/interface/IRootVolumeFinderBuilder.hpp
  • Core/include/Acts/Detector/interface/ISurfacesProvider.hpp
  • Core/include/Acts/Digitization/CartesianSegmentation.hpp
  • Core/include/Acts/Digitization/DigitizationCell.hpp
  • Core/include/Acts/Digitization/DigitizationModule.hpp
  • Core/include/Acts/Digitization/DigitizationSourceLink.hpp
  • Core/include/Acts/Digitization/PlanarModuleCluster.hpp
  • Core/include/Acts/Digitization/PlanarModuleStepper.hpp
  • Core/include/Acts/Digitization/Segmentation.hpp
  • Core/include/Acts/EventData/Charge.hpp
  • Core/include/Acts/EventData/ChargeConcept.hpp
  • Core/include/Acts/EventData/CompositeSpacePoint.hpp
  • Core/include/Acts/EventData/CompositeSpacePointCalibrator.hpp
  • Core/include/Acts/EventData/GenericBoundTrackParameters.hpp
  • Core/include/Acts/EventData/GenericCurvilinearTrackParameters.hpp
  • Core/include/Acts/EventData/GenericFreeTrackParameters.hpp
  • Core/include/Acts/EventData/GenericParticleHypothesis.hpp
  • Core/include/Acts/EventData/Measurement.hpp
  • Core/include/Acts/EventData/MeasurementHelpers.hpp
  • Core/include/Acts/EventData/MultiComponentTrackParameters.hpp
  • Core/include/Acts/EventData/MultiTrajectory.hpp
  • Core/include/Acts/EventData/MultiTrajectory.ipp
  • Core/include/Acts/EventData/MultiTrajectoryBackendConcept.hpp
  • Core/include/Acts/EventData/MultiTrajectoryHelpers.hpp
  • Core/include/Acts/EventData/ParticleHypothesis.hpp
  • Core/include/Acts/EventData/ProxyAccessor.hpp
  • Core/include/Acts/EventData/Seed.hpp
  • Core/include/Acts/EventData/Seed.ipp
  • Core/include/Acts/EventData/SeedContainer2.hpp
  • Core/include/Acts/EventData/SeedContainer2.ipp
  • Core/include/Acts/EventData/SeedProxy2.hpp
  • Core/include/Acts/EventData/SourceLink.hpp
  • Core/include/Acts/EventData/SpacePointColumnProxy2.hpp
  • Core/include/Acts/EventData/SpacePointContainer.hpp
  • Core/include/Acts/EventData/SpacePointContainer.ipp
  • Core/include/Acts/EventData/SpacePointContainer2.hpp
  • Core/include/Acts/EventData/SpacePointContainer2.ipp
  • Core/include/Acts/EventData/SpacePointData.hpp
  • Core/include/Acts/EventData/SpacePointData.ipp
  • Core/include/Acts/EventData/SpacePointMutableData.hpp

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.