Skip to content

Commit 4ec0586

Browse files
Merge branch 'main' into cleanup-multitrackparams
2 parents 396161f + bcd11ba commit 4ec0586

63 files changed

Lines changed: 1410 additions & 889 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/builds.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ env:
2020
CCACHE_DIR: ${{ github.workspace }}/ccache
2121
CCACHE_MAXSIZE: 500M
2222
CCACHE_KEY_SUFFIX: r2
23+
ACTS_SEQUENCER_FAIL_ON_UNMASKED_FPE: 0
2324

2425
jobs:
2526
linux_ubuntu:
@@ -120,7 +121,7 @@ jobs:
120121
container: ghcr.io/acts-project/ubuntu2404:83
121122
needs: [linux_ubuntu]
122123
env:
123-
ACTS_SEQUENCER_DISABLE_FPEMON: true
124+
ACTS_SEQUENCER_FAIL_ON_UNMASKED_FPE: 0
124125

125126
steps:
126127
- uses: actions/checkout@v6
@@ -158,8 +159,6 @@ jobs:
158159
runs-on: ubuntu-latest
159160
container: ghcr.io/acts-project/ubuntu2404:83
160161
needs: [linux_ubuntu]
161-
env:
162-
ACTS_SEQUENCER_DISABLE_FPEMON: true
163162

164163
steps:
165164
- uses: actions/checkout@v6

.gitlab-ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,7 @@ linux_ubuntu_2404_clang19:
395395

396396
variables:
397397
ACTS_LOG_FAILURE_THRESHOLD: WARNING
398-
# disable fpe monitoring as we can't mask without backtrace support
399-
ACTS_SEQUENCER_DISABLE_FPEMON: true
398+
ACTS_SEQUENCER_FAIL_ON_UNMASKED_FPE: 0
400399
INSTALL_DIR: ${CI_PROJECT_DIR}/install
401400
# force off even if it is CI mode
402401
ROOT_HASH_CHECKS: off

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ repos:
3131
args: ["-i", "--no-warn-about-unknown-commands"]
3232

3333
- repo: https://github.com/codespell-project/codespell
34-
rev: v2.2.4
34+
rev: v2.4.2
3535
hooks:
3636
- id: codespell
3737
args: [
3838
"-S", "*.ipynb,*.onnx,_build,*.svg",
3939
"-I", "./CI/codespell_ignore.txt",
4040
"-w"
4141
]
42-
exclude: ^CI/.*|docs/tex-mml-chtml.js$
42+
exclude: ^CI/.*|^docs/old|docs/tex-mml-chtml.js$
4343

4444
- repo: local
4545
hooks:

CI/clang_tidy/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pyyaml==6.0.3
3030
# via -r CI/clang_tidy/requirements.in
3131
rich==14.3.3
3232
# via -r CI/clang_tidy/requirements.in
33-
setuptools==82.0.0
33+
setuptools==82.0.1
3434
# via fs
3535
six==1.17.0
3636
# via fs

CI/codespell_ignore.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,31 @@ ans
33
boxs
44
bu
55
coner
6+
countin
67
dependees
78
dthe
89
ect
10+
estimater
911
exprot
1012
gaus
13+
hep
1114
interprete
1215
iself
1316
lastr
1417
localy
1518
millepede
19+
parin
1620
parm
21+
patchin
1722
pixelx
1823
pring
24+
rin
1925
sortings
2026
strack
2127
te
28+
tge
29+
transformin
2230
vart
2331
writet
24-
OptionA
32+
optiona
2533
thirdparty

CI/fpe_masks/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pycparser==3.0
4040
# via cffi
4141
pygments==2.19.2
4242
# via rich
43-
pyjwt==2.11.0
43+
pyjwt==2.12.1
4444
# via gidgethub
4545
rich==14.3.3
4646
# via

CMakeLists.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ option(ACTS_BUILD_EXAMPLES "Build basic examples components" OFF)
108108
option(ACTS_BUILD_EXAMPLES_DD4HEP "Build DD4hep-based code in the examples" OFF)
109109
option(ACTS_BUILD_EXAMPLES_EDM4HEP "Build EDM4hep-based code in the examples" OFF)
110110
option(ACTS_BUILD_EXAMPLES_FASTJET "Build FastJet plugin" OFF)
111-
option(ACTS_BUILD_EXAMPLES_PODIO "Build Podio-based code in the examples" OFF)
112-
option(ACTS_BUILD_EXAMPLES_GNN "Build the GNN example code" OFF)
113111
option(ACTS_BUILD_EXAMPLES_GEANT4 "Build Geant4-based code in the examples" OFF)
112+
option(ACTS_BUILD_EXAMPLES_GNN "Build the GNN example code" OFF)
114113
option(ACTS_BUILD_EXAMPLES_HASHING "Build Hashing-based code in the examples" OFF)
114+
option(ACTS_BUILD_EXAMPLES_PODIO "Build Podio-based code in the examples" OFF)
115115
option(ACTS_BUILD_EXAMPLES_PYTHIA8 "Build Pythia8-based code in the examples" OFF)
116116
option(ACTS_BUILD_EXAMPLES_PYTHON_BINDINGS "[Deprecated] Build python bindings and enables the examples" OFF)
117117
option(ACTS_BUILD_EXAMPLES_ROOT "Build modules based on ROOT I/O" OFF)
@@ -161,15 +161,21 @@ set_option_if(
161161
OR
162162
ACTS_BUILD_EXAMPLES_EDM4HEP
163163
OR
164+
ACTS_BUILD_EXAMPLES_FASTJET
165+
OR
164166
ACTS_BUILD_EXAMPLES_GEANT4
165167
OR
168+
ACTS_BUILD_EXAMPLES_GNN
169+
OR
166170
ACTS_BUILD_EXAMPLES_HASHING
167171
OR
168-
ACTS_BUILD_EXAMPLES_PYTHIA8
172+
ACTS_BUILD_EXAMPLES_PODIO
169173
OR
170-
ACTS_BUILD_EXAMPLES_GNN
174+
ACTS_BUILD_EXAMPLES_PYTHIA8
171175
OR
172176
ACTS_BUILD_EXAMPLES_PYTHON_BINDINGS
177+
OR
178+
ACTS_BUILD_EXAMPLES_ROOT
173179
)
174180
# core plugins might be required by examples or depend on each other
175181
set_option_if(

CMakePresets.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"ACTS_BUILD_PLUGIN_ACTSVG": "ON",
6060
"ACTS_BUILD_PLUGIN_DD4HEP": "ON",
6161
"ACTS_BUILD_PLUGIN_EDM4HEP": "ON",
62+
"ACTS_BUILD_PLUGIN_FPEMON": "ON",
6263
"ACTS_BUILD_PLUGIN_GEOMODEL": "ON",
6364
"ACTS_BUILD_PLUGIN_TRACCC": "ON",
6465
"ACTS_BUILD_PLUGIN_GEANT4": "ON",
@@ -110,8 +111,7 @@
110111
"displayName": "GitLab-CI",
111112
"inherits": "ci-common",
112113
"cacheVariables": {
113-
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
114-
"ACTS_BUILD_PLUGIN_FPEMON": "ON"
114+
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
115115
}
116116
},
117117
{
@@ -148,6 +148,7 @@
148148
"ACTS_FORCE_ASSERTIONS": "ON",
149149
"ACTS_ENABLE_LOG_FAILURE_THRESHOLD": "ON",
150150
"ACTS_BUILD_PYTHON_BINDINGS": "ON",
151+
"ACTS_BUILD_PLUGIN_FPEMON": "ON",
151152
"ACTS_BUILD_PLUGIN_GNN": "ON",
152153
"ACTS_BUILD_EXAMPLES": "ON",
153154
"ACTS_BUILD_EXAMPLES_GNN": "ON",
@@ -168,6 +169,7 @@
168169
"CMAKE_CXX_COMPILER_LAUNCHER": "ccache",
169170
"CMAKE_CUDA_ARCHITECTURES": "86",
170171
"TORCH_CUDA_ARCH_LIST": "8.6",
172+
"ACTS_BUILD_PLUGIN_FPEMON": "ON",
171173
"ACTS_BUILD_PLUGIN_GNN": "ON",
172174
"ACTS_GNN_ENABLE_TORCH": "OFF",
173175
"ACTS_GNN_ENABLE_CUDA": "ON",
@@ -192,7 +194,7 @@
192194
"ACTS_BUILD_PYTHON_BINDINGS": "ON",
193195
"ACTS_BUILD_EXAMPLES": "ON",
194196
"ACTS_BUILD_PLUGIN_ROOT": "OFF",
195-
"ACTS_BUILD_PLUGIN_FPEMON": "OFF",
197+
"ACTS_BUILD_PLUGIN_FPEMON": "ON",
196198
"ACTS_BUILD_EXAMPLES_ROOT": "OFF",
197199
"ACTS_USE_SYSTEM_NLOHMANN_JSON": "ON",
198200
"ACTS_USE_SYSTEM_PYBIND11": "ON"

Core/include/Acts/Geometry/DetectorElementBase.hpp

Lines changed: 0 additions & 59 deletions
This file was deleted.

Core/include/Acts/Geometry/IndexGrid.hpp

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include <algorithm>
2222
#include <array>
23+
#include <functional>
2324
#include <set>
2425
#include <string>
2526
#include <vector>
@@ -100,7 +101,7 @@ void applyReferenceExpansion(
100101
/// bin in between the extra points are filled, and a possible expansion
101102
/// of the bin window can be chosen
102103
///
103-
/// @tparam grid_type the type of the grid that determines locall binning
104+
/// @tparam grid_type the type of the grid that determines local binning
104105
///
105106
/// @param grid the grid used for this
106107
/// @param queries the grid positions for the bin queries
@@ -233,17 +234,38 @@ class IndexGrid {
233234
/// These are the cast parameters - copied from constructor
234235
std::array<AxisDirection, grid_type::DIM> casts{};
235236

236-
/// A transform to be applied to the position
237-
Transform3 transform = Transform3::Identity();
237+
/// Abrivation of the delegate to transform the
238+
/// external point into the grid's coordinate system
239+
using Delegate_t =
240+
std::function<const Transform3&(const GeometryContext& gctx)>;
238241

239-
/// @brief Constructor for a grid based surface attacher
242+
/// Delegate to transform the external points into the grid's
243+
/// coordinate system
244+
Delegate_t toLocalFrame = nullptr;
245+
246+
/// Constructor for a grid based surface attacher
240247
/// @param igrid the grid that is moved into this attacher
241248
/// @param icasts is the cast values array
242249
/// @param itr a transform applied to the global position
243250
IndexGrid(grid_type&& igrid,
244251
const std::array<AxisDirection, grid_type::DIM>& icasts,
245252
const Transform3& itr = Transform3::Identity())
246-
: grid(std::move(igrid)), casts(icasts), transform(itr) {}
253+
: grid{std::move(igrid)},
254+
casts{icasts},
255+
toLocalFrame{
256+
[itr](const GeometryContext& /*gctx*/) -> const Transform3& {
257+
return itr;
258+
}} {}
259+
/// Constructor for a grid based surface attacher with alignable delegate
260+
/// @param igrid the grid that is moved into this attacher
261+
/// @param icasts is the cast values array
262+
/// @param trfFunc a transform applied to the global position
263+
IndexGrid(grid_type&& igrid,
264+
const std::array<AxisDirection, grid_type::DIM>& icasts,
265+
Delegate_t trfFunc)
266+
: grid{std::move(igrid)},
267+
casts{icasts},
268+
toLocalFrame{std::move(trfFunc)} {}
247269

248270
IndexGrid() = delete;
249271
};
@@ -299,7 +321,7 @@ struct IndexGridFiller {
299321
// Cast the transform according to the grid binning
300322
gridQueries.push_back(
301323
GridAccessHelpers::castPosition<decltype(iGrid.grid)>(
302-
iGrid.transform * ref, iGrid.casts));
324+
iGrid.toLocalFrame(gctx) * ref, iGrid.casts));
303325
}
304326
ACTS_DEBUG(gridQueries.size() << " reference points generated.");
305327
// These are now in the grid frame, can be expanded

0 commit comments

Comments
 (0)