-
Notifications
You must be signed in to change notification settings - Fork 30
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
feat: fix compilation for Acts versions from v36 up to v38 #1715
base: main
Are you sure you want to change the base?
Conversation
Capybara summary for PR 1715
|
…delegates (#3161) @36.0.0:
… in the seeding (#3432) @37.0.0:
… in Examples (#3732) @37.1.0:
if (!track.hasReferenceSurface()) { | ||
ACTS_WARNING("Track has no reference surface."); | ||
continue; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where did this come from? Upstream code only has a ACTS_ERROR("Track has no reference surface");
but in a different context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, to simply continue here is not correct. We tried that before, and this is what was implemented instead: #1677
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the careful review. Segfaults happen two lines below this even with the #1677 treatment included (which has always been in this branch for testing since it well predates it). I guess that means even with a successful extrapolation we now have referenceSurfacePtrs that are null and the check in #1677 is insufficient.
Suggestion: revert this, and I'll dig into it more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, it may be that in #1677 we should have had the addition to failed tracks also in the smoothing step.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least this is an easy to reproduce issue, since it segfaults out on the very first event (and presumably every event).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#1741 doesn't address the underlying issue, but is a sensible fix anyway.
Briefly, what does this PR introduce?
This adapts our tracking algorithms to any Acts version between v36 and v38.
The commits in this branch are topologically ordered with reference to the commit message title, Acts PR number, and version validity. All commits compile individually, but no event-for-event validation has been performed. See also #1525.
The support for mulitple versions is done by somewhat extensive use of preprocessor directives based on
Acts_VERSION_MAJOR
andActs_VERSION_MINOR
.Builds with: (to be completed)
Needs:
What kind of change does this PR introduce?
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
No.
Does this PR change default behavior?
No.