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
Edited by Frank Winklmeier