12#ifndef CBMDEVICEDIGIEVTSINK_H_
13#define CBMDEVICEDIGIEVTSINK_H_
31#include "FairMQDevice.h"
35#include "TClonesArray.h"
145 std::chrono::system_clock::time_point
fLastFillTime = std::chrono::system_clock::now();
146 std::chrono::system_clock::time_point
fStartTime = std::chrono::system_clock::now();
virtual ~CbmDeviceDigiEventSink()
std::vector< CbmStsDigi > * fvDigiSts
bool fbBypassConsecutiveTs
If true, store digis vectors with full TS in addition to selected events.
std::vector< std::string > fsAllowedChannels
List of MQ channels names.
std::string fsHistosSuffix
std::vector< CbmRichDigi > * fvDigiRich
uint64_t fulLastFullTsCounter
uint64_t fulLastMissTsCounter
bool fbFillHistos
Switch ON/OFF loop based extraction of TRD digis due to 1D/2D.
std::string fsChannelNameCommands
FairRunOnline * fpRun
Data storage.
bool HandleCommand(FairMQMessagePtr &, int)
std::chrono::system_clock::time_point fLastPublishTime
bool HandleMissTsData(FairMQMessagePtr &, int)
void PrepareTreeEntry(CbmEventTimeslice unpTs)
uint32_t fuPublishFreqTs
Histograms management.
uint64_t fuPrevTsIndex
Parameters management.
FairRootManager * fpFairRootMgr
bool fbReceivedEof
Control Commands reception.
bool fbWriteMissingTs
Switch ON/OFF the bypass of the consecutive TS buffer before writing to file.
std::vector< CbmMuchDigi > * fvDigiMuch
std::chrono::system_clock::time_point fLastFillTime
bool fbInitDone
Switch ON/OFF filling of histograms.
uint64_t fulMissedTsCounter
CbmTsEventHeader * fEvtHeader
bool fbExclusiveTrdExtract
Switch ON/OFF the input of CbmDigiEvents instead of raw data + CbmEvents.
TCanvas * fcEventSinkAllHist
TObjArray fArrayHisto
Array of histograms to send to the histogram server.
double_t fdMinPublishTime
std::map< uint64_t, CbmEventTimeslice > fmFullTsStorage
Buffered TS.
std::string fsChannelNameDataInput
int64_t fiTreeFileMaxSize
Output file/tree management.
TClonesArray * fTimeSliceMetaDataArray
TS MetaData storage.
std::string fsOutputFileName
Keep track of whether the Finish was already called.
uint64_t fulProcessedEvents
bool fbStoreFullTs
Constants.
bool HandleData(FairMQParts &, int)
TProfile * fhMissTsBuffSizeEvo
double_t fdMaxPublishTime
bool IsChannelNameAllowed(std::string channelName)
Internal methods.
std::vector< std::pair< std::string, std::string > > fvpsCanvasConfig
std::vector< CbmPsdDigi > * fvDigiPsd
TProfile * fhFullTsBuffSizeEvo
bool ResetHistograms(bool bResetStartTime=false)
std::vector< CbmDigiEvent > * fEventsSel
CbmEvents.
std::vector< uint64_t > fvulMissedTsIndices
bool SendHistoConfAndData()
std::vector< CbmBmonDigi > * fvDigiBmon
Full TS Digis storage (optional usage, controlled by fbStoreFullTs!)
std::string fsChannelNameMissedTs
message queues
uint64_t fulLastProcessedEvents
std::string fsChannelNameHistosInput
std::vector< std::pair< std::string, std::string > > fvpsHistosFolder
Vector of string pairs with ( HistoName, FolderPath ) to send to the histogram server.
bool fbFinishDone
Keep track of whether the Init was already fully completed.
std::vector< CbmTofDigi > * fvDigiTof
bool fbConfigSent
Flag indicating whether the histograms and canvases configurations were already published.
std::vector< CbmTrdDigi > * fvDigiTrd
bool fbDigiEventInput
Switch ON/OFF the ROOT file compression.
std::chrono::system_clock::time_point fStartTime
bool fbDisableCompression
Switch ON/OFF writing of empty TS to file for the missing ones (if no bypass)
CbmTsEventHeader fCbmTsEventHeader
TS information in header.
std::vector< CbmRichDigi > fvDigiRich
bool fbDigiEvtInput
Input Type.
std::vector< CbmEvent > fvEvents
Raw events.
CbmEventTimeslice(FairMQParts &parts, bool bDigiEvtInput=false)
TODO: rename to CbmTsWithEvents.
std::vector< CbmDigiEvent > & GetSelectedData(bool bExclusiveTrdExtract=true)
std::vector< CbmTofDigi > fvDigiTof
std::vector< CbmDigiEvent > fvDigiEvents
Digi events.
std::vector< CbmStsDigi > fvDigiSts
std::vector< CbmPsdDigi > fvDigiPsd
void ExtractSelectedData(bool bExclusiveTrdExtract=true)
TimesliceMetaData fTsMetaData
extra Metadata
std::vector< CbmMuchDigi > fvDigiMuch
std::vector< CbmBmonDigi > fvDigiBmon
Raw data.
std::vector< CbmTrdDigi > fvDigiTrd