1#ifndef BMNCONVERTERTHREAD_H
2#define BMNCONVERTERTHREAD_H 1
15#include "FairLogger.h"
62 std::mutex* queue_access,
63 std::condition_variable* queue_wait,
111 const uint32_t* data =
nullptr,
113 uint32_t fRunId = 7444,
114 uint32_t fEventId = -1);
116 void SetInitData(vector<pair<
int, pair<int, int>>>* vec_tree, vector<pair<
int, pair<int, int>>>* vec_tree_spills)
145 LOGF(info,
"Closing converter thread %d; Waiting time: %.3fs, Calculation time: %.3fs",
threadId,
160 template<
typename BrType>
175 LOGF(debug1,
"Register branch %p : %s", (
void*)b, name.
Data());
184 vector<pair<int, pair<int, int>>>*
vecTree;
190 map<TTimeStamp, Int_t>
leaps;
204 BmnStatus FillTDC(
const uint32_t* d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t& idx);
205 BmnStatus FillTQDC(
const uint32_t* d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t& idx);
#define ClassDef(name, id)
BmnStatus
Define status code.
BmnEventType
Define type of event.
@ kBMNEMPTY
No event (wrong sync word or metadata payload).
CDuration GetCalculationCTime()
BmnAbstractThread(std::queue< int32_t > *threadQueue, std::mutex *queueAccess, std::condition_variable *queueWait, int32_t id, bool measureTime=false)
CDuration GetWaitingCTime()
BmnStatus FillTTVXS(const uint32_t *d, uint32_t serial, uint32_t &len)
https://afi.jinr.ru/TTVXS_DataFormat
Int_t GetUTCShift(TTimeStamp t)
void SetMerger(TBufferMerger *m)
uint32_t rawData[10000000]
vector< pair< int, pair< int, int > > > * vecTree
Bool_t fExportExternalSpillStat
void SetInitData(vector< pair< int, pair< int, int > > > *vec_tree, vector< pair< int, pair< int, int > > > *vec_tree_spills)
BmnStatus ConvertStatEvent(const uint32_t *d, uint32_t &len)
void WriteSpill(Int_t spillId)
BmnConverterThread(BmnConverterThread const &)=delete
void ClearRawSpillArrays()
void SetPeriod(uint32_t v)
BmnSyncDigit * FillWR(uint32_t iSerial, uint64_t iEvent, int64_t t_sec, int64_t t_ns)
BmnStatus FillTQDC_E(const uint32_t *d, uint32_t serial, uint32_t &len)
Parse TQDC16VS-E MStream data block https://afi.jinr.ru/DataFormatTQDC16VSE.
BmnStatus MapVSP(const uint32_t *d, const DeviceHeader *dev_hdr)
Parse VSP data block.
BmnConverterThread(queue< Int_t > *thread_queue, std::mutex *queue_access, std::condition_variable *queue_wait, Int_t id, Bool_t measure_time=kFALSE)
BmnStatus FillVSP(TClonesArray *ar)
void SetTrees(TTree *tree, TTree *treeSpills)
BmnStatus FillTDC72VXS(const uint32_t *d, uint32_t serial, uint32_t &len, uint32_t modid)
https://afi.jinr.ru/TDC72VXS_DataFormat
BmnStatus Process_HRB(const uint32_t *data, uint32_t len, uint32_t serial)
BmnStatus FillBlockTDC(const uint32_t *d, uint32_t serial, uint16_t &len, TClonesArray *ar, uint32_t modid)
BmnStatus FillTQDC(const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
BmnStatus FillFVME2TMWR(const uint32_t *d, uint32_t serial, uint32_t &idx, uint32_t &len)
std::shared_ptr< TBufferMergerFile > mergerFile
void BranchRegFun(TString name, BrType **ar)
BmnStatus FillMSC16VE_E(const uint32_t *d, const DeviceHeader *dev_hdr)
Parse MSC16VE-E MStream data block https://afi.jinr.ru/DataFormatMSC_ETH.
BmnStatus FillTDC250HGND(const uint32_t *d, uint32_t serial, uint32_t len)
Parse custom HGND TDC data block.
map< TTimeStamp, Int_t > leaps
void SetExportExternalSpillStat(bool v)
BmnStatus ProcessEvent(const uint32_t *data, uint32_t len)
void SetData(Int_t taskId, Int_t len=0, const uint32_t *data=nullptr, BmnEventType fCurEvType=kBMNEMPTY, uint32_t fRunId=7444, uint32_t fEventId=-1)
BmnStatus FillUT24VE_TRC(const uint32_t *d, uint32_t &serial, uint32_t &len)
Parse UT24VE-TRC MStream data block https://afi.jinr.ru/DataFormatUT24VE-TRC.
BmnEventHeader * eventHeaderDAQ
BmnStatus FillMSC(const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t &idx)
BmnStatus Process_FVME(const uint32_t *data, uint32_t len, uint32_t serial, BmnTrigInfo &spillInfo)
BmnStatus FillU40VE(const uint32_t *d, uint32_t slot, uint32_t &idx, BmnTrigInfo &spillInfo)
BmnStatus ProcessGenericDevice(const uint32_t *d, const DeviceHeader *dev_hdr)
BmnStatus FillTDC(const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
BmnStatus FillVirtualDevice(const uint32_t *d, const DeviceHeader *dh)
BmnConverterThread & operator=(BmnConverterThread const &)=delete
virtual ~BmnConverterThread()
BmnStatus FillBlockADC(const uint32_t *d, uint32_t serial, uint8_t channel, uint16_t &len, TClonesArray *ar)
vector< pair< int, pair< int, int > > > * vecTreeSpills
std::map< uint8_t, const uint32_t * > time_slice_map
void RegisterSpillBranches()
Class BmnTrigInfo Trigger counters of the current spill from U40VE card.
const char * Data() const
Define enumerations used in tracking.