CbmRoot
Loading...
Searching...
No Matches
runTsaMultiSampler.cxx
Go to the documentation of this file.
1/* Copyright (C) 2019-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer], Pierre-Alain Loizeau */
4
6
7#include "runFairMQDevice.h"
8
9namespace bpo = boost::program_options;
10
11void addCustomOptions(bpo::options_description& options)
12{
13 options.add_options()("filename", bpo::value<std::string>()->default_value(""), "Filename of the input file")(
14 "dirname", bpo::value<std::string>()->default_value(""), "Directory name where to find the input files")(
15 "flib-host", bpo::value<std::string>()->default_value(""), "Host where the timeslice server is running")(
16 "max-timeslices", bpo::value<uint64_t>()->default_value(0),
17 "Maximum number of timeslices to process for Run/ConditionalRun/OnData (0 "
18 "- infinite)")("high-water-mark", bpo::value<uint64_t>()->default_value(1), "High water mark for ZeroMQ")(
19 "no-split-ts", bpo::value<bool>()->default_value(0),
20 "Send a copy of the full TS to all enabled channels")("send-ts-per-sysid", bpo::value<bool>()->default_value(0),
21 "Send a single TS per SysId with all matching components")(
22 "send-ts-per-channel", bpo::value<bool>()->default_value(0),
23 "Send a single TS per channel with all matching components")(
24 "sysid-chan", bpo::value<std::vector<std::string>>(),
25 "Pair a SysId in hex + channel name, separated by :, unique SysId!")(
26 "flib-port", bpo::value<uint64_t>()->default_value(0), "Port where the timeslice server is running");
27
28 options.add_options()("ChNameMissTs", bpo::value<std::string>()->default_value(""),
29 "MQ channel name for missed TS indices");
30 options.add_options()("ChNameCmds", bpo::value<std::string>()->default_value(""),
31 "MQ channel name for commands to slaves");
32
33 options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(0), "Histo publishing frequency in TS");
34 options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0),
35 "Minimal time between two publishing");
36 options.add_options()("PubTimeMax", bpo::value<double_t>()->default_value(10.0),
37 "Maximal time between two publishing");
38 options.add_options()("ChNameIn", bpo::value<std::string>()->default_value("histogram-in"),
39 "MQ channel name for histos");
40 options.add_options()("ChNameHistCfg", bpo::value<std::string>()->default_value("histo-conf"),
41 "MQ channel name for histos config");
42 options.add_options()("ChNameCanvCfg", bpo::value<std::string>()->default_value("canvas-conf"),
43 "MQ channel name for canvases config");
44}
45
46FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmMQTsaMultiSampler(); }
FairMQDevicePtr getDevice(const FairMQProgOptions &)
void addCustomOptions(bpo::options_description &options)