Continued reworking of the GlobalChi2Fitter internal memory architecture
This merge request continues my previous work on refactoring the internal memory model of the GlobalChi2Fitter
. Previously, there was rampant use of raw pointers (with an assumption of ownership), and the new
and delete
keywords. This merge request gets rid of virtually all of these cases, and almost all heal allocations in the fitter should now be covered by std::unique_ptr
. The goal here is to make the code easier to understand by making the ownership model more explicit, make the code easier to maintain, and improve memory safety. As an added benefit, it also reduces the code volume a little.
My apologies a priori for the rather dense merge request. I've intentionally divided it into relatively small commits for easier analysis and debugging.
I've tested this merge request and have not observed any differences in output quality or CPU performance.
Merge request reports
Activity
This merge request affects 1 package:
- Tracking/TrkFitter/TrkGlobalChi2Fitter
Adding @amorley as watcher
added Tracking master review-pending-level-1 labels
CI Result SUCCESS (hash a5d2466a)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 19461]added review-pending-level-2 label and removed review-pending-level-1 label
- Resolved by Stephen Nicholas Swatman
- Resolved by Stephen Nicholas Swatman
- Resolved by Stephen Nicholas Swatman
- Resolved by Stephen Nicholas Swatman
- Resolved by Stephen Nicholas Swatman
- Resolved by Stephen Nicholas Swatman
Hi @sswatman,
I looked through the code and couldn't find any issues. I merely had few minor suggestions, that could also be considered in future MR. Do you prefer to implement some of the small suggestions now? Otherwise, I'm happy to approve.
Best, Carsten (L2)
This merge request affects 1 package:
- Tracking/TrkFitter/TrkGlobalChi2Fitter
Adding @amorley as watcher
added review-pending-level-1 label and removed review-pending-level-2 label
CI Result FAILURE (hash 2e078b48)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 1, warnings 1
AthSimulation: number of compilation errors 1, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 19680]