Examples compilation units round 2
This MR moves more stuff into separate compilation units and tries to remove more unnecessary templates. Specifically, it decouples the FittingAlgorithm
from the KF, by introducing an std::function
to the config struct. This is only invoked once per fit, so the overhead should be negligible, but it allows changing the KF without having to recompile the algorithm, and vice-versa.
To achieve more separation, I also make the bfield option reader return a variant of four specific bfield types. This way, functions taking the bfield as an arg can be not templated, and resolve the bfield type at runtime. The variant is typedef'd once, so can be changed easily.
It also includes minor fixes due to acts-core!673 (merged) and re-updates to master after !159 (merged) went in.