Skip to content
Snippets Groups Projects
Select Git revision
  • 19d9d6fde11b5ccf63ea65335cb373325990ae7d
  • master default protected
  • nightly_master
  • online_mvd_readconf_cleanup protected
  • online_much_readconf_cleanup protected
  • jul25_patches
  • cleanup_rich_v25a
  • jul24_patches
  • nov23_patches
  • DC_2404
  • nighly_master
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • feb23_patches
  • L1Algo-dev9
  • dec21_patches protected
  • apr21_patches protected
  • dev_2025_46
  • dev_2025_45
  • dev_2025_44
  • dev_2025_43
  • dev_2025_42
  • dev_2025_41
  • dev_2025_40
  • dev_2025_39
  • dev_2025_38
  • dev_2025_37
  • dev_2025_36
  • dev_2025_35
  • dev_2025_34
  • dev_2025_33
  • dev_2025_32
  • dev_2025_31
  • dev_2025_30
  • RC_jul25
  • dev_2025_29
  • dev_2025_28
38 results

runTsaMultiSampler.cxx

Blame
  • Eoin Clerkin's avatar
    Eoin Clerkin authored
    Decision to not use doxygen for licence headers. Removes doxygen formatting and file tag.
    35afe0ea
    History
    runTsaMultiSampler.cxx 2.83 KiB
    /* Copyright (C) 2019-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
       SPDX-License-Identifier: GPL-3.0-only
       Authors: Florian Uhlig [committer], Pierre-Alain Loizeau */
    
    #include "CbmMQTsaMultiSampler.h"
    
    #include "runFairMQDevice.h"
    
    namespace bpo = boost::program_options;
    
    void addCustomOptions(bpo::options_description& options)
    {
      options.add_options()("filename", bpo::value<std::string>()->default_value(""), "Filename of the input file")(
        "dirname", bpo::value<std::string>()->default_value(""), "Directory name where to find the input files")(
        "flib-host", bpo::value<std::string>()->default_value(""), "Host where the timeslice server is running")(
        "max-timeslices", bpo::value<uint64_t>()->default_value(0),
        "Maximum number of timeslices to process for Run/ConditionalRun/OnData (0 "
        "- infinite)")("high-water-mark", bpo::value<uint64_t>()->default_value(1), "High water mark for ZeroMQ")(
        "no-split-ts", bpo::value<bool>()->default_value(0),
        "Send a copy of the full TS to all enabled channels")("send-ts-per-sysid", bpo::value<bool>()->default_value(0),
                                                              "Send a single TS per SysId with all matching components")(
        "send-ts-per-channel", bpo::value<bool>()->default_value(0),
        "Send a single TS per channel with all matching components")(
        "sysid-chan", bpo::value<std::vector<std::string>>(),
        "Pair a SysId in hex + channel name, separated by :, unique SysId!")(
        "flib-port", bpo::value<uint64_t>()->default_value(0), "Port where the timeslice server is running");
    
      options.add_options()("ChNameMissTs", bpo::value<std::string>()->default_value(""),
                            "MQ channel name for missed TS indices");
      options.add_options()("ChNameCmds", bpo::value<std::string>()->default_value(""),
                            "MQ channel name for commands to slaves");
    
      options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(0), "Histo publishing frequency in TS");
      options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0),
                            "Minimal time between two publishing");
      options.add_options()("PubTimeMax", bpo::value<double_t>()->default_value(10.0),
                            "Maximal time between two publishing");
      options.add_options()("ChNameIn", bpo::value<std::string>()->default_value("histogram-in"),
                            "MQ channel name for histos");
      options.add_options()("ChNameHistCfg", bpo::value<std::string>()->default_value("histo-conf"),
                            "MQ channel name for histos config");
      options.add_options()("ChNameCanvCfg", bpo::value<std::string>()->default_value("canvas-conf"),
                            "MQ channel name for canvases config");
    }
    
    FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmMQTsaMultiSampler(); }