BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnConverterThread Class Reference

#include <BmnConverterThread.h>

Inheritance diagram for BmnConverterThread:
Collaboration diagram for BmnConverterThread:

Classes

struct  BmnEventData

Public Member Functions

 BmnConverterThread (queue< Int_t > *thread_queue, std::mutex *queue_access, std::condition_variable *queue_wait, Int_t id, Bool_t measure_time=kFALSE)
 BmnConverterThread (BmnConverterThread const &)=delete
BmnConverterThread & operator= (BmnConverterThread const &)=delete
virtual ~BmnConverterThread ()
void CreateTrees ()
void RegisterBranches ()
void RegisterSpillBranches ()
void ClearRawArrays ()
void ClearRawSpillArrays ()
void SpillEnd ()
void SetTrees (TTree *tree, TTree *treeSpills)
void SetPeriod (uint32_t v)
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)
void SetInitData (vector< pair< int, pair< int, int > > > *vec_tree, vector< pair< int, pair< int, int > > > *vec_tree_spills)
void SetMerger (TBufferMerger *m)
void Terminate ()
void WriteTree ()
void WriteTreeSpills ()
void FinalizeFile ()
void SetExportExternalSpillStat (bool v)
 BmnConverterThread (queue< Int_t > *thread_queue, std::mutex *queue_access, std::condition_variable *queue_wait, Int_t id, Bool_t measure_time=kFALSE)
 BmnConverterThread (BmnConverterThread const &)=delete
BmnConverterThread & operator= (BmnConverterThread const &)=delete
virtual ~BmnConverterThread ()
void CreateTrees ()
void RegisterBranches ()
void RegisterSpillBranches ()
void ClearRawArrays ()
void ClearRawSpillArrays ()
void SpillEnd ()
void SetTrees (TTree *tree, TTree *treeSpills)
void SetPeriod (uint32_t v)
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)
void SetInitData (vector< pair< int, pair< int, int > > > *vec_tree, vector< pair< int, pair< int, int > > > *vec_tree_spills)
void SetMerger (TBufferMerger *m)
void Terminate ()
void WriteTree ()
void WriteTreeSpills ()
void FinalizeFile ()
void SetExportExternalSpillStat (bool v)
Public Member Functions inherited from BmnAbstractThread
void Run ()
int32_t GetRunningThreads ()
int32_t GetWaitingThreads ()
CDuration GetWaitingCTime ()
CDuration GetCalculationCTime ()
int32_t GetId ()
void Execute ()
void CancelReady ()
virtual void SetInitData (...)
virtual void SetData (...)
void Run ()
int32_t GetRunningThreads ()
int32_t GetWaitingThreads ()
CDuration GetWaitingCTime ()
CDuration GetCalculationCTime ()
int32_t GetId ()
void Execute ()
void CancelReady ()
virtual void SetInitData (...)
virtual void SetData (...)

Public Attributes

TTree * fRawTree
TTree * fRawTreeSpills
TBufferMerger * merger
std::shared_ptr< TBufferMergerFile > mergerFile
uint32_t rawData [10000000]
TClonesArray * sync
TClonesArray * adc32
TClonesArray * adc64
TClonesArray * adc128
TClonesArray * adc
TClonesArray * vsp
TClonesArray * hrb
TClonesArray * tdc
TClonesArray * tqdc_tdc
TClonesArray * tqdc_adc
TClonesArray * tdc_hgnd
TClonesArray * msc
TClonesArray * t0raw
BmnEventHeader * eventHeaderDAQ
std::map< uint8_t, const uint32_t * > time_slice_map

Private Member Functions

void WriteSpill (Int_t spillId)
void Calculate ()
template<typename BrType>
void BranchRegFun (TString name, BrType **ar)
BmnStatus InitUTCShift ()
Int_t GetUTCShift (TTimeStamp t)
BmnStatus ProcessEvent (const uint32_t *data, uint32_t len)
BmnStatus ConvertStatEvent (const uint32_t *d, uint32_t &len)
BmnStatus Process_FVME (const uint32_t *data, uint32_t len, uint32_t serial, BmnTrigInfo &spillInfo)
BmnStatus Process_HRB (const uint32_t *data, uint32_t len, uint32_t serial)
BmnStatus FillU40VE (const uint32_t *d, uint32_t slot, uint32_t &idx, BmnTrigInfo &spillInfo)
BmnStatus FillBlockTDC (const uint32_t *d, uint32_t serial, uint16_t &len, TClonesArray *ar, uint32_t modid)
BmnStatus FillBlockADC (const uint32_t *d, uint32_t serial, uint8_t channel, uint16_t &len, TClonesArray *ar)
BmnStatus FillTDC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
BmnStatus FillTQDC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
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 FillMSC16VE_E (const uint32_t *d, const DeviceHeader *dev_hdr)
 Parse MSC16VE-E MStream data block https://afi.jinr.ru/DataFormatMSC_ETH.
BmnStatus FillTDC72VXS (const uint32_t *d, uint32_t serial, uint32_t &len, uint32_t modid)
 https://afi.jinr.ru/TDC72VXS_DataFormat
BmnStatus FillTTVXS (const uint32_t *d, uint32_t serial, uint32_t &len)
 https://afi.jinr.ru/TTVXS_DataFormat
BmnStatus ProcessGenericDevice (const uint32_t *d, const DeviceHeader *dev_hdr)
BmnStatus FillTDC250HGND (const uint32_t *d, uint32_t serial, uint32_t len)
 Parse custom HGND TDC data block.
BmnStatus MapVSP (const uint32_t *d, const DeviceHeader *dev_hdr)
 Parse VSP data block.
BmnStatus FillVSP (TClonesArray *ar)
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.
BmnStatus FillVirtualDevice (const uint32_t *d, const DeviceHeader *dh)
BmnStatus FillFVME2TMWR (const uint32_t *d, uint32_t serial, uint32_t &idx, uint32_t &len)
BmnStatus FillMSC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t &idx)
BmnSyncDigit * FillWR (uint32_t iSerial, uint64_t iEvent, int64_t t_sec, int64_t t_ns)
void WriteSpill (Int_t spillId)
void Calculate ()
template<typename BrType>
void BranchRegFun (TString name, BrType **ar)
BmnStatus InitUTCShift ()
Int_t GetUTCShift (TTimeStamp t)
BmnStatus ProcessEvent (const uint32_t *data, uint32_t len)
BmnStatus ConvertStatEvent (const uint32_t *d, uint32_t &len)
BmnStatus Process_FVME (const uint32_t *data, uint32_t len, uint32_t serial, BmnTrigInfo &spillInfo)
BmnStatus Process_HRB (const uint32_t *data, uint32_t len, uint32_t serial)
BmnStatus FillU40VE (const uint32_t *d, uint32_t slot, uint32_t &idx, BmnTrigInfo &spillInfo)
BmnStatus FillBlockTDC (const uint32_t *d, uint32_t serial, uint16_t &len, TClonesArray *ar, uint32_t modid)
BmnStatus FillBlockADC (const uint32_t *d, uint32_t serial, uint8_t channel, uint16_t &len, TClonesArray *ar)
BmnStatus FillTDC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
BmnStatus FillTQDC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t modId, uint32_t &idx)
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 FillMSC16VE_E (const uint32_t *d, const DeviceHeader *dev_hdr)
 Parse MSC16VE-E MStream data block https://afi.jinr.ru/DataFormatMSC_ETH.
BmnStatus FillTDC72VXS (const uint32_t *d, uint32_t serial, uint32_t &len, uint32_t modid)
 https://afi.jinr.ru/TDC72VXS_DataFormat
BmnStatus FillTTVXS (const uint32_t *d, uint32_t serial, uint32_t &len)
 https://afi.jinr.ru/TTVXS_DataFormat
BmnStatus ProcessGenericDevice (const uint32_t *d, const DeviceHeader *dev_hdr)
BmnStatus FillTDC250HGND (const uint32_t *d, uint32_t serial, uint32_t len)
 Parse custom HGND TDC data block.
BmnStatus MapVSP (const uint32_t *d, const DeviceHeader *dev_hdr)
 Parse VSP data block.
BmnStatus FillVSP (TClonesArray *ar)
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.
BmnStatus FillVirtualDevice (const uint32_t *d, const DeviceHeader *dh)
BmnStatus FillFVME2TMWR (const uint32_t *d, uint32_t serial, uint32_t &idx, uint32_t &len)
BmnStatus FillMSC (const uint32_t *d, uint32_t serial, uint32_t slot, uint32_t &idx)
BmnSyncDigit * FillWR (uint32_t iSerial, uint64_t iEvent, int64_t t_sec, int64_t t_ns)

Private Attributes

Bool_t fExportExternalSpillStat
uint32_t fPeriodId
BmnEventData fCurEvent
uint32_t dataLen
vector< pair< int, pair< int, int > > > * vecTree
vector< pair< int, pair< int, int > > > * vecTreeSpills
map< TTimeStamp, Int_t > leaps
TTimeStamp utc_valid
Int_t tai_utc_dif

Additional Inherited Members

Protected Member Functions inherited from BmnAbstractThread
 BmnAbstractThread (std::queue< int32_t > *threadQueue, std::mutex *queueAccess, std::condition_variable *queueWait, int32_t id, bool measureTime=false)
 ~BmnAbstractThread ()
 BmnAbstractThread (std::queue< int32_t > *threadQueue, std::mutex *queueAccess, std::condition_variable *queueWait, int32_t id, bool measureTime=false)
 ~BmnAbstractThread ()
Protected Attributes inherited from BmnAbstractThread
int32_t threadId
int32_t taskId

Detailed Description

Definition at line 25 of file BmnConverterThread.h.

Constructor & Destructor Documentation

◆ BmnConverterThread() [1/4]

BmnConverterThread::BmnConverterThread ( queue< Int_t > * thread_queue,
std::mutex * queue_access,
std::condition_variable * queue_wait,
Int_t id,
Bool_t measure_time = kFALSE )
inline

Definition at line 61 of file BmnConverterThread.h.

References BmnAbstractThread::BmnAbstractThread(), adc, adc128, adc32, adc64, eventHeaderDAQ, fRawTree, fRawTreeSpills, hrb, InitUTCShift(), merger, msc, sync, t0raw, tai_utc_dif, tdc, tdc_hgnd, tqdc_adc, tqdc_tdc, and vsp.

Referenced by BmnConverterThread(), FillWR(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BmnConverterThread() [2/4]

BmnConverterThread::BmnConverterThread ( BmnConverterThread const & )
delete

References BmnConverterThread().

Here is the call graph for this function:

◆ ~BmnConverterThread() [1/2]

virtual BmnConverterThread::~BmnConverterThread ( )
inlinevirtual

Definition at line 92 of file BmnConverterThread.h.

References fRawTree, and fRawTreeSpills.

◆ BmnConverterThread() [3/4]

BmnConverterThread::BmnConverterThread ( queue< Int_t > * thread_queue,
std::mutex * queue_access,
std::condition_variable * queue_wait,
Int_t id,
Bool_t measure_time = kFALSE )
inline

Definition at line 61 of file BmnConverterThread.h.

References BmnAbstractThread::BmnAbstractThread(), adc, adc128, adc32, adc64, eventHeaderDAQ, fRawTree, fRawTreeSpills, hrb, InitUTCShift(), merger, msc, sync, t0raw, tai_utc_dif, tdc, tdc_hgnd, tqdc_adc, tqdc_tdc, and vsp.

Here is the call graph for this function:

◆ BmnConverterThread() [4/4]

BmnConverterThread::BmnConverterThread ( BmnConverterThread const & )
delete

References BmnConverterThread().

Here is the call graph for this function:

◆ ~BmnConverterThread() [2/2]

virtual BmnConverterThread::~BmnConverterThread ( )
inlinevirtual

Definition at line 92 of file BmnConverterThread.h.

References fRawTree, and fRawTreeSpills.

Member Function Documentation

◆ BranchRegFun() [1/2]

template<typename BrType>
void BmnConverterThread::BranchRegFun ( TString name,
BrType ** ar )
inlineprivate

Definition at line 161 of file BmnConverterThread.h.

References TString::Data(), and fRawTree.

Here is the call graph for this function:

◆ BranchRegFun() [2/2]

template<typename BrType>
void BmnConverterThread::BranchRegFun ( TString name,
BrType ** ar )
inlineprivate

Definition at line 161 of file BmnConverterThread.h.

References TString::Data(), and fRawTree.

Here is the call graph for this function:

◆ Calculate() [1/2]

void BmnConverterThread::Calculate ( )
privatevirtual

Reimplemented from BmnAbstractThread.

Definition at line 134 of file BmnConverterThread.cxx.

References ConvertStatEvent(), dataLen, fRawTree, ProcessEvent(), rawData, SpillEnd(), BmnAbstractThread::taskId, BmnAbstractThread::threadId, and WriteSpill().

Here is the call graph for this function:

◆ Calculate() [2/2]

void BmnConverterThread::Calculate ( )
privatevirtual

Reimplemented from BmnAbstractThread.

◆ ClearRawArrays() [1/2]

void BmnConverterThread::ClearRawArrays ( )

Definition at line 1303 of file BmnConverterThread.cxx.

References adc, adc128, adc32, adc64, hrb, sync, tdc, tdc_hgnd, tqdc_adc, tqdc_tdc, and vsp.

Referenced by ProcessEvent().

Here is the caller graph for this function:

◆ ClearRawArrays() [2/2]

void BmnConverterThread::ClearRawArrays ( )

◆ ClearRawSpillArrays() [1/2]

void BmnConverterThread::ClearRawSpillArrays ( )

Definition at line 1318 of file BmnConverterThread.cxx.

References msc, and t0raw.

Referenced by SpillEnd().

Here is the caller graph for this function:

◆ ClearRawSpillArrays() [2/2]

void BmnConverterThread::ClearRawSpillArrays ( )

◆ ConvertStatEvent() [1/2]

BmnStatus BmnConverterThread::ConvertStatEvent ( const uint32_t * d,
uint32_t & len )
private

Definition at line 200 of file BmnConverterThread.cxx.

References d, eventHeaderDAQ, fCurEvent, kBMNSUCCESS, and ProcessEvent().

Referenced by Calculate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConvertStatEvent() [2/2]

BmnStatus BmnConverterThread::ConvertStatEvent ( const uint32_t * d,
uint32_t & len )
private

References d.

◆ CreateTrees() [1/2]

void BmnConverterThread::CreateTrees ( )

Definition at line 48 of file BmnConverterThread.cxx.

References adc, adc128, adc32, adc64, TObject::Class(), eventHeaderDAQ, fPeriodId, fRawTree, fRawTreeSpills, hrb, merger, mergerFile, msc, sync, t0raw, tdc, tdc_hgnd, BmnAbstractThread::threadId, tqdc_adc, tqdc_tdc, and vsp.

Referenced by BmnConverter::BmnConverter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateTrees() [2/2]

void BmnConverterThread::CreateTrees ( )

◆ FillBlockADC() [1/2]

BmnStatus BmnConverterThread::FillBlockADC ( const uint32_t * d,
uint32_t serial,
uint8_t channel,
uint16_t & len,
TClonesArray * ar )
private

Definition at line 567 of file BmnConverterThread.cxx.

References d, TObjArray::GetEntriesFast(), kBMNERROR, kBMNSUCCESS, and kNBYTESINWORD.

Referenced by FillTQDC_E().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillBlockADC() [2/2]

BmnStatus BmnConverterThread::FillBlockADC ( const uint32_t * d,
uint32_t serial,
uint8_t channel,
uint16_t & len,
TClonesArray * ar )
private

References d.

◆ FillBlockTDC() [1/2]

BmnStatus BmnConverterThread::FillBlockTDC ( const uint32_t * d,
uint32_t serial,
uint16_t & len,
TClonesArray * ar,
uint32_t modid = 0 )
private

Definition at line 601 of file BmnConverterThread.cxx.

References d, TObjArray::GetEntriesFast(), kBMNSUCCESS, TDC_ERROR, TDC_EV_HEADER, TDC_EV_TRAILER, TDC_LEADING, and TDC_TRAILING.

Referenced by FillTDC72VXS(), and FillTQDC_E().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillBlockTDC() [2/2]

BmnStatus BmnConverterThread::FillBlockTDC ( const uint32_t * d,
uint32_t serial,
uint16_t & len,
TClonesArray * ar,
uint32_t modid )
private

References d.

◆ FillFVME2TMWR() [1/2]

BmnStatus BmnConverterThread::FillFVME2TMWR ( const uint32_t * d,
uint32_t serial,
uint32_t & idx,
uint32_t & len )
private

Definition at line 1159 of file BmnConverterThread.cxx.

References d, fCurEvent, FillWR(), fPeriodId, BmnSyncDigit::GetTime_ns(), BmnSyncDigit::GetTime_sec(), kBMNERROR, kBMNSUCCESS, kMODTRAILER, kPADDING, kSTATUS, TMWR_EOS_CNT, TMWR_EOS_CNT_MATCHED, TMWR_PULSE, TMWR_REL_TS, TMWR_REL_TS_TB, and TMWR_TAI.

Referenced by Process_FVME().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillFVME2TMWR() [2/2]

BmnStatus BmnConverterThread::FillFVME2TMWR ( const uint32_t * d,
uint32_t serial,
uint32_t & idx,
uint32_t & len )
private

References d.

◆ FillMSC() [1/2]

BmnStatus BmnConverterThread::FillMSC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t & idx )
private

Definition at line 1223 of file BmnConverterThread.cxx.

References d, fCurEvent, BmnMSCDigit< IntType >::GetValue(), kBMNSUCCESS, msc, MSC_N_COUNTERS, and slot.

Referenced by Process_FVME().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillMSC() [2/2]

BmnStatus BmnConverterThread::FillMSC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t & idx )
private

References d, and slot.

◆ FillMSC16VE_E() [1/2]

BmnStatus BmnConverterThread::FillMSC16VE_E ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private
Parameters
ddata pointer
dev_hdrdevice header (serial, payload length, device ID)
Returns
operation success

Definition at line 1001 of file BmnConverterThread.cxx.

References d, fCurEvent, BmnMSCZSDigit< IntType >::GetExtCond(), BmnMSCZSDigit< IntType >::GetTimes(), BmnMSCZSDigit< IntType >::GetValues(), i, kBMNERROR, kBMNSUCCESS, kNBYTESINWORD, memset(), msc, MSC_N_COUNTERS, MSC_TIME_SLICE_INFO, tai_utc_dif, BmnFunctionSet::TimePoint2String(), and BmnFunctionSet::TimePoint2TS().

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillMSC16VE_E() [2/2]

BmnStatus BmnConverterThread::FillMSC16VE_E ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private
Parameters
ddata pointer
dev_hdrdevice header (serial, payload length, device ID)
Returns
operation success

References d.

◆ FillTDC() [1/2]

BmnStatus BmnConverterThread::FillTDC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t modId,
uint32_t & idx )
private

Definition at line 474 of file BmnConverterThread.cxx.

References d, fCurEvent, kBMNERROR, kBMNSTAT, kBMNSUCCESS, kMODTRAILER, kTDC64V, slot, tdc, TDC_ERROR, TDC_LEADING, and TDC_TRAILING.

Referenced by Process_FVME().

Here is the caller graph for this function:

◆ FillTDC() [2/2]

BmnStatus BmnConverterThread::FillTDC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t modId,
uint32_t & idx )
private

References d, and slot.

◆ FillTDC250HGND() [1/2]

BmnStatus BmnConverterThread::FillTDC250HGND ( const uint32_t * d,
uint32_t serial,
uint32_t len )
private

Definition at line 767 of file BmnConverterThread.cxx.

References d, BmnHgndRaw::Block::get_block_size(), BmnHgndRaw::Block::get_event_packet_version(), i, BmnHgndRaw::Block::is_word_event_header(), kBMNERROR, kBMNSUCCESS, tai_utc_dif, tdc_hgnd, and BmnHgndRaw::Event_type_2::TDC_rise_time.

Referenced by ProcessGenericDevice().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillTDC250HGND() [2/2]

BmnStatus BmnConverterThread::FillTDC250HGND ( const uint32_t * d,
uint32_t serial,
uint32_t len )
private

References d.

◆ FillTDC72VXS() [1/2]

BmnStatus BmnConverterThread::FillTDC72VXS ( const uint32_t * d,
uint32_t serial,
uint32_t & len,
uint32_t modid = 0 )
private

Definition at line 684 of file BmnConverterThread.cxx.

References d, fCurEvent, FillBlockTDC(), FillWR(), kBMNSUCCESS, kMSTREAM_TYPE_STAT, kMSTREAM_TYPE_TDC, kNBYTESINWORD, and tdc.

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillTDC72VXS() [2/2]

BmnStatus BmnConverterThread::FillTDC72VXS ( const uint32_t * d,
uint32_t serial,
uint32_t & len,
uint32_t modid )
private

References d.

◆ FillTQDC() [1/2]

BmnStatus BmnConverterThread::FillTQDC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t modId,
uint32_t & idx )
private

Definition at line 504 of file BmnConverterThread.cxx.

References d, kBMNERROR, kBMNSUCCESS, kMODTRAILER, slot, TDC_ERROR, TDC_EV_HEADER, TDC_EV_TRAILER, TDC_LEADING, TDC_TRAILING, tqdc_adc, and tqdc_tdc.

Referenced by Process_FVME().

Here is the caller graph for this function:

◆ FillTQDC() [2/2]

BmnStatus BmnConverterThread::FillTQDC ( const uint32_t * d,
uint32_t serial,
uint32_t slot,
uint32_t modId,
uint32_t & idx )
private

References d, and slot.

◆ FillTQDC_E() [1/2]

BmnStatus BmnConverterThread::FillTQDC_E ( const uint32_t * d,
uint32_t serial,
uint32_t & len )
private
Parameters
ddata pointer
serialdevice serial
lenpayload length
Returns
operation success

Definition at line 649 of file BmnConverterThread.cxx.

References d, fCurEvent, FillBlockADC(), FillBlockTDC(), FillWR(), kBMNSUCCESS, kMSTREAM_TYPE_ADC, kMSTREAM_TYPE_TDC, kNBYTESINWORD, tqdc_adc, and tqdc_tdc.

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillTQDC_E() [2/2]

BmnStatus BmnConverterThread::FillTQDC_E ( const uint32_t * d,
uint32_t serial,
uint32_t & len )
private
Parameters
ddata pointer
serialdevice serial
lenpayload length
Returns
operation success

References d.

◆ FillTTVXS() [1/2]

BmnStatus BmnConverterThread::FillTTVXS ( const uint32_t * d,
uint32_t serial,
uint32_t & len )
private

Definition at line 717 of file BmnConverterThread.cxx.

References d, fCurEvent, FillWR(), kBMNSUCCESS, kMSTREAM_TYPE_STAT, kMSTREAM_TYPE_TRIG, and kNBYTESINWORD.

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillTTVXS() [2/2]

BmnStatus BmnConverterThread::FillTTVXS ( const uint32_t * d,
uint32_t serial,
uint32_t & len )
private

References d.

◆ FillU40VE() [1/2]

BmnStatus BmnConverterThread::FillU40VE ( const uint32_t * d,
uint32_t slot,
uint32_t & idx,
BmnTrigInfo & spillInfo )
private

Definition at line 441 of file BmnConverterThread.cxx.

References d, fCurEvent, fPeriodId, kBMNPAYLOAD, kBMNPEDESTAL, kBMNSUCCESS, kEVENTTYPESLOT, kWORDAUX, kWORDTAI, kWORDTRIG, BmnTrigInfo::SetTrigAccepted(), BmnTrigInfo::SetTrigAfter(), BmnTrigInfo::SetTrigAll(), BmnTrigInfo::SetTrigAvail(), BmnTrigInfo::SetTrigBefo(), BmnTrigInfo::SetTrigCand(), BmnTrigInfo::SetTrigRjct(), and slot.

Referenced by Process_FVME().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillU40VE() [2/2]

BmnStatus BmnConverterThread::FillU40VE ( const uint32_t * d,
uint32_t slot,
uint32_t & idx,
BmnTrigInfo & spillInfo )
private

References d, and slot.

◆ FillUT24VE_TRC() [1/2]

BmnStatus BmnConverterThread::FillUT24VE_TRC ( const uint32_t * d,
uint32_t & serial,
uint32_t & len )
private
Parameters
ddata pointer
serialdevice serial
lenpayload length
Returns
operation success

Definition at line 1113 of file BmnConverterThread.cxx.

References TTimeStamp::AsString(), d, eventHeaderDAQ, fCurEvent, FillWR(), BmnSyncDigit::GetTime_ns(), BmnSyncDigit::GetTime_sec(), kBMNPAYLOAD, kBMNPEDESTAL, kBMNSUCCESS, and kNBYTESINWORD.

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillUT24VE_TRC() [2/2]

BmnStatus BmnConverterThread::FillUT24VE_TRC ( const uint32_t * d,
uint32_t & serial,
uint32_t & len )
private
Parameters
ddata pointer
serialdevice serial
lenpayload length
Returns
operation success

References d.

◆ FillVirtualDevice() [1/2]

BmnStatus BmnConverterThread::FillVirtualDevice ( const uint32_t * d,
const DeviceHeader * dh )
private

Definition at line 1088 of file BmnConverterThread.cxx.

References d, fCurEvent, fExportExternalSpillStat, BmnT0Raw::GetTime(), i, kBMNSUCCESS, kT0_BIN_BLOCK_BYTES, kT0_BIN_BLOCK_WORDS, BmnConverterTools::Process_T0Raw(), SERIAL_TO_CFG, BmnT0Raw::SetTimeSinceLastEvNs(), t0raw, and BmnFunctionSet::TimeStamp2TP().

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillVirtualDevice() [2/2]

BmnStatus BmnConverterThread::FillVirtualDevice ( const uint32_t * d,
const DeviceHeader * dh )
private

References d.

◆ FillVSP() [1/2]

BmnStatus BmnConverterThread::FillVSP ( TClonesArray * ar)
private

◆ FillVSP() [2/2]

BmnStatus BmnConverterThread::FillVSP ( TClonesArray * ar)
private

◆ FillWR() [1/2]

BmnSyncDigit * BmnConverterThread::FillWR ( uint32_t iSerial,
uint64_t iEvent,
int64_t t_sec,
int64_t t_ns )
inlineprivate

Definition at line 1147 of file BmnConverterThread.cxx.

References GetUTCShift(), sync, and tai_utc_dif.

Referenced by FillFVME2TMWR(), FillTDC72VXS(), FillTQDC_E(), FillTTVXS(), and FillUT24VE_TRC().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillWR() [2/2]

BmnSyncDigit * BmnConverterThread::FillWR ( uint32_t iSerial,
uint64_t iEvent,
int64_t t_sec,
int64_t t_ns )
inlineprivate

References BmnConverterThread().

Here is the call graph for this function:

◆ FinalizeFile() [1/2]

void BmnConverterThread::FinalizeFile ( )

Definition at line 161 of file BmnConverterThread.cxx.

References mergerFile.

Referenced by BmnConverter::OutputTrees().

Here is the caller graph for this function:

◆ FinalizeFile() [2/2]

void BmnConverterThread::FinalizeFile ( )

◆ GetUTCShift() [1/2]

Int_t BmnConverterThread::GetUTCShift ( TTimeStamp t)
private

Definition at line 1285 of file BmnConverterThread.cxx.

References TTimeStamp::AsString(), leaps, and utc_valid.

Referenced by FillWR().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetUTCShift() [2/2]

Int_t BmnConverterThread::GetUTCShift ( TTimeStamp t)
private

◆ InitUTCShift() [1/2]

BmnStatus BmnConverterThread::InitUTCShift ( )
private

Definition at line 1251 of file BmnConverterThread.cxx.

References kBMNSUCCESS, leaps, and utc_valid.

Referenced by BmnConverterThread().

Here is the caller graph for this function:

◆ InitUTCShift() [2/2]

BmnStatus BmnConverterThread::InitUTCShift ( )
private

◆ MapVSP() [1/2]

BmnStatus BmnConverterThread::MapVSP ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private

Definition at line 857 of file BmnConverterThread.cxx.

References d, kBMNERROR, kBMNSUCCESS, and time_slice_map.

Referenced by ProcessGenericDevice().

Here is the caller graph for this function:

◆ MapVSP() [2/2]

BmnStatus BmnConverterThread::MapVSP ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private

References d.

◆ operator=() [1/2]

BmnConverterThread & BmnConverterThread::operator= ( BmnConverterThread const & )
delete

References BmnConverterThread().

Here is the call graph for this function:

◆ operator=() [2/2]

BmnConverterThread & BmnConverterThread::operator= ( BmnConverterThread const & )
delete

References BmnConverterThread().

Here is the call graph for this function:

◆ Process_FVME() [1/2]

BmnStatus BmnConverterThread::Process_FVME ( const uint32_t * data,
uint32_t len,
uint32_t serial,
BmnTrigInfo & spillInfo )
private

Definition at line 341 of file BmnConverterThread.cxx.

References ANSI_COLOR_RED, ANSI_COLOR_RESET, d, fCurEvent, FillFVME2TMWR(), FillMSC(), FillTDC(), FillTQDC(), FillU40VE(), i, kBMNEOS, kBMNSTAT, kBMNSUCCESS, kEVHEADER, kEVTRAILER, kMODHEADER, kMODTRAILER, kMSC16V, kPADDING, kSTATUS, kTDC32VL, kTDC64V, kTDC64VHLE, kTDC72VHL, kTQDC16, kTQDC16VS, kTRIG, kU40VE_RC, and slot.

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Process_FVME() [2/2]

BmnStatus BmnConverterThread::Process_FVME ( const uint32_t * data,
uint32_t len,
uint32_t serial,
BmnTrigInfo & spillInfo )
private

◆ Process_HRB() [1/2]

BmnStatus BmnConverterThread::Process_HRB ( const uint32_t * data,
uint32_t len,
uint32_t serial )
private

Definition at line 418 of file BmnConverterThread.cxx.

References d, hrb, and kBMNSUCCESS.

Referenced by ProcessEvent().

Here is the caller graph for this function:

◆ Process_HRB() [2/2]

BmnStatus BmnConverterThread::Process_HRB ( const uint32_t * data,
uint32_t len,
uint32_t serial )
private

◆ ProcessEvent() [1/2]

BmnStatus BmnConverterThread::ProcessEvent ( const uint32_t * data,
uint32_t len )
private

Definition at line 216 of file BmnConverterThread.cxx.

References adc, adc128, adc32, adc64, TTimeStamp::AsDouble(), ClearRawArrays(), d, eventHeaderDAQ, fCurEvent, FillMSC16VE_E(), FillTDC72VXS(), FillTQDC_E(), FillTTVXS(), FillUT24VE_TRC(), FillVirtualDevice(), FillVSP(), fPeriodId, kADC64VE, kADC64VE_XGE, kADC64WR, kBMNERROR, kBMNSTAT, kBMNSUCCESS, kFVME, kGENERIC_DEVICE, kHRB, kMSC16VE_E, kNBYTESINWORD, kTDC64VHLE_E, kTDC72VXS, kTQDC16VS_E, kTTVXS, kUT24VE_TRC, kVIRTUAL_DEVICE, msc, BmnConverterTools::Process_ADC64(), Process_FVME(), Process_HRB(), ProcessGenericDevice(), and time_slice_map.

Referenced by Calculate(), and ConvertStatEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProcessEvent() [2/2]

BmnStatus BmnConverterThread::ProcessEvent ( const uint32_t * data,
uint32_t len )
private

◆ ProcessGenericDevice() [1/2]

BmnStatus BmnConverterThread::ProcessGenericDevice ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private

Definition at line 754 of file BmnConverterThread.cxx.

References d, FillTDC250HGND(), kBMNSUCCESS, kHGND_SERIALS, kVSP_SERIALS, and MapVSP().

Referenced by ProcessEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProcessGenericDevice() [2/2]

BmnStatus BmnConverterThread::ProcessGenericDevice ( const uint32_t * d,
const DeviceHeader * dev_hdr )
private

References d.

◆ RegisterBranches() [1/2]

void BmnConverterThread::RegisterBranches ( )

Definition at line 24 of file BmnConverterThread.cxx.

References adc, adc128, adc32, adc64, eventHeaderDAQ, fRawTree, hrb, sync, tdc, tdc_hgnd, tqdc_adc, tqdc_tdc, and vsp.

Referenced by BmnConverter::BmnConverter().

Here is the caller graph for this function:

◆ RegisterBranches() [2/2]

void BmnConverterThread::RegisterBranches ( )

◆ RegisterSpillBranches() [1/2]

void BmnConverterThread::RegisterSpillBranches ( )

Definition at line 42 of file BmnConverterThread.cxx.

References fRawTreeSpills, msc, and t0raw.

Referenced by BmnConverter::BmnConverter().

Here is the caller graph for this function:

◆ RegisterSpillBranches() [2/2]

void BmnConverterThread::RegisterSpillBranches ( )

◆ SetData() [1/2]

void BmnConverterThread::SetData ( Int_t taskId,
Int_t len = 0,
const uint32_t * data = nullptr,
BmnEventType fCurEvType = kBMNEMPTY,
uint32_t fRunId = 7444,
uint32_t fEventId = -1 )

Definition at line 173 of file BmnConverterThread.cxx.

References dataLen, fCurEvent, fRunId, rawData, and BmnAbstractThread::taskId.

Referenced by BmnConverter::OutputSpills(), BmnConverter::QuickConvertStatEvent(), BmnConverter::QuickConvertStatEvent(), BmnConverter::QuickProcessEvent(), and BmnConverter::QuickProcessEvent().

Here is the caller graph for this function:

◆ SetData() [2/2]

void BmnConverterThread::SetData ( Int_t taskId,
Int_t len = 0,
const uint32_t * data = nullptr,
BmnEventType fCurEvType = kBMNEMPTY,
uint32_t fRunId = 7444,
uint32_t fEventId = -1 )

◆ SetExportExternalSpillStat() [1/2]

void BmnConverterThread::SetExportExternalSpillStat ( bool v)
inline

Definition at line 152 of file BmnConverterThread.h.

References fExportExternalSpillStat, and v.

Referenced by BmnConverter::LoadConfig().

Here is the caller graph for this function:

◆ SetExportExternalSpillStat() [2/2]

void BmnConverterThread::SetExportExternalSpillStat ( bool v)
inline

Definition at line 152 of file BmnConverterThread.h.

References fExportExternalSpillStat, and v.

◆ SetInitData() [1/2]

void BmnConverterThread::SetInitData ( vector< pair< int, pair< int, int > > > * vec_tree,
vector< pair< int, pair< int, int > > > * vec_tree_spills )
inline

Definition at line 116 of file BmnConverterThread.h.

References vecTree, and vecTreeSpills.

◆ SetInitData() [2/2]

void BmnConverterThread::SetInitData ( vector< pair< int, pair< int, int > > > * vec_tree,
vector< pair< int, pair< int, int > > > * vec_tree_spills )
inline

Definition at line 116 of file BmnConverterThread.h.

References vecTree, and vecTreeSpills.

◆ SetMerger() [1/2]

void BmnConverterThread::SetMerger ( TBufferMerger * m)
inline

Definition at line 124 of file BmnConverterThread.h.

References m, and merger.

Referenced by BmnConverter::BmnConverter(), and BmnConverter::OutputSpills().

Here is the caller graph for this function:

◆ SetMerger() [2/2]

void BmnConverterThread::SetMerger ( TBufferMerger * m)
inline

Definition at line 124 of file BmnConverterThread.h.

References m, and merger.

◆ SetPeriod() [1/2]

void BmnConverterThread::SetPeriod ( uint32_t v)
inline

Definition at line 107 of file BmnConverterThread.h.

References fPeriodId, and v.

Referenced by BmnConverter::BmnConverter().

Here is the caller graph for this function:

◆ SetPeriod() [2/2]

void BmnConverterThread::SetPeriod ( uint32_t v)
inline

Definition at line 107 of file BmnConverterThread.h.

References fPeriodId, and v.

◆ SetTrees() [1/2]

void BmnConverterThread::SetTrees ( TTree * tree,
TTree * treeSpills )

◆ SetTrees() [2/2]

void BmnConverterThread::SetTrees ( TTree * tree,
TTree * treeSpills )

◆ SpillEnd() [1/2]

void BmnConverterThread::SpillEnd ( )

Definition at line 192 of file BmnConverterThread.cxx.

References ClearRawSpillArrays(), and fRawTreeSpills.

Referenced by Calculate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SpillEnd() [2/2]

void BmnConverterThread::SpillEnd ( )

◆ Terminate() [1/2]

void BmnConverterThread::Terminate ( )
inlinevirtual

Reimplemented from BmnAbstractThread.

Definition at line 125 of file BmnConverterThread.h.

References adc, adc128, adc32, adc64, eventHeaderDAQ, BmnAbstractThread::Execute(), BmnAbstractThread::GetCalculationCTime(), BmnAbstractThread::GetWaitingCTime(), hrb, msc, sync, t0raw, BmnAbstractThread::taskId, tdc, tdc_hgnd, BmnAbstractThread::threadId, tqdc_adc, tqdc_tdc, and vsp.

Here is the call graph for this function:

◆ Terminate() [2/2]

void BmnConverterThread::Terminate ( )
inlinevirtual

Reimplemented from BmnAbstractThread.

Definition at line 125 of file BmnConverterThread.h.

References adc, adc128, adc32, adc64, eventHeaderDAQ, BmnAbstractThread::Execute(), BmnAbstractThread::GetCalculationCTime(), BmnAbstractThread::GetWaitingCTime(), hrb, msc, sync, t0raw, BmnAbstractThread::taskId, tdc, tdc_hgnd, BmnAbstractThread::threadId, tqdc_adc, tqdc_tdc, and vsp.

Here is the call graph for this function:

◆ WriteSpill() [1/2]

void BmnConverterThread::WriteSpill ( Int_t spillId)
private

Definition at line 96 of file BmnConverterThread.cxx.

References adc, adc128, adc32, adc64, TTree::Branch(), eventHeaderDAQ, f, TTree::Fill(), fRawTree, fRawTreeSpills, hrb, merger, msc, sync, t0raw, tdc, tdc_hgnd, BmnAbstractThread::threadId, tqdc_adc, tqdc_tdc, vecTree, vecTreeSpills, and vsp.

Referenced by Calculate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteSpill() [2/2]

void BmnConverterThread::WriteSpill ( Int_t spillId)
private

◆ WriteTree() [1/2]

void BmnConverterThread::WriteTree ( )

Definition at line 151 of file BmnConverterThread.cxx.

References fRawTree.

◆ WriteTree() [2/2]

void BmnConverterThread::WriteTree ( )

◆ WriteTreeSpills() [1/2]

void BmnConverterThread::WriteTreeSpills ( )

Definition at line 156 of file BmnConverterThread.cxx.

References fRawTreeSpills.

◆ WriteTreeSpills() [2/2]

void BmnConverterThread::WriteTreeSpills ( )

Member Data Documentation

◆ adc

◆ adc128

◆ adc32

◆ adc64

◆ dataLen

uint32_t BmnConverterThread::dataLen
private

Definition at line 182 of file BmnConverterThread.h.

Referenced by Calculate(), and SetData().

◆ eventHeaderDAQ

◆ fCurEvent

◆ fExportExternalSpillStat

Bool_t BmnConverterThread::fExportExternalSpillStat
private

Definition at line 155 of file BmnConverterThread.h.

Referenced by FillVirtualDevice(), and SetExportExternalSpillStat().

◆ fPeriodId

uint32_t BmnConverterThread::fPeriodId
private

Definition at line 156 of file BmnConverterThread.h.

Referenced by CreateTrees(), FillFVME2TMWR(), FillU40VE(), ProcessEvent(), and SetPeriod().

◆ fRawTree

◆ fRawTreeSpills

TTree * BmnConverterThread::fRawTreeSpills

◆ hrb

◆ leaps

map< TTimeStamp, Int_t > BmnConverterThread::leaps
private

Definition at line 190 of file BmnConverterThread.h.

Referenced by GetUTCShift(), and InitUTCShift().

◆ merger

TBufferMerger * BmnConverterThread::merger

Definition at line 30 of file BmnConverterThread.h.

Referenced by BmnConverterThread(), CreateTrees(), SetMerger(), and WriteSpill().

◆ mergerFile

std::shared_ptr< TBufferMergerFile > BmnConverterThread::mergerFile

Definition at line 31 of file BmnConverterThread.h.

Referenced by CreateTrees(), and FinalizeFile().

◆ msc

◆ rawData

uint32_t BmnConverterThread::rawData

Definition at line 32 of file BmnConverterThread.h.

Referenced by Calculate(), and SetData().

◆ sync

◆ t0raw

◆ tai_utc_dif

Int_t BmnConverterThread::tai_utc_dif
private

Definition at line 192 of file BmnConverterThread.h.

Referenced by BmnConverterThread(), FillMSC16VE_E(), FillTDC250HGND(), and FillWR().

◆ tdc

◆ tdc_hgnd

◆ time_slice_map

std::map< uint8_t, const uint32_t * > BmnConverterThread::time_slice_map

Definition at line 50 of file BmnConverterThread.h.

Referenced by FillVSP(), MapVSP(), and ProcessEvent().

◆ tqdc_adc

◆ tqdc_tdc

◆ utc_valid

TTimeStamp BmnConverterThread::utc_valid
private

Definition at line 191 of file BmnConverterThread.h.

Referenced by GetUTCShift(), and InitUTCShift().

◆ vecTree

vector< pair< int, pair< int, int > > > * BmnConverterThread::vecTree
private

Definition at line 184 of file BmnConverterThread.h.

Referenced by SetInitData(), and WriteSpill().

◆ vecTreeSpills

vector< pair< int, pair< int, int > > > * BmnConverterThread::vecTreeSpills
private

Definition at line 185 of file BmnConverterThread.h.

Referenced by SetInitData(), and WriteSpill().

◆ vsp


The documentation for this class was generated from the following files: