CbmDeviceMonitorPsd.cxx 13.82 KiB
/* Copyright (C) 2021 Institute for Nuclear Research, Moscow
SPDX-License-Identifier: GPL-3.0-only
Authors: Nikolay Karpushkin [committer] */
/**
* CbmDeviceMonitorPsd.cxx
*
* @since 2021-02-17
* @author N. Karpushkin
* @comment based on CbmDeviceMonitorT0 by F. Uhlig
*/
#include "CbmDeviceMonitorPsd.h"
#include "CbmFlesCanvasTools.h"
#include "CbmMQDefs.h"
#include "CbmMcbm2018MonitorAlgoPsd.h"
#include "StorableTimeslice.hpp"
#include "FairMQLogger.h"
#include "FairMQProgOptions.h" // device->fConfig
#include "FairParGenericSet.h"
#include "TCanvas.h"
#include "TFile.h"
#include "TH1.h"
#include "TList.h"
#include "TNamed.h"
#include "BoostSerializer.h"
#include <boost/archive/binary_iarchive.hpp>
#include <boost/serialization/utility.hpp>
#include <array>
#include <iomanip>
#include <stdexcept>
#include <string>
#include "RootSerializer.h"
struct InitTaskError : std::runtime_error {
using std::runtime_error::runtime_error;
};
using namespace std;
CbmDeviceMonitorPsd::CbmDeviceMonitorPsd()
: fbIgnoreOverlapMs {false}
, fsChannelNameDataInput {"psdcomponent"}
, fsChannelNameHistosInput {"histogram-in"}
, fsChannelNameHistosConfig {"histo-conf"}
, fsChannelNameCanvasConfig {"canvas-conf"}
, fuPublishFreqTs {100}
, fdMinPublishTime {0.5}
, fdMaxPublishTime {5.0}
, fuHistoryHistoSize {3600}
, fviHistoChargeArgs(3, 0)
, fviHistoAmplArgs(3, 0)
, fviHistoZLArgs(3, 0)
, fsAllowedChannels {fsChannelNameDataInput}
, fParCList {nullptr}
, fulNumMessages {0}
, fulTsCounter {0}
, fLastPublishTime {std::chrono::system_clock::now()}
, fMonitorAlgo {new CbmMcbm2018MonitorAlgoPsd()}
, fArrayHisto {}
, fvpsHistosFolder {}
, fvpsCanvasConfig {}
{
}