DABC (Data Acquisition Backbone Core)  2.9.9
MbsTypeDefs.h
Go to the documentation of this file.
1 // $Id: MbsTypeDefs.h 3862 2018-05-11 10:06:18Z linev $
2 
3 /************************************************************
4  * The Data Acquisition Backbone Core (DABC) *
5  ************************************************************
6  * Copyright (C) 2009 - *
7  * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
8  * Planckstr. 1, 64291 Darmstadt, Germany *
9  * Contact: http://dabc.gsi.de *
10  ************************************************************
11  * This software can be used under the GPL license *
12  * agreements as stated in LICENSE.txt file *
13  * which is part of the distribution. *
14  ************************************************************/
15 
16 #ifndef MBS_MbsTypeDefs
17 #define MBS_MbsTypeDefs
18 
19 #ifndef MBS_LmdTypeDefs
20 #include "LmdTypeDefs.h"
21 #endif
22 
23 #include <string>
24 
25 namespace mbs {
26 
28  tt_Event = 1,
29  tt_SpillOn = 12,
32  tt_StopAcq = 15
33  };
34 
35 #pragma pack(push, 1)
36 
37 
40  struct SubeventHeader : public Header {
41  union {
42 
43  struct {
44 
45 #if BYTE_ORDER == LITTLE_ENDIAN
46  int16_t iProcId; /* Processor ID [as loaded from VAX] */
47  int8_t iSubcrate; /* Subcrate number */
48  int8_t iControl; /* Processor type code */
49 #else
50  int8_t iControl; /* Processor type code */
51  int8_t iSubcrate; /* Subcrate number */
52  int16_t iProcId; /* Processor ID [as loaded from VAX] */
53 #endif
54  };
55 
56  uint32_t fFullId;
57  };
58 
59  void Init(uint8_t crate = 0, uint16_t procid = 0, uint8_t control = 0)
60  {
61  iWords = 0;
62  iType = MBS_TYPE(10,1);
63  iProcId = procid;
64  iSubcrate = crate;
65  iControl = control;
66  }
67 
68  void InitFull(uint32_t fullid)
69  {
70  iWords = 0;
71  iType = MBS_TYPE(10,1);
72  fFullId = fullid;
73  }
74 
75  void *RawData() const { return (char*) this + sizeof(SubeventHeader); }
76 
77  // RawDataSize - size of raw data without subevent header
78  uint32_t RawDataSize() const { return FullSize() - sizeof(SubeventHeader); }
79  void SetRawDataSize(uint32_t sz) { SetFullSize(sz + sizeof(SubeventHeader)); }
80 
81  int16_t ProcId() const { return iProcId; }
82  int8_t Control() const { return iControl; }
83  int8_t Subcrate() const { return iSubcrate; }
84 
86  void PrintHeader();
87 
89  void PrintData(bool ashex = true, bool aslong = true);
90  };
91 
92  // _______________________________________________________________
93 
94  typedef uint32_t EventNumType;
95 
98  struct EventHeader : public Header {
99 #if BYTE_ORDER == LITTLE_ENDIAN
100  int16_t iDummy; /* Not used yet */
101  int16_t iTrigger; /* Trigger number */
102 #else
103  int16_t iTrigger; /* Trigger number */
104  int16_t iDummy; /* Not used yet */
105 #endif
107 
108  void Init(EventNumType evnt = 0)
109  {
110  iWords = 0;
111  iType = MBS_TYPE(10,1);
112  iDummy = 0;
113  iTrigger = tt_Event;
114  iEventNumber = evnt;
115  }
116 
118  {
119  iDummy = src->iDummy;
120  iTrigger = src->iTrigger;
121  iEventNumber = src->iEventNumber;
122  }
123 
124  inline EventNumType EventNumber() const { return iEventNumber; }
125  inline void SetEventNumber(EventNumType ev) { iEventNumber = ev; }
126 
127  inline uint16_t TriggerNumber() const { return iTrigger; }
128 
129  // SubEventsSize - size of all subevents, not includes events header
130  inline uint32_t SubEventsSize() const { return FullSize() - sizeof(EventHeader); }
131  inline void SetSubEventsSize(uint32_t sz) { SetFullSize(sz + sizeof(EventHeader)); }
132 
134  { return (SubeventHeader*) ((char*) this + sizeof(EventHeader)); }
135 
137  { return prev == 0 ? (FullSize() > sizeof(EventHeader) ? SubEvents() : 0):
138  (((char*) this + FullSize() > (char*) prev + prev->FullSize() + sizeof(SubeventHeader)) ?
139  (SubeventHeader*) (((char*) prev) + prev->FullSize()) : 0); }
140 
141  unsigned NumSubevents() const;
142 
143  void PrintHeader();
144  };
145 
146  // _______________________________________________________________
147 
152  struct BufferHeader : public Header {
153  union {
154  struct {
155 #if BYTE_ORDER == LITTLE_ENDIAN
156  int16_t i_used; /* Used length of data field in words */
157  int8_t h_begin; /* Fragment at begin of buffer */
158  int8_t h_end; /* Fragment at end of buffer */
159 #else
160  int8_t h_end; /* Fragment at end of buffer */
161  int8_t h_begin; /* Fragment at begin of buffer */
162  int16_t i_used; /* Used length of data field in words */
163 #endif
164  };
165  int32_t iUsed; // not used for type=100, low 16bits only
166  };
167 
168  int32_t iBufferId; // consequent buffer id
169  int32_t iNumEvents; // number of events in buffer
170  int32_t iTemp; // Used volatile
171  int32_t iSeconds;
172  int32_t iNanosec;
173  int32_t iEndian; // compatible with s_bufhe free[0]
174  int32_t iLast; // length of last event, free[1]
175  int32_t iUsedWords; // total words without header to read for type=100, free[2]
176  int32_t iFree3; // free[3]
177 
178  void Init(bool newformat);
179 
180  // length of buffer, which will be transported over socket
181  uint32_t BufferLength() const;
182 
183  // UsedBufferSize - size of data after buffer header
184  uint32_t UsedBufferSize() const;
185  void SetUsedBufferSize(uint32_t len);
186 
187  void SetEndian() { iEndian = 1; }
188  bool IsCorrectEndian() const { return iEndian == 1; }
189  };
190 
191  // ________________________________________________________
192 
197  struct TransportInfo {
198  int32_t iEndian; // byte order. Set to 1 by sender
199  int32_t iMaxBytes; // maximum buffer size
200  int32_t iBuffers; // buffers per stream
201  int32_t iStreams; // number of streams (could be set to -1 to indicate variable length buffers)
202  };
203 
204  // __________________________________________________________________________
205 
206 
207 
208  struct DaqStatus {
209  enum {
212  SBS__STR_LEN_64 = 64
213  };
214 
215  bool null() const { return l_version == 0; }
216  void clear() { l_version = 0; }
217 
218  uint32_t l_endian; /* set to 1 if sent */
219  uint32_t l_version; /* increment in f_ut_status_ini after changes */
220  uint32_t l_daqst_lw; /* sizeof(s_daqst)/4 : number of lw */
221  uint32_t l_fix_lw; /* (&c_pname-ps_daqst)/4 : fix number of longwords to read */
222  uint32_t l_sys__n_max_procs; /* maximum number of processes */
223  uint32_t l_sbs__str_len_64; /* String length of process names */
224  uint32_t l_sbs__n_trg_typ; /* maximum number of triggers */
225  uint32_t bh_daqst_initalized; /* crea_daqst */
226  uint32_t bh_acqui_started; /* util(f_ut_op_trig_mod), read_cam_slav, read_meb */
227  uint32_t bh_acqui_running; /* collector, read_cam_slav, read_meb */
228  uint32_t l_procs_run; /* processes running (index in l_pid) */
229  uint32_t bh_setup_loaded; /* util(f_ut_load_setup) */
230  uint32_t bh_set_ml_loaded; /* util(f_ut_load_ml_setup) */
231  uint32_t bh_set_mo_loaded; /* util(f_ut_load_mo_setup) */
232  uint32_t bh_cam_tab_loaded; /* read_cam_slav, read_meb) */
233  int32_t l_free_streams; /* transport */
234  uint32_t bl_n_events; /* collector */
235  uint32_t bl_n_buffers; /* collector f_col_format */
236  uint32_t bl_n_bufstream; /* transport */
237  uint32_t bl_n_kbyte; /* transport */
238  uint32_t bl_n_evserv_events; /* event_serv f_ev_checkevt */
239  uint32_t bl_n_evserv_kbytes; /* event_serv f_ev_send */
240  uint32_t bl_n_strserv_bufs; /* stream_serv */
241  uint32_t bl_n_strserv_kbytes; /* stream_serv */
242  uint32_t bl_n_kbyte_tape; /* transport */
243  uint32_t bl_n_kbyte_file; /* transport */
244  uint32_t bl_r_events; /* rate */
245  uint32_t bl_r_buffers; /* rate */
246  uint32_t bl_r_bufstream; /* rate */
247  uint32_t bl_r_kbyte; /* rate */
248  uint32_t bl_r_kbyte_tape; /* rate (from l_block_count) */
249  uint32_t bl_r_evserv_events; /* rate */
250  uint32_t bl_r_evserv_kbytes; /* rate */
251  uint32_t bl_r_strserv_bufs; /* rate */
252  uint32_t bl_r_strserv_kbytes; /* rate */
253  uint32_t bl_flush_time; /* stream flush time */
254  int32_t l_pathnum; /* path number of open device */
255  uint32_t l_block_length; /* current block length */
256  uint32_t l_pos_on_tape; /* current tape position in kB */
257  uint32_t l_max_tape_size; /* maximal tape length in kB */
258  uint32_t l_file_count; /* file count on volume */
259  uint32_t l_file_auto; /* file count on volume */
260  uint32_t l_file_cur; /* file count on volume */
261  uint32_t l_file_size; /* file size */
262  uint32_t l_block_count; /* buffers on file */
263  uint32_t l_block_size; /* block size (=buffer) in bytes */
264  uint32_t l_record_size; /* record size on bytes */
265  int32_t l_open_vol; /* open mode of volume */
266  int32_t l_open_file; /* open file flag */
267  int32_t l_rate_on; /* for m_daq_rate */
268  int32_t l_rate_sec; /* for m_daq_rate */
269  uint32_t bh_trig_master; /* util(f_ut_op_trig_mod) */
270  uint32_t bh_histo_enable; /* collector */
271  uint32_t bh_histo_ready; /* collector */
272  uint32_t bh_ena_evt_copy; /* collector */
273  uint32_t bl_n_trig[SBS__N_TRG_TYP]; /* Trigger counter (read_cam_slav or read_meb) */
274  uint32_t bl_n_si [SBS__N_TRG_TYP]; /* Invalid subevents (collector) */
275  uint32_t bl_n_evt [SBS__N_TRG_TYP]; /* Valid triggers (collector) */
276  uint32_t bl_r_trig[SBS__N_TRG_TYP]; /* Rate Trigger counter (read_cam_slav or read_meb) */
277  uint32_t bl_r_si [SBS__N_TRG_TYP]; /* Rate Invalid subevents (collector) */
278  uint32_t bl_r_evt [SBS__N_TRG_TYP]; /* Rate Valid triggers (collector) */
279  uint32_t bh_running[SYS__N_MAX_PROCS];/* run bit for tasks */
280  uint32_t l_pid[SYS__N_MAX_PROCS]; /* pid table */
281  uint32_t l_type[SYS__N_MAX_PROCS]; /* Type number defined in sys_def.h */
282  int32_t l_pprio[SYS__N_MAX_PROCS]; /* daq processes priority */
283  /* f_ut_init_daq_proc, */
284  /* f_ut_clear_daqst, */
285  /* f_ut_exit_daq_proc, */
286  /* f_ut_show_acq, */
287  /* dispatch, */
288  /* prompt */
289  /* tasks */
290  uint32_t bh_pact[SYS__N_MAX_PROCS]; /* daq processes, 1 = active, as pprio */
291  uint32_t bh_verbose_flg; /* */
292  uint32_t bl_histo_port; /* not used */
293  uint32_t bl_run_time; /* not used */
294  int32_t l_irq_driv_id; /* 0=irq driver/device not installed */
295  int32_t l_irq_maj_dev_id; /* "=" */
296  uint32_t bh_event_serv_ready; /* event_serv, stream_serv */
297  uint32_t bl_strsrv_scale; /* stream server */
298  uint32_t bl_strsrv_sync; /* stream server */
299  uint32_t bl_strsrv_nosync; /* stream server */
300  uint32_t bl_strsrv_keep; /* stream server */
301  uint32_t bl_strsrv_nokeep; /* stream server */
302  uint32_t bl_strsrv_scaled; /* stream server */
303  uint32_t bl_evtsrv_scale; /* event server */
304  uint32_t bl_evtsrv_events; /* event server */
305  uint32_t bl_evtsrv_maxcli; /* event server */
306  uint32_t bl_evtsrv_all; /* event server */
307  uint32_t bl_esosrv_maxcli; /* esone server */
308  uint32_t bl_pipe_slots; /* sub event slots in readout pipe */
309  uint32_t bl_pipe_slots_filled; /* sub event slots used */
310  uint32_t bl_pipe_size_KB; /* readout pipe size */
311  uint32_t bl_pipe_filled_KB; /* readout pipe size occupied */
312  uint32_t bl_spill_on; /* Spill on/off */
313  uint32_t bl_delayed_eb_ena; /* Delayed event building enabled/disab.*/
314  uint32_t bl_event_build_on; /* Event building on/off */
315  uint32_t bl_dabc_enabled; /* DABC event builder mode off/on */
316  uint32_t bl_trans_ready; /* transport server ready */
317  uint32_t bl_trans_connected; /* Client to transport connected */
318  uint32_t bl_no_streams; /* Number of streams */
319  uint32_t bl_user[16]; /* for user */
320  uint32_t bl_filler[190]; /* filler */
321  uint32_t bl_no_stream_buf; /* bufs per stream */
322  uint32_t bl_rfio_connected; /* RFIO connected */
323  char c_user[SBS__STR_LEN_64]; /* username */
324  char c_date[SBS__STR_LEN_64]; /* date of last update (m_daq_rate) */
325  char c_exprun[SBS__STR_LEN_64]; /* run name */
326  char c_exper[SBS__STR_LEN_64]; /* experiment */
327  char c_host[SBS__STR_LEN_64]; /* name of host */
328  char c_remote[SBS__STR_LEN_64]; /* name of remote control node */
329  char c_display[SBS__STR_LEN_64]; /* name of remote display node */
330  char c_anal_segm_name[SBS__STR_LEN_64]; /* name of histogram segment in use */
331  /* by f_his_anal() in m_collector */
332  char c_setup_name[SBS__STR_LEN_64]; /* setup table loaded */
333  char c_ml_setup_name[SBS__STR_LEN_64]; /* ml setup table loaded */
334  char c_readout_name[SBS__STR_LEN_64]; /* readout table loaded */
335  char c_pathstr[SBS__STR_LEN_64]; /* path string */
336  char c_devname[SBS__STR_LEN_64]; /* Name of tape device */
337  char c_tape_label[SBS__STR_LEN_64]; /* current tape label */
338  char c_file_name[256]; /* current file name */
339  char c_out_chan[SBS__STR_LEN_64]; /* active ouput media */
340  /* ------------------ end of fixed block --------------------------*/
341  char c_pname[SYS__N_MAX_PROCS][SBS__STR_LEN_64]; /* as pprio */
342  };
343 
344 
345 #pragma pack(pop)
346 
348  mbt_MbsEvents = 103 // several mbs events without buffer header
349  };
350 
351  // this is list of server kind, supported up to now by DABC
353  NoServer = 0,
357  OldStreamServer = 4
358  };
359 
360  extern const char* ServerKindToStr(int kind);
361  extern int StrToServerKind(const std::string &str);
362  extern int DefualtServerPort(int kind);
363 
364  extern void SwapData(void* data, unsigned bytessize);
365 
366  extern const char* protocolLmd;
367  extern const char* protocolMbs;
368  extern const char* protocolMbss;
369  extern const char* protocolMbst;
370 
371  extern const char* comStartServer;
372  extern const char* comStopServer;
373  extern const char* comStartFile;
374  extern const char* comStopFile;
375 
376  extern const char* xmlServerName;
377  extern const char* xmlServerKind;
378  extern const char* xmlServerPort;
379  extern const char* xmlServerScale;
380  extern const char* xmlServerLimit;
381 
382  extern const char* xmlTextDataFormat;
383  extern const char* xmlTextNumData;
384  extern const char* xmlTextHeaderLines;
385  extern const char* xmlTextCharBuffer;
386 
387  extern const char* xmlCombineCompleteOnly;
388  extern const char* xmlCheckSubeventIds;
389  extern const char* xmlEvidMask;
390  extern const char* xmlEvidTolerance;
391  extern const char* xmlSpecialTriggerLimit;
392  extern const char* xmlCombinerRatesPrefix;
393 
394 };
395 
396 #endif
#define MBS_TYPE(typ, subtyp)
Definition: LmdTypeDefs.h:30
unsigned fullid
Definition: hldprint.cxx:995
Support for MBS - standard GSI DAQ.
Definition: api.h:36
const char * comStartServer
Definition: MbsTypeDefs.cxx:37
const char * protocolMbst
Definition: MbsTypeDefs.cxx:34
void SwapData(void *data, unsigned bytessize)
const char * comStartFile
Definition: MbsTypeDefs.cxx:39
const char * xmlCombineCompleteOnly
Definition: MbsTypeDefs.cxx:55
const char * comStopFile
Definition: MbsTypeDefs.cxx:40
const char * xmlServerLimit
Definition: MbsTypeDefs.cxx:47
EMbsServerKinds
Definition: MbsTypeDefs.h:352
@ NoServer
Definition: MbsTypeDefs.h:353
@ StreamServer
Definition: MbsTypeDefs.h:355
@ TransportServer
Definition: MbsTypeDefs.h:354
@ OldTransportServer
Definition: MbsTypeDefs.h:356
@ OldStreamServer
Definition: MbsTypeDefs.h:357
const char * xmlSpecialTriggerLimit
Definition: MbsTypeDefs.cxx:59
const char * protocolMbss
Definition: MbsTypeDefs.cxx:33
const char * protocolMbs
Definition: MbsTypeDefs.cxx:32
int DefualtServerPort(int kind)
EMbsTriggerTypes
Definition: MbsTypeDefs.h:27
@ tt_StartAcq
Definition: MbsTypeDefs.h:31
@ tt_StopAcq
Definition: MbsTypeDefs.h:32
@ tt_Event
Definition: MbsTypeDefs.h:28
@ tt_SpillOn
Definition: MbsTypeDefs.h:29
@ tt_SpillOff
Definition: MbsTypeDefs.h:30
const char * xmlTextCharBuffer
Definition: MbsTypeDefs.cxx:52
const char * xmlEvidMask
Definition: MbsTypeDefs.cxx:57
int StrToServerKind(const std::string &str)
const char * comStopServer
Definition: MbsTypeDefs.cxx:38
const char * xmlServerScale
Definition: MbsTypeDefs.cxx:46
EMbsBufferTypes
Definition: MbsTypeDefs.h:347
@ mbt_MbsEvents
Definition: MbsTypeDefs.h:348
uint32_t EventNumType
Definition: MbsTypeDefs.h:94
const char * xmlCheckSubeventIds
Definition: MbsTypeDefs.cxx:56
const char * xmlCombinerRatesPrefix
Definition: MbsTypeDefs.cxx:60
const char * xmlTextNumData
Definition: MbsTypeDefs.cxx:50
const char * xmlServerKind
Definition: MbsTypeDefs.cxx:44
const char * xmlEvidTolerance
Definition: MbsTypeDefs.cxx:58
const char * xmlServerPort
Definition: MbsTypeDefs.cxx:45
const char * ServerKindToStr(int kind)
const char * xmlTextHeaderLines
Definition: MbsTypeDefs.cxx:51
const char * protocolLmd
Definition: MbsTypeDefs.cxx:31
const char * xmlTextDataFormat
Definition: MbsTypeDefs.cxx:49
const char * xmlServerName
Definition: MbsTypeDefs.cxx:43
MBS buffer header.
Definition: MbsTypeDefs.h:152
void Init(bool newformat)
uint32_t UsedBufferSize() const
uint32_t BufferLength() const
bool IsCorrectEndian() const
Definition: MbsTypeDefs.h:188
void SetUsedBufferSize(uint32_t len)
char c_devname[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:336
uint32_t bh_verbose_flg
Definition: MbsTypeDefs.h:291
uint32_t bl_flush_time
Definition: MbsTypeDefs.h:253
uint32_t l_file_count
Definition: MbsTypeDefs.h:258
uint32_t bl_pipe_filled_KB
Definition: MbsTypeDefs.h:311
char c_date[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:324
char c_exprun[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:325
uint32_t bl_n_kbyte_file
Definition: MbsTypeDefs.h:243
int32_t l_rate_sec
Definition: MbsTypeDefs.h:268
uint32_t bl_strsrv_sync
Definition: MbsTypeDefs.h:298
uint32_t bh_acqui_started
Definition: MbsTypeDefs.h:226
int32_t l_rate_on
Definition: MbsTypeDefs.h:267
uint32_t bh_daqst_initalized
Definition: MbsTypeDefs.h:225
char c_anal_segm_name[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:330
char c_setup_name[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:332
uint32_t bl_trans_ready
Definition: MbsTypeDefs.h:316
uint32_t bl_evtsrv_maxcli
Definition: MbsTypeDefs.h:305
uint32_t bl_r_trig[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:276
uint32_t l_pos_on_tape
Definition: MbsTypeDefs.h:256
uint32_t l_max_tape_size
Definition: MbsTypeDefs.h:257
uint32_t bh_trig_master
Definition: MbsTypeDefs.h:269
uint32_t l_block_length
Definition: MbsTypeDefs.h:255
uint32_t bl_delayed_eb_ena
Definition: MbsTypeDefs.h:313
uint32_t bl_no_stream_buf
Definition: MbsTypeDefs.h:321
char c_file_name[256]
Definition: MbsTypeDefs.h:338
uint32_t l_file_size
Definition: MbsTypeDefs.h:261
uint32_t l_procs_run
Definition: MbsTypeDefs.h:228
int32_t l_open_vol
Definition: MbsTypeDefs.h:265
uint32_t bl_pipe_slots_filled
Definition: MbsTypeDefs.h:309
uint32_t bl_r_events
Definition: MbsTypeDefs.h:244
uint32_t bl_n_evserv_events
Definition: MbsTypeDefs.h:238
uint32_t l_block_count
Definition: MbsTypeDefs.h:262
uint32_t bl_n_si[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:274
uint32_t l_file_cur
Definition: MbsTypeDefs.h:260
uint32_t bl_run_time
Definition: MbsTypeDefs.h:293
uint32_t l_fix_lw
Definition: MbsTypeDefs.h:221
uint32_t l_type[SYS__N_MAX_PROCS]
Definition: MbsTypeDefs.h:281
uint32_t bh_acqui_running
Definition: MbsTypeDefs.h:227
int32_t l_irq_driv_id
Definition: MbsTypeDefs.h:294
uint32_t bl_evtsrv_scale
Definition: MbsTypeDefs.h:303
uint32_t bl_n_events
Definition: MbsTypeDefs.h:234
uint32_t bl_esosrv_maxcli
Definition: MbsTypeDefs.h:307
uint32_t bh_set_ml_loaded
Definition: MbsTypeDefs.h:230
uint32_t bl_r_si[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:277
char c_display[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:329
uint32_t bl_r_kbyte_tape
Definition: MbsTypeDefs.h:248
char c_exper[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:326
int32_t l_free_streams
Definition: MbsTypeDefs.h:233
uint32_t bh_histo_ready
Definition: MbsTypeDefs.h:271
char c_pathstr[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:335
uint32_t bh_setup_loaded
Definition: MbsTypeDefs.h:229
uint32_t bh_cam_tab_loaded
Definition: MbsTypeDefs.h:232
uint32_t bl_spill_on
Definition: MbsTypeDefs.h:312
int32_t l_pathnum
Definition: MbsTypeDefs.h:254
uint32_t bl_n_evt[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:275
uint32_t bl_filler[190]
Definition: MbsTypeDefs.h:320
uint32_t bh_histo_enable
Definition: MbsTypeDefs.h:270
uint32_t bl_strsrv_nosync
Definition: MbsTypeDefs.h:299
uint32_t bl_r_evt[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:278
uint32_t l_file_auto
Definition: MbsTypeDefs.h:259
uint32_t bh_pact[SYS__N_MAX_PROCS]
Definition: MbsTypeDefs.h:290
uint32_t bl_r_evserv_kbytes
Definition: MbsTypeDefs.h:250
uint32_t l_record_size
Definition: MbsTypeDefs.h:264
char c_remote[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:328
uint32_t bl_n_buffers
Definition: MbsTypeDefs.h:235
uint32_t bl_user[16]
Definition: MbsTypeDefs.h:319
uint32_t l_sbs__n_trg_typ
Definition: MbsTypeDefs.h:224
uint32_t bh_running[SYS__N_MAX_PROCS]
Definition: MbsTypeDefs.h:279
uint32_t bl_n_bufstream
Definition: MbsTypeDefs.h:236
uint32_t bl_strsrv_scale
Definition: MbsTypeDefs.h:297
uint32_t l_version
Definition: MbsTypeDefs.h:219
uint32_t l_block_size
Definition: MbsTypeDefs.h:263
uint32_t bl_rfio_connected
Definition: MbsTypeDefs.h:322
int32_t l_open_file
Definition: MbsTypeDefs.h:266
uint32_t l_endian
Definition: MbsTypeDefs.h:218
uint32_t bl_r_bufstream
Definition: MbsTypeDefs.h:246
char c_out_chan[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:339
uint32_t bh_set_mo_loaded
Definition: MbsTypeDefs.h:231
int32_t l_pprio[SYS__N_MAX_PROCS]
Definition: MbsTypeDefs.h:282
uint32_t bl_event_build_on
Definition: MbsTypeDefs.h:314
uint32_t bl_pipe_size_KB
Definition: MbsTypeDefs.h:310
char c_host[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:327
uint32_t bl_trans_connected
Definition: MbsTypeDefs.h:317
uint32_t bl_n_strserv_bufs
Definition: MbsTypeDefs.h:240
uint32_t bl_n_strserv_kbytes
Definition: MbsTypeDefs.h:241
uint32_t bl_n_trig[SBS__N_TRG_TYP]
Definition: MbsTypeDefs.h:273
uint32_t bl_strsrv_scaled
Definition: MbsTypeDefs.h:302
uint32_t bl_evtsrv_all
Definition: MbsTypeDefs.h:306
uint32_t bl_strsrv_nokeep
Definition: MbsTypeDefs.h:301
uint32_t bh_event_serv_ready
Definition: MbsTypeDefs.h:296
uint32_t bh_ena_evt_copy
Definition: MbsTypeDefs.h:272
uint32_t bl_evtsrv_events
Definition: MbsTypeDefs.h:304
uint32_t bl_pipe_slots
Definition: MbsTypeDefs.h:308
uint32_t bl_histo_port
Definition: MbsTypeDefs.h:292
uint32_t l_sbs__str_len_64
Definition: MbsTypeDefs.h:223
uint32_t bl_r_strserv_bufs
Definition: MbsTypeDefs.h:251
uint32_t l_pid[SYS__N_MAX_PROCS]
Definition: MbsTypeDefs.h:280
uint32_t bl_n_kbyte
Definition: MbsTypeDefs.h:237
uint32_t bl_r_strserv_kbytes
Definition: MbsTypeDefs.h:252
uint32_t bl_r_kbyte
Definition: MbsTypeDefs.h:247
uint32_t bl_strsrv_keep
Definition: MbsTypeDefs.h:300
uint32_t bl_r_evserv_events
Definition: MbsTypeDefs.h:249
uint32_t bl_r_buffers
Definition: MbsTypeDefs.h:245
char c_pname[SYS__N_MAX_PROCS][SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:341
uint32_t l_sys__n_max_procs
Definition: MbsTypeDefs.h:222
char c_readout_name[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:334
uint32_t bl_dabc_enabled
Definition: MbsTypeDefs.h:315
char c_tape_label[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:337
uint32_t bl_n_evserv_kbytes
Definition: MbsTypeDefs.h:239
uint32_t bl_no_streams
Definition: MbsTypeDefs.h:318
uint32_t l_daqst_lw
Definition: MbsTypeDefs.h:220
char c_ml_setup_name[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:333
uint32_t bl_n_kbyte_tape
Definition: MbsTypeDefs.h:242
char c_user[SBS__STR_LEN_64]
Definition: MbsTypeDefs.h:323
int32_t l_irq_maj_dev_id
Definition: MbsTypeDefs.h:295
SubeventHeader * NextSubEvent(SubeventHeader *prev) const
Definition: MbsTypeDefs.h:136
uint16_t TriggerNumber() const
Definition: MbsTypeDefs.h:127
unsigned NumSubevents() const
EventNumType iEventNumber
Definition: MbsTypeDefs.h:106
EventNumType EventNumber() const
Definition: MbsTypeDefs.h:124
SubeventHeader * SubEvents() const
Definition: MbsTypeDefs.h:133
void SetSubEventsSize(uint32_t sz)
Definition: MbsTypeDefs.h:131
uint32_t SubEventsSize() const
Definition: MbsTypeDefs.h:130
void CopyHeader(EventHeader *src)
Definition: MbsTypeDefs.h:117
void SetEventNumber(EventNumType ev)
Definition: MbsTypeDefs.h:125
void Init(EventNumType evnt=0)
Definition: MbsTypeDefs.h:108
Structure of any entry in LMD file.
Definition: LmdTypeDefs.h:39
uint32_t iWords
Definition: LmdTypeDefs.h:40
uint32_t iType
Definition: LmdTypeDefs.h:51
void SetFullSize(uint32_t sz)
Definition: LmdTypeDefs.h:56
uint32_t FullSize() const
Definition: LmdTypeDefs.h:55
MBS subevent
Definition: MbsTypeDefs.h:40
int16_t ProcId() const
Definition: MbsTypeDefs.h:81
void * RawData() const
Definition: MbsTypeDefs.h:75
void PrintData(bool ashex=true, bool aslong=true)
Prints sub-event data in hex/decimal and long/short form.
Definition: MbsTypeDefs.cxx:69
void InitFull(uint32_t fullid)
Definition: MbsTypeDefs.h:68
void Init(uint8_t crate=0, uint16_t procid=0, uint8_t control=0)
Definition: MbsTypeDefs.h:59
void PrintHeader()
Prints sub-event header.
Definition: MbsTypeDefs.cxx:63
int8_t Control() const
Definition: MbsTypeDefs.h:82
uint32_t RawDataSize() const
Definition: MbsTypeDefs.h:78
int8_t Subcrate() const
Definition: MbsTypeDefs.h:83
void SetRawDataSize(uint32_t sz)
Definition: MbsTypeDefs.h:79
MBS server info structure.
Definition: MbsTypeDefs.h:197