CbmRoot
Loading...
Searching...
No Matches
runTsSamplerRepReq.cxx
Go to the documentation of this file.
1/* Copyright (C) 2021 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
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 options.add_options()("dirname", bpo::value<std::string>()->default_value(""),
15 "Directory name where to find the input files");
16 options.add_options()("fles-host", bpo::value<std::string>()->default_value(""),
17 "Host where the timeslice server is running");
18 options.add_options()("fles-port", bpo::value<uint16_t>()->default_value(0),
19 "Port where the timeslice server is running");
20
21 options.add_options()("max-timeslices", bpo::value<uint64_t>()->default_value(0),
22 "Maximum number of timeslices to process for Run/ConditionalRun/OnData (0 - infinite)");
23 options.add_options()("high-water-mark", bpo::value<uint64_t>()->default_value(1), "High water mark for ZeroMQ");
24
25 options.add_options()("ChNameTsReq", bpo::value<std::string>()->default_value("ts-request"),
26 "MQ channel name for TS requests");
27 options.add_options()("no-split-ts", bpo::value<bool>()->default_value(0),
28 "Send a copy of the full TS to single consummer");
29 options.add_options()("send-ts-per-sysid", bpo::value<bool>()->default_value(0),
30 "Send a single TS upon request of a SysId with all matching components");
31 options.add_options()("send-ts-per-block", bpo::value<bool>()->default_value(0),
32 "Send a single TS upon request of a block name with all matching components");
33 options.add_options()("block-sysid", bpo::value<std::vector<std::string>>(),
34 "Pair a block name and SysId in hex, separated by :, unique use of SysId for all blocks!");
35
36 options.add_options()("ChNameMissTs", bpo::value<std::string>()->default_value(""),
37 "MQ channel name for missed TS indices");
38 options.add_options()("ChNameCmds", bpo::value<std::string>()->default_value(""),
39 "MQ channel name for commands to slaves");
40
41 options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(0), "Histo publishing frequency in TS");
42 options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0),
43 "Minimal time between two publishing");
44 options.add_options()("PubTimeMax", bpo::value<double_t>()->default_value(10.0),
45 "Maximal time between two publishing");
46 options.add_options()("HistosSuffix", bpo::value<std::string>()->default_value(""),
47 "Suffix added to folders, histos and canvases names, e.g. for multiple nodes usages");
48 options.add_options()("ChNameIn", bpo::value<std::string>()->default_value("histogram-in"),
49 "MQ channel name for histos");
50}
51
52FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmMQTsSamplerRepReq(); }
FairMQDevicePtr getDevice(const FairMQProgOptions &)
void addCustomOptions(bpo::options_description &options)