FACT++  1.0
EventBuilderWrapper::EventBuilderWrapper ( MessageImp imp)
inline

Definition at line 217 of file EventBuilderWrapper.h.

References i, and DimDescribedService::Update().

217  : fMsg(imp),
218  fFileFormat(FAD::kNone), /*fMaxRun(0),*/ fLastOpened(0), fLastClosed(0),
219  fDimWriteStats ("FAD_CONTROL", imp),
220  fDimRuns ("FAD_CONTROL/RUNS", "I:2;C",
221  "Run files statistics"
222  "|stats[int]:last opened or closed run"
223  "|file[string]:filename of last opened file"),
224  fDimEvents ("FAD_CONTROL/EVENTS", "I:4",
225  "Event counts"
226  "|evtsCount[int]:Num evts cur. run, total (all run), evt ID, trig. Num"),
227  fDimTrigger ("FAD_CONTROL/TRIGGER_COUNTER", "I:1;I:1;I:1;I:1;I:1;I:1;I:1;I:1",
228  "Trigger counter"
229  "|N_trg[uint32]:Number of physics triggers"
230  "|N_ped[uint32]:Number of pure pedestal triggers"
231  "|N_lpe[uint32]:Number of external light pulser triggers"
232  "|N_tim[uint32]:Number of time calibration triggers"
233  "|N_lpi[uint32]:Number of internal light pulser triggers"
234  "|N_ext1[uint32]:Number of external triggers at input ext1"
235  "|N_ext2[uint32]:Number of external triggers at input ext2"
236  "|N_misc[uint32]:Number of all other triggers"),
237  fDimRawData ("FAD_CONTROL/RAW_DATA", "S:1;S:1;I:1;I:1;S:1;I:1;I:2;I:40;S:1440;S:160;F",
238  "|roi[uint16]:number of samples per pixel"
239  "|roi_tm[uint16]:number of samples per time-marker channel"
240  "|num_fad[uint32]:event number from FADs"
241  "|num_ftm[uint32]:trigger number from FTM"
242  "|type[uint16]:trigger type from FTM"
243  "|num_boards[uint32]:number of active boards"
244  "|time[uint32]:PC time as unix time stamp"
245  "|time_board[uint32]:Time stamp of FAD boards"
246  "|start_pix[int16]:start sample of pixels"
247  "|start_tm[int16]:start sample of time marker channels"
248  "|adc[int16]:adc data"),
249  fDimEventData ("FAD_CONTROL/EVENT_DATA", "I:1;I:1;F:1440;F:1440;F:1440;F:1440", "|run:|evt:|avg:|rms:|max:|pos"),
250  fDimFeedbackData("FAD_CONTROL/FEEDBACK_DATA", "F:1440", ""),
251  fDimFwVersion ("FAD_CONTROL/FIRMWARE_VERSION", "F:42",
252  "Firmware version number of fad boards"
253  "|firmware[float]:Version number of firmware, for each board. 40=min, 41=max"),
254  fDimRunNumber ("FAD_CONTROL/RUN_NUMBER", "I:42",
255  "Run numbers coming from FAD boards"
256  "|runNumbers[int]:current run number of each FAD board. 40=min, 41=max"),
257  fDimStatus ("FAD_CONTROL/STATUS", "S:42",
258  "Status of FAD boards"
259  "|status[bitpattern]:Status of each FAD board. Maybe buggy"),
260  fDimDNA ("FAD_CONTROL/DNA", "X:40",
261  "DNA of FAD boards"
262  "|DNA[hex]:Hex identifier of each FAD board"),
263  fDimTemperature ("FAD_CONTROL/TEMPERATURE", "S:1;F:160",
264  "DRS temperatures"
265  "|cnt[uint16]:Counter of averaged values"
266  "|temp[deg C]:average temp of all DRS chips"),
267  fDimPrescaler ("FAD_CONTROL/PRESCALER", "S:42",
268  "Trigger generator prescaler of fad boards"
269  "|prescaler[int]:Trigger generator prescaler value, for each board"),
270  fDimRefClock ("FAD_CONTROL/REFERENCE_CLOCK", "S:1;F:40",
271  "Reference clock of FAD boards"
272  "|cnt[uint16]:Counter of averaged values"
273  "|clk[Hz]:Averaged clock of ref clocks of FAD boards"),
274  fDimRoi ("FAD_CONTROL/REGION_OF_INTEREST", "S:2", "roi:|roi_rm:"),
275  fDimDac ("FAD_CONTROL/DAC", "S:336",
276  "DAC settings of each FAD board"
277  "|DAC[int]:DAC counts, sequentially DAC 0 board 0, 0/1, 0/2... (plus min max)"),
278  fDimDrsRuns ("FAD_CONTROL/DRS_RUNS", "I:1;I:3;I:1",
279  "|roi:Region of interest of secondary baseline"
280  "|run:Run numbers of DRS runs (0=none)"
281  "|night:Night as int of the first run (0 if none)"),
282  fDimDrsCalibration("FAD_CONTROL/DRS_CALIBRATION", "I:1;I:3;F:1474560;F:1474560;F:1474560;F:1474560;F:1474560;F:1474560;F:163840;F:163840",
283  "|roi:Region of interest of secondary baseline"
284  "|run:Run numbers of DRS runs (0=none)"),
285  fDimStatistics1 ("FAD_CONTROL/STATISTICS1", "I:5;X:3;I:1;I:2;C:40;I:40;I:40",
286  "Event Builder status for GUI display"
287  "|bufferInfo[int]:Events in buffer, incomp., comp., write, proc., tot."
288  "|memInfo[int]:total mem allocated, used mem, max memory"
289  "|deltaT[ms]:Time in ms for rates"
290  "|rateNew[int]:Number of new start events received"
291  "|numConn[int]:Number of connections per board"
292  "|rateBytes[int]:Bytes read during last cylce"
293  "|relBytes[int]:Relative number of total bytes received (received - released)"),
294  fDimFileFormat("FAD_CONTROL/FILE_FORMAT", "S:1", "|format[int]:Current file format"),
295  fDimIncomplete("FAD_CONTROL/INCOMPLETE", "X:1", "|incomplete[bits]:bit_index=c*10+b. board b(0..3) in crate c(0..9)"),
296  // It is important to instantiate them after the DimServices
297  fQueueStatistics1(std::bind(&EventBuilderWrapper::UpdateDimStatistics1, this, placeholders::_1)),
298  fQueueProcHeader( std::bind(&EventBuilderWrapper::procHeader, this, placeholders::_1)),
299  fQueueEvents( std::bind(&EventBuilderWrapper::UpdateDimEvents, this, placeholders::_1)),
300  fQueueTrigger( std::bind(&EventBuilderWrapper::UpdateDimTrigger, this, placeholders::_1)),
301  fQueueRoi( std::bind(&EventBuilderWrapper::UpdateDimRoi, this, placeholders::_1)),
302  fQueueRawData( std::bind(&EventBuilderWrapper::UpdateDimRawData, this, placeholders::_1)),
303  fQueueEventData( std::bind(&EventBuilderWrapper::UpdateDimEventData, this, placeholders::_1)),
304  fQueueTempRefClk( std::bind(&EventBuilderWrapper::UpdateDimTempRefClk, this, placeholders::_1)),
305  fNightAsInt(0), fRunInProgress(-1),
306  fMaxEvent(make_pair(-FLT_MAX, EventData()/*array<float,1440*4>()*/))
307  {
308  if (This)
309  throw logic_error("EventBuilderWrapper cannot be instantiated twice.");
310 
311  This = this;
312 
313  fVecRoi.fill(0);
314 
315  memset(fNumEvts.data(), 0, sizeof(fNumEvts));
317 
318  for (size_t i=0; i<40; i++)
319  ConnectSlot(i, tcp::endpoint());
320  }
DimDescribedService fDimDNA
void ConnectSlot(unsigned int i, const tcp::endpoint &addr)
DimDescribedService fDimStatistics1
DimDescribedService fDimRawData
DimDescribedService fDimFileFormat
DimDescribedService fDimStatus
Queue< tuple< Time, char, array< uint32_t, 8 > > > fQueueTrigger
DimDescribedService fDimRuns
bool UpdateDimEventData(const tuple< Time, uint32_t, EventData > &tup)
int i
Definition: db_dim_client.c:21
bool UpdateDimTempRefClk(const tuple< Time, array< uint32_t, 40 >, array< int16_t, 160 >> &dat)
Queue< pair< Time, array< uint16_t, 2 > > > fQueueRoi
bool UpdateDimStatistics1(const pair< Time, GUI_STAT > &stat)
bool UpdateDimEvents(const pair< Time, array< uint32_t, 4 >> &stat)
DimDescribedService fDimDac
DimDescribedService fDimPrescaler
DimDescribedService fDimFeedbackData
Queue< pair< Time, array< uint32_t, 4 > > > fQueueEvents
DimDescribedService fDimRunNumber
DimDescribedService fDimTemperature
bool UpdateDimRoi(const pair< Time, array< uint16_t, 2 >> &roi)
FAD::FileFormat_t fFileFormat
DimDescribedService fDimDrsRuns
DimDescribedService fDimRefClock
Queue< tuple< Time, uint32_t, EventData > > fQueueEventData
DimDescribedService fDimEventData
bool procHeader(const tuple< Time, bool, FAD::EventHeader > &dat)
DimDescribedService fDimRoi
DimWriteStatistics fDimWriteStats
Queue< pair< Time, GUI_STAT > > fQueueStatistics1
DimDescribedService fDimIncomplete
bool UpdateDimRawData(const vector< char > &v)
Queue< tuple< Time, bool, FAD::EventHeader > > fQueueProcHeader
pair< float, EventData > fMaxEvent
DimDescribedService fDimTrigger
DimDescribedService fDimEvents
DimDescribedService fDimDrsCalibration
array< uint32_t, 4 > fNumEvts
static EventBuilderWrapper * This
DimDescribedService fDimFwVersion
Queue< vector< char > > fQueueRawData
bool UpdateDimTrigger(const tuple< Time, char, array< uint32_t, 8 >> &stat)
array< uint16_t, 2 > fVecRoi
Queue< tuple< Time, array< uint32_t, 40 >, array< int16_t, 160 > > > fQueueTempRefClk

+ Here is the call graph for this function: