Skip to content
Snippets Groups Projects
runMonitorTof.cxx 2.52 KiB
Newer Older
#include "CbmDeviceMonitorTof.h"
Administrator's avatar
Administrator committed
#include "runFairMQDevice.h"
Administrator's avatar
Administrator committed
#include <string>

namespace bpo = boost::program_options;
using namespace std;

Administrator's avatar
Administrator committed
void addCustomOptions(bpo::options_description& options) {
  options.add_options()("IgnOverMs",
                        bpo::value<bool>()->default_value(true),
                        "Ignore overlap MS if true");
  options.add_options()("DebugMoni",
                        bpo::value<bool>()->default_value(false),
                        "Debug Monitor Mode");
  options.add_options()("IgnCritErr",
                        bpo::value<bool>()->default_value(true),
                        "Ignore Critical Errors");
  options.add_options()("HistEvoSz",
                        bpo::value<uint32_t>()->default_value(1800),
                        "Size of evolution histos in seconds");
  options.add_options()("PulsTotMin",
                        bpo::value<uint32_t>()->default_value(185),
                        "Minimal TOT for pulser cut");
  options.add_options()("PulsTotMax",
                        bpo::value<uint32_t>()->default_value(195),
                        "Maximal TOT for pulser cut");
  options.add_options()(
    "GdpbIdx",
    bpo::value<int32_t>()->default_value(-1),
    "Single gDPB selection by index, -1 (default) to disable");
  options.add_options()("PubFreqTs",
                        bpo::value<uint32_t>()->default_value(100),
                        "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()(
    "TsNameIn",
    bpo::value<std::string>()->default_value("tofcomponent"),
    "MQ channel name for TS data");
  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");
Administrator's avatar
Administrator committed
FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) {
  return new CbmDeviceMonitorTof();