Newer
Older
/* 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"
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");

Pierre-Alain Loizeau
committed
options.add_options()("ChNameMissTs", bpo::value<std::string>()->default_value(""),
options.add_options()("ChNameCmds", bpo::value<std::string>()->default_value(""),
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(); }