File indexing completed on 2026-07-26 08:22:01
0001
0002
0003
0004
0005
0006
0007
0008 #pragma once
0009
0010
0011 #include "traccc/edm/measurement_collection.hpp"
0012 #include "traccc/edm/seed_collection.hpp"
0013 #include "traccc/edm/spacepoint_collection.hpp"
0014 #include "traccc/edm/track_parameters.hpp"
0015 #include "traccc/seeding/detail/track_params_estimation_config.hpp"
0016 #include "traccc/utils/algorithm.hpp"
0017 #include "traccc/utils/messaging.hpp"
0018
0019
0020 #include <vecmem/memory/memory_resource.hpp>
0021
0022
0023 #include <functional>
0024
0025 namespace traccc::host {
0026
0027
0028
0029
0030
0031 class track_params_estimation
0032 : public algorithm<bound_track_parameters_collection_types::host(
0033 const edm::measurement_collection::const_view&,
0034 const edm::spacepoint_collection::const_view&,
0035 const edm::seed_collection::const_view&, const vector3&)>,
0036 public messaging {
0037 public:
0038
0039
0040
0041 track_params_estimation(
0042 const track_params_estimation_config& config, vecmem::memory_resource& mr,
0043 std::unique_ptr<const Logger> logger = getDummyLogger().clone());
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 output_type operator()(
0056 const edm::measurement_collection::const_view& measurements,
0057 const edm::spacepoint_collection::const_view& spacepoints,
0058 const edm::seed_collection::const_view& seeds,
0059 const vector3& bfield) const override;
0060
0061 private:
0062 const track_params_estimation_config m_config;
0063
0064 std::reference_wrapper<vecmem::memory_resource> m_mr;
0065 };
0066
0067 }