29 #include <boost/program_options.hpp>
32 template <
typename Fitter>
33 struct FitterFunctionImpl {
36 FitterFunctionImpl(Fitter&& f) : fitter(std::move(f)) {}
39 const std::vector<ActsExamples::SimSourceLink>& sourceLinks,
42 return fitter.fit(sourceLinks, initialParameters, options);
59 using InputMagneticField =
60 typename std::decay_t<decltype(inputField)>::element_type;
68 MagneticField field(std::move(inputField));
71 navigator.resolvePassive =
false;
72 navigator.resolveMaterial =
true;
73 navigator.resolveSensitive =
true;
74 Propagator propagator(std::move(stepper), std::move(navigator));
75 Fitter fitter(std::move(propagator));
78 return FitterFunctionImpl<Fitter>(std::move(fitter));
80 std::move(magneticField));