CbmRoot
CbmStsDigiSource.h
Go to the documentation of this file.
1 
8 #ifndef CBMSTSDIGISOURCE_H_
9 #define CBMSTSDIGISOURCE_H_
10 #include "FairMQDevice.h"
11 
12 #include <ctime>
13 #include <string>
14 #include <vector>
15 
16 class CbmStsDigi;
17 
18 class CbmStsDigiSource : public FairMQDevice {
19 public:
21  virtual ~CbmStsDigiSource();
22 
23 protected:
24  uint64_t fMaxEvents;
25 
26  std::string fFileName;
27  std::vector<std::string> fInputFileList;
28  uint64_t fFileCounter;
29 
30  uint64_t fEventNumber;
31  uint64_t fEventCounter;
32  uint64_t fMessageCounter;
33 
34  int fMaxMemory = 0;
35 
36  virtual void InitTask();
37  virtual bool ConditionalRun();
38 
39 private:
40  void PrintStsDigi(const CbmStsDigi*);
41  bool SendData();
42  void CalcRuntime();
43  bool IsChannelNameAllowed(std::string);
44 
45  std::chrono::steady_clock::time_point fTime;
46 
47  std::vector<std::string> fAllowedChannels = {"stsdigi"};
48 };
49 
50 #endif /* CBMSTSDIGISOURCE_H_ */
CbmStsDigiSource::~CbmStsDigiSource
virtual ~CbmStsDigiSource()
Definition: CbmStsDigiSource.cxx:178
CbmStsDigiSource::InitTask
virtual void InitTask()
Definition: CbmStsDigiSource.cxx:49
CbmStsDigiSource::fFileCounter
uint64_t fFileCounter
Definition: CbmStsDigiSource.h:28
CbmStsDigiSource::fEventCounter
uint64_t fEventCounter
Definition: CbmStsDigiSource.h:31
CbmStsDigiSource::CalcRuntime
void CalcRuntime()
Definition: CbmStsDigiSource.cxx:180
CbmStsDigiSource::IsChannelNameAllowed
bool IsChannelNameAllowed(std::string)
Definition: CbmStsDigiSource.cxx:128
CbmStsDigiSource::ConditionalRun
virtual bool ConditionalRun()
Definition: CbmStsDigiSource.cxx:142
CbmStsDigiSource::fMaxEvents
uint64_t fMaxEvents
Definition: CbmStsDigiSource.h:24
CbmStsDigiSource::fInputFileList
std::vector< std::string > fInputFileList
List of input files.
Definition: CbmStsDigiSource.h:27
CbmStsDigiSource::fEventNumber
uint64_t fEventNumber
Definition: CbmStsDigiSource.h:30
CbmStsDigiSource
Definition: CbmStsDigiSource.h:18
CbmStsDigiSource::fFileName
std::string fFileName
Definition: CbmStsDigiSource.h:26
CbmStsDigiSource::fMessageCounter
uint64_t fMessageCounter
Definition: CbmStsDigiSource.h:32
CbmStsDigiSource::fAllowedChannels
std::vector< std::string > fAllowedChannels
Definition: CbmStsDigiSource.h:47
CbmStsDigi
Data class for a single-channel message in the STS.
Definition: CbmStsDigi.h:29
CbmStsDigiSource::fTime
std::chrono::steady_clock::time_point fTime
Definition: CbmStsDigiSource.h:45
CbmStsDigiSource::CbmStsDigiSource
CbmStsDigiSource()
Definition: CbmStsDigiSource.cxx:38
CbmStsDigiSource::SendData
bool SendData()
CbmStsDigiSource::PrintStsDigi
void PrintStsDigi(const CbmStsDigi *)
Definition: CbmStsDigiSource.cxx:189
CbmStsDigiSource::fMaxMemory
int fMaxMemory
Definition: CbmStsDigiSource.h:34