LArWheelCalculator: cleanup parameterization code
Instead of using a mutex in fill_sincos_parameterization
, make the
code thread-safe by profiting from the local static initialization
guarantees of C++11.
The parameterizations for the inner/outer wheel are calculated (and
cached) in two separate functions on first invocation. For each instance
of LArWheelCalculator
, the values then only need to be copied into the
instance members. This also avoids the code duplication for the
cached/non-cached case.
Other changes:
- change from C arrays to
std::array
- fix the size of the arrays to
LARWC_SINCOS_POLY+1=6
(the size was still set to 7, presumably from earlier versions) - enable thread-checker
Merge request reports
Activity
- Resolved by Joseph Boudreau
This merge request affects 1 package:
- DetectorDescription/GeoModel/GeoSpecialShapes
This merge request affects 3 files:
- DetectorDescription/GeoModel/GeoSpecialShapes/GeoSpecialShapes/ATLAS_CHECK_THREAD_SAFETY
- DetectorDescription/GeoModel/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h
- DetectorDescription/GeoModel/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx
added Geometry master review-pending-level-1 labels
CI Result SUCCESS (hash 6c6dead6)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
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
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 53570]removed review-pending-level-1 label
added review-user-action-required label
removed review-user-action-required label
added review-pending-level-1 label
added review-approved label and removed review-pending-level-1 label
mentioned in commit c4db3401
added sweep:ignore label