Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2022-2025 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 // Local include(s).
0009 #include "traccc/options/track_resolution.hpp"
0010 
0011 #include "traccc/examples/utils/printable.hpp"
0012 
0013 // System include(s).
0014 #include <format>
0015 
0016 namespace traccc::opts {
0017 
0018 /// Convenience namespace shorthand
0019 namespace po = boost::program_options;
0020 
0021 track_resolution::track_resolution()
0022     : interface("Track Ambiguity Resolution Options") {
0023   m_desc.add_options()("min-meas-per-track",
0024                        po::value(&m_config.min_meas_per_track)
0025                            ->default_value(m_config.min_meas_per_track),
0026                        "Min number of measurements per track");
0027   m_desc.add_options()("max-iterations",
0028                        po::value(&m_config.max_iterations)
0029                            ->default_value(m_config.max_iterations),
0030                        " Max iteration to remove the bad tracks");
0031   m_desc.add_options()("max-shared-meas",
0032                        po::value(&m_config.max_shared_meas)
0033                            ->default_value(m_config.max_shared_meas),
0034                        "Min number of shared measurements for competition");
0035 }
0036 
0037 track_resolution::operator ambiguity_resolution_config() const {
0038   return m_config;
0039 }
0040 
0041 std::unique_ptr<configuration_printable> track_resolution::as_printable()
0042     const {
0043   auto cat = std::make_unique<configuration_category>(m_description);
0044 
0045   cat->add_child(std::make_unique<configuration_kv_pair>(
0046       "Min number of measurements per track",
0047       std::to_string(m_config.min_meas_per_track)));
0048   cat->add_child(std::make_unique<configuration_kv_pair>(
0049       "Max iteration to remove the bad tracks",
0050       std::to_string(m_config.max_iterations)));
0051   cat->add_child(std::make_unique<configuration_kv_pair>(
0052       "Max shared meas to break the iteration",
0053       std::to_string(m_config.max_shared_meas)));
0054   return cat;
0055 }
0056 }  // namespace traccc::opts