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-2025 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/spacepoint_collection.hpp"
0012 #include "traccc/seeding/detail/seeding_config.hpp"
0013 #include "traccc/seeding/detail/spacepoint_grid.hpp"
0014 #include "traccc/utils/messaging.hpp"
0015 
0016 // System include(s).
0017 #include <functional>
0018 #include <utility>
0019 
0020 namespace traccc::host::details {
0021 
0022 /// Spacepoint Binning for the seeding algorithm
0023 class spacepoint_binning : public messaging {
0024  public:
0025   /// Constructor for the spacepoint binning
0026   ///
0027   /// @param config is seed finder configuration parameters
0028   /// @param grid_config is for spacepoint grid parameter
0029   /// @param mr is the vecmem memory resource
0030   ///
0031   spacepoint_binning(
0032       const seedfinder_config& config,
0033       const spacepoint_grid_config& grid_config, vecmem::memory_resource& mr,
0034       std::unique_ptr<const Logger> logger = getDummyLogger().clone());
0035 
0036   /// Operator executing the algorithm
0037   ///
0038   /// @param spacepoints All of the spacepoints of the event
0039   /// @return The spacepoints arranged in a Phi-Z grid
0040   ///
0041   traccc::details::spacepoint_grid_types::host operator()(
0042       const edm::spacepoint_collection::const_view& spacepoints) const;
0043 
0044  private:
0045   /// @name Tool configuration
0046   /// @{
0047   seedfinder_config m_config;
0048   spacepoint_grid_config m_grid_config;
0049   std::pair<traccc::details::spacepoint_grid_types::host::axis_p0_type,
0050             traccc::details::spacepoint_grid_types::host::axis_p1_type>
0051       m_axes;
0052   /// @}
0053 
0054   /// Memory resource to use
0055   std::reference_wrapper<vecmem::memory_resource> m_mr;
0056 
0057 };  // class spacepoint_binning
0058 
0059 }  // namespace traccc::host::details