4 #pragma GCC diagnostic push
5 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
6 #pragma GCC diagnostic ignored "-Wunused-value"
7 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
9 #pragma GCC diagnostic ignored "-Wshadow"
11 #pragma GCC diagnostic pop
39 Acts::VectorMultiTrajectory>;
42 Acts::VectorMultiTrajectory, std::shared_ptr>;
44 struct GsfFitterFunctionImpl
51 std::size_t maxComponents = 0;
52 double weightCutoff = 0;
53 bool abortOnError =
false;
54 bool disableAllMaterialHandling =
false;
56 Acts::MixtureReductionMethod::eMaxWeight;
60 GsfFitterFunctionImpl(Fitter&&
f,
62 : fitter(std::
move(
f))
63 , m_slSurfaceAccessor{trkGeo}
67 template <
typename calibrator_t>
70 const calibrator_t& calibrator)
75 extensions.
updater.connect<&Acts::GainMatrixUpdater::operator()<Acts::VectorMultiTrajectory>>(&updater);
87 disableAllMaterialHandling};
89 gsfOptions.extensions.calibrator.connect<&calibrator_t::calibrate>(
91 gsfOptions.extensions.surfaceAccessor.connect<&ActsSourceLink::SurfaceAccessor::operator()>(&m_slSurfaceAccessor);
98 const std::vector<Acts::SourceLink>& sourceLinks,
104 const auto gsfOptions = makeGsfOptions(options, calibrator);
105 using namespace Acts::GsfConstants;
109 tracks.template addColumn<FinalMultiComponentState>(key);
112 return fitter.fit(sourceLinks.begin(), sourceLinks.end(), initialParameters,
126 std::shared_ptr<ActsTrackFittingAlgorithm::TrackFitterFunction>
129 std::shared_ptr<const Acts::MagneticFieldProvider>
magneticField,
130 BetheHeitlerApprox betheHeitlerApprox, std::size_t maxComponents,