Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor!: Split propagator options #3181

Merged
merged 11 commits into from
Jul 12, 2024

Conversation

andiwand
Copy link
Contributor

@andiwand andiwand commented May 9, 2024

Currently our propagator options cannot communicate stepper or navigator specific options which would come handy for example for the DirectNavigator to communicate the surface sequence before starting the propagation.

Summary of the changes in this PR

  • Split propagator options into Stepper, Navigator and Propagator options
  • Introduce StepperPlainOptions and NavigatorPlainOptions
  • Make PropagatorPlainOptions dependent on StepperPlainOptions and NavigatorPlainOptions
  • Handle downstream changes

@andiwand andiwand added this to the v36.0.0 milestone May 9, 2024
@github-actions github-actions bot added Component - Core Affects the Core module Component - Fatras Affects the Fatras module Component - Examples Affects the Examples module Vertexing Track Finding Track Fitting Component - Documentation Affects the documentation labels May 9, 2024
Copy link

codecov bot commented May 10, 2024

Codecov Report

Attention: Patch coverage is 68.75000% with 20 lines in your changes missing coverage. Please review.

Project coverage is 47.64%. Comparing base (75ef913) to head (6125a2f).

Files Patch % Lines
...lude/Acts/Propagator/DenseEnvironmentExtension.hpp 0.00% 0 Missing and 6 partials ⚠️
Core/include/Acts/Propagator/PropagatorOptions.hpp 82.35% 0 Missing and 3 partials ⚠️
Core/include/Acts/Propagator/PropagatorState.hpp 40.00% 0 Missing and 3 partials ⚠️
Core/include/Acts/Propagator/EigenStepper.ipp 50.00% 2 Missing ⚠️
Core/include/Acts/TrackFitting/KalmanFitter.hpp 33.33% 0 Missing and 2 partials ⚠️
Core/include/Acts/Propagator/AtlasStepper.hpp 50.00% 0 Missing and 1 partial ⚠️
...de/Acts/TrackFinding/CombinatorialKalmanFilter.hpp 0.00% 0 Missing and 1 partial ⚠️
Core/src/Material/SurfaceMaterialMapper.cpp 0.00% 1 Missing ⚠️
Core/src/Material/VolumeMaterialMapper.cpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3181      +/-   ##
==========================================
- Coverage   47.66%   47.64%   -0.02%     
==========================================
  Files         509      511       +2     
  Lines       29425    29418       -7     
  Branches    14131    14133       +2     
==========================================
- Hits        14026    14017       -9     
  Misses       5285     5285              
- Partials    10114    10116       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@andiwand andiwand force-pushed the refactor-split-propagator-options branch from 257a9f2 to 8a8570c Compare May 10, 2024 12:02
@andiwand andiwand marked this pull request as ready for review May 10, 2024 12:16
@andiwand andiwand marked this pull request as draft May 15, 2024 06:57
@andiwand andiwand force-pushed the refactor-split-propagator-options branch from 8a8570c to d329f61 Compare May 15, 2024 09:41
@andiwand andiwand force-pushed the refactor-split-propagator-options branch 2 times, most recently from ebbb3e1 to c06b7a3 Compare June 8, 2024 15:24
@andiwand andiwand marked this pull request as ready for review June 8, 2024 17:32
@andiwand andiwand force-pushed the refactor-split-propagator-options branch from f65d5b6 to 6125a2f Compare June 8, 2024 17:33
@andiwand andiwand force-pushed the refactor-split-propagator-options branch 4 times, most recently from 758e622 to 914c42d Compare July 9, 2024 13:03
@andiwand andiwand force-pushed the refactor-split-propagator-options branch from 5f0909e to f6db134 Compare July 11, 2024 05:37
Copy link
Member

@paulgessinger paulgessinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me overall!

Core/include/Acts/Propagator/EigenStepper.hpp Show resolved Hide resolved
Core/include/Acts/Propagator/StepperOptions.hpp Outdated Show resolved Hide resolved
Core/include/Acts/Propagator/MultiEigenStepperLoop.hpp Outdated Show resolved Hide resolved
Core/include/Acts/Propagator/SympyStepper.hpp Outdated Show resolved Hide resolved
Tests/UnitTests/Core/Navigation/DetectorNavigatorTests.cpp Outdated Show resolved Hide resolved
@andiwand
Copy link
Contributor Author

in case there are more sonarcloud issues I will follow that up in one of the sacked PRs

Copy link

@kodiakhq kodiakhq bot merged commit 7db63a6 into acts-project:main Jul 12, 2024
50 checks passed
@andiwand andiwand deleted the refactor-split-propagator-options branch July 12, 2024 19:23
@acts-project-service acts-project-service added the Breaks Athena build This PR breaks the Athena build label Jul 12, 2024
kodiakhq bot pushed a commit that referenced this pull request Jul 15, 2024
Move `startSurface` and `targetSurface` to `Navigator::Options`. In two followup PRs (#3189, #3183) the options will be extended by direct navigator surface and external surfaces.

blocked by:
- #3181
- #3190
kodiakhq bot pushed a commit that referenced this pull request Jul 16, 2024
After #3181 and #3182 we can properly initialize the `DirectNavigator` with the surface sequence without a special `Actor` modifying the sequence at the right moment. This is directly applied for the KF and GSF.

blocked by:
- #3181
- #3182
- #3190
paulgessinger pushed a commit that referenced this pull request Jul 17, 2024
After #3181 and
#3182 we can properly
initialize the external surfaces for the `Navigator` via options without
modifying the state while propagation.

blocked by:
- #3181
- #3182
- #3190
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaks Athena build This PR breaks the Athena build Component - Core Affects the Core module Component - Documentation Affects the documentation Component - Examples Affects the Examples module Component - Fatras Affects the Fatras module Track Finding Track Fitting Vertexing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants