Newer
Older
/* Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Florian Uhlig [committer] */
/**
* CbmStsDigiSource.h
*
* @since 2019-08-21
* @author F. Uhlig
*/
#ifndef CBMSTSDIGISOURCE_H_
#define CBMSTSDIGISOURCE_H_
#include "FairMQDevice.h"
#include <string>
#include <vector>
class CbmStsDigi;
class CbmStsDigiSource : public FairMQDevice {
public:
CbmStsDigiSource();
virtual ~CbmStsDigiSource();
std::string fFileName;
std::vector<std::string> fInputFileList; ///< List of input files
uint64_t fFileCounter;
uint64_t fEventNumber;
uint64_t fEventCounter;
uint64_t fMessageCounter;
virtual void InitTask();
virtual bool ConditionalRun();
private:
void PrintStsDigi(const CbmStsDigi*);
bool SendData();
void CalcRuntime();
bool IsChannelNameAllowed(std::string);
};
#endif /* CBMSTSDIGISOURCE_H_ */