Skip to content
Snippets Groups Projects
CbmDeviceTriggerHandlerEtof.h 1.83 KiB
Newer Older
/* Copyright (C) 2019 PI-UHd, GSI
   SPDX-License-Identifier: GPL-3.0-only
   Authors: Norbert Herrmann [committer] */
/**
 * CbmDeviceTriggerHandlerStar2019.h
 *
 * @since 2019-11-15
 * @author N. Herrmann
 */

#ifndef CBMDEVICETRIGGERHANDLERETOF_H_
#define CBMDEVICETRIGGERHANDLERETOF_H_

#include "CbmTofStarData2019.h"

#include "MicrosliceDescriptor.hpp"
Administrator's avatar
Administrator committed
#include "Timeslice.hpp"
#include "FairMQDevice.h"

#include "Rtypes.h"

#include <map>
Administrator's avatar
Administrator committed
#include <vector>
Administrator's avatar
Administrator committed
// Relevant TOF classes
Administrator's avatar
Administrator committed
extern "C" int star_rhicf_write(unsigned int trg_word, void* dta, int bytes);

// ROOT Classes and includes
class TString;

// C++ Classes and includes
#include <list>
Administrator's avatar
Administrator committed
#include <map>
#include <vector>
Administrator's avatar
Administrator committed
class CbmDeviceTriggerHandlerEtof : public FairMQDevice {
public:
  CbmDeviceTriggerHandlerEtof();
  virtual ~CbmDeviceTriggerHandlerEtof();
Administrator's avatar
Administrator committed
protected:
  virtual void InitTask();
  bool HandleData(FairMQParts&, int);
  bool HandleMessage(FairMQMessagePtr&, int);
Administrator's avatar
Administrator committed
private:
  // Variables used for histo filling
Administrator's avatar
Administrator committed
  Bool_t IsChannelNameAllowed(std::string channelName);
Administrator's avatar
Administrator committed
  Bool_t InitWorkspace();
  Bool_t InitContainers();
Administrator's avatar
Administrator committed
  Bool_t ReInitContainers();
Administrator's avatar
Administrator committed
  uint64_t fNumMessages;
  std::vector<std::string> fAllowedChannels = {"tofcomponent", "parameters", "etofevts", "tofhits", "syscmd"};
Administrator's avatar
Administrator committed
  // Input variables
Administrator's avatar
Administrator committed
  // Output variables
Administrator's avatar
Administrator committed
  // Constants or setting parameters
  Int_t fiMsgCnt;
  /// Control flags
  Bool_t fbMonitorMode;       //! Switch ON the filling of a minimal set of histograms
  Bool_t fbDebugMonitorMode;  //! Switch ON the filling of a additional set of histograms
  Bool_t fbSandboxMode;       //! Switch OFF the emission of data toward the STAR DAQ
  Bool_t fbEventDumpEna;      //! Switch ON the dumping of the events to a binary file
Administrator's avatar
Administrator committed
  Double_t fdEvent;
Administrator's avatar
Administrator committed
  // histograms
};

#endif /* CBMDEVICETRIGGERHANDLERETOF_H_ */