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