Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-26 08:22:01

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2021-2026 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 #pragma once
0009 
0010 // Library include(s).
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 // VecMem include(s).
0020 #include <vecmem/memory/memory_resource.hpp>
0021 
0022 // System include(s).
0023 #include <functional>
0024 
0025 namespace traccc::host {
0026 
0027 /// Track parameter estimation algorithm
0028 ///
0029 /// Transcribed from Acts/Seeding/EstimateTrackParamsFromSeed.hpp.
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   /// Constructor for track_params_estimation
0039   ///
0040   /// @param mr is the memory resource
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   /// Callable operator for track_params_esitmation
0046   ///
0047   /// @param measurements All measurements of the event
0048   /// @param spacepoints All spacepoints of the event
0049   /// @param seeds The reconstructed track seeds of the event
0050   /// @param bfield (Temporary) Magnetic field vector
0051   /// @param stddev standard deviation for setting the covariance (Default
0052   /// value from arXiv:2112.09470v1)
0053   /// @return A vector of bound track parameters
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   /// The memory resource to use in the algorithm
0064   std::reference_wrapper<vecmem::memory_resource> m_mr;
0065 };  // class track_params_estimation
0066 
0067 }  // namespace traccc::host