9#define VF48_MAX_MODULES 22
10#define VF48_MAX_GROUPS 6
11#define VF48_MAX_CHANNELS 48
12#define VF48_MAX_SAMPLES 1100
73 void UnpackStream(
int module,
const void* data_ptr,
int data_size);
81 void SetDisasm(
bool stream,
bool structure,
bool samples);
85 void SetTsFreq(
int module,
double ts_freq_hz);
126 void UnpackEvent(
int module,
int group,
const uint32_t* data,
int wcount);
#define VF48_MAX_CHANNELS
void SetNumModules(int num_modules)
void UnpackEvent(int module, int group, const uint32_t *data, int wcount)
void SetTsFreq(int module, double ts_freq_hz)
bool wacc[VF48_MAX_MODULES][VF48_MAX_GROUPS]
bool fChanEnabled[VF48_MAX_MODULES][VF48_MAX_CHANNELS]
unsigned fFlushIncompleteThreshold
void CompleteModule(VF48module *m)
VF48event * FindEvent(int unit, double timestamp, bool dup=false)
void SetChanEnable(int module, int grp, int chan_enable)
void CompleteEvent(VF48event *e)
void SetNumSamples(int module, int num_samples)
int wgrp[VF48_MAX_MODULES]
VF48module * FindModule(int unit, int group, double timestamp)
int wdiscarded[VF48_MAX_MODULES]
void SetModulesMask(uint32_t mask)
void SetTimestampResync(bool enable)
int wptr[VF48_MAX_MODULES][VF48_MAX_GROUPS]
double GetTsFreq(int module)
bool fTimestampResyncEnable
void SetFlushIncompleteThreshold(int threshold)
void UnpackStream(int module, const void *data_ptr, int data_size)
uint64_t ts_first[VF48_MAX_MODULES][VF48_MAX_GROUPS]
void SetCoincTime(double time_sec)
double fFreq[VF48_MAX_MODULES]
int fNumSamples[VF48_MAX_MODULES]
uint32_t fGroupEnabled[VF48_MAX_MODULES]
void AddToEvent(VF48module *m)
uint32_t * wbuf[VF48_MAX_MODULES][VF48_MAX_GROUPS]
void SetDisasm(bool stream, bool structure, bool samples)
void SetGroupEnableMask(int module, int grp_enable_mask)
uint64_t ts_last[VF48_MAX_MODULES][VF48_MAX_GROUPS]
VF48event * GetEvent(bool flush=false)
std::deque< VF48event * > fBuffer
int wmax[VF48_MAX_MODULES][VF48_MAX_GROUPS]
uint16_t samples[VF48_MAX_SAMPLES]
void PrintSummary() const
VF48module * modules[VF48_MAX_MODULES]
VF48channel channels[VF48_MAX_CHANNELS]
uint32_t completeGroupMask
uint64_t timestamp64[VF48_MAX_GROUPS]
double timestamps[VF48_MAX_GROUPS]
int presentMask[VF48_MAX_GROUPS]
uint32_t timestampGroupMask
int hitMask[VF48_MAX_GROUPS]
uint32_t trigno[VF48_MAX_GROUPS]