Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-06-26 07:05:41

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2023, Christopher Dilks
0003 
0004 #pragma once
0005 
0006 #include <spdlog/spdlog.h>
0007 
0008 namespace eicrecon {
0009 
0010   class MergeParticleIDConfig {
0011     public:
0012 
0013       /////////////////////////////////////////////////////
0014       // CONFIGURATION PARAMETERS
0015       //   NOTE: some defaults are hard-coded here; override externally
0016 
0017       // decide how to combine the weights
0018       enum math_enum { kAddWeights, kMultiplyWeights };
0019       int mergeMode = kAddWeights;
0020 
0021       //
0022       /////////////////////////////////////////////////////
0023 
0024       // print all parameters
0025       void Print(
0026           std::shared_ptr<spdlog::logger> m_log,
0027           spdlog::level::level_enum lvl=spdlog::level::debug
0028           )
0029       {
0030         m_log->log(lvl, "{:=^60}"," MergeParticleIDConfig Settings ");
0031         auto print_param = [&m_log, &lvl] (auto name, auto val) {
0032           m_log->log(lvl, "  {:>20} = {:<}", name, val);
0033         };
0034         print_param("mergeMode",mergeMode);
0035         m_log->log(lvl, "{:=^60}","");
0036       }
0037 
0038   };
0039 }