Belle II Software  release-05-02-19
PrintDataTemplate.cc
1 //+
2 // File : PrintData.cc
3 // Description : Module to get data from DataStore and send it to another network node
4 //
5 // Author : Satoru Yamada Itoh, IPNS, KEK
6 // Date : 2 - Aug - 2013
7 //-
8 #include <rawdata/modules/PrintDataTemplate.h>
9 //#include <daq/rawdata/modules/DAQConsts.h>
10 #include <rawdata/dataobjects/RawPXD.h>
11 
12 
13 using namespace std;
14 using namespace Belle2;
15 
16 //#define DEBUG
17 
18 //-----------------------------------------------------------------
19 // Register the Module
20 //-----------------------------------------------------------------
21 REG_MODULE(PrintDataTemplate)
22 
23 //-----------------------------------------------------------------
24 // Implementation
25 //-----------------------------------------------------------------
26 
28 {
29  //Set module properties
30  setDescription("Encode DataStore into RingBuffer");
31  n_basf2evt = -1;
32  m_compressionLevel = 0;
33  B2INFO("PrintDataTemplate: Constructor done.");
34  m_ncpr = 0;
35  m_nftsw = 0;
36  m_print_cnt = 0;
37 }
38 
39 
40 
41 PrintDataTemplateModule::~PrintDataTemplateModule()
42 {
43 }
44 
45 void PrintDataTemplateModule::initialize()
46 {
47  B2INFO("PrintDataTemplate: initialize() started.");
48 
49  // StoreArray<RawCOPPER>::registerTransient(s_auxMCParticlesName.c_str());
50  // StoreObjPtr<RawCOPPER>::registerTransient();
51  // Initialize EvtMetaData
52  // m_eventMetaDataPtr.registerAsPersistent();
53  // Create Message Handler
54  B2INFO("PrintDataTemplate: initialize() done.");
55 
56 }
57 
58 
59 
60 //
61 // User defined functions
62 //
63 
64 
65 void PrintDataTemplateModule::printBuffer(int* buf, int nwords)
66 {
67  // printf("%.8x :", 0);
68  for (int j = 0; j < nwords; j++) {
69  printf(" %.8x", buf[ j ]);
70  if ((j + 1) % 8 == 0) {
71  // printf("\n%.8x :", j + 1);
72  printf("\n");
73  }
74  m_print_cnt++;
75  }
76  printf("\n");
77 
78  return;
79 }
80 
81 
82 void PrintDataTemplateModule::printFTSWEvent(RawDataBlock* raw_datablock, int i)
83 {
84 
85  int* buf = raw_datablock->GetBuffer(i);
86  int nwords = raw_datablock->GetBlockNwords(i);
87  printf("*******FTSW data**********: nwords %d\n", nwords);
88  printBuffer(buf, nwords);
89 
90 
91 
92  RawFTSW rawftsw;
93  int delete_flag = 0; // No need to free the buffer
94  int num_event = 1;
95  int num_nodes = 1;
96  rawftsw.SetBuffer(buf, nwords, delete_flag, num_event, num_nodes);
97 
98  timeval tv;
99  int n = i;
100  rawftsw.GetTTTimeVal(n , &tv);
101 
102  timeval tv_pc;
103  rawftsw.GetPCTimeVal(n , &tv_pc);
104 
105  printf("HdrNwords %d nodeID %.8x runsub %.8x run %.4x sub %.4x exp %.4x eve %.8x trl %.8x\n",
106  rawftsw.GetNwordsHeader(n),
107  rawftsw.GetFTSWNodeID(n),
108  rawftsw.GetRunNoSubRunNo(n),
109  rawftsw.GetRunNo(n),
110  rawftsw.GetSubRunNo(n),
111  rawftsw.GetExpNo(n),
112  rawftsw.GetEveNo(n),
113  rawftsw.GetMagicTrailer(n)
114  );
115 
116  printf("ctimetrg %.8x utime %.8x ctime %.8x trg %d TTD(sec %.8x usec %.8x) PC(sec %.8x usec %.8x)\n",
117  rawftsw.GetTTCtimeTRGType(n),
118  rawftsw.GetTTUtime(n),
119  rawftsw.GetTTCtime(n),
120  rawftsw.GetTRGType(n),
121  (unsigned int)(tv.tv_sec),
122  (unsigned int)(tv.tv_usec),
123  (unsigned int)(tv_pc.tv_sec),
124  (unsigned int)(tv_pc.tv_usec));
125  // rawftsw.Get15bitTLUTag(n) );
126 
127  //
128  // Show newly added variables for ver.2 format
129  //
130  printf("IsHER %d TimeLastInj %u TimePrevTrg %u BunchNum %d FrameCnt %d \n",
131  rawftsw.GetIsHER(n),
132  rawftsw.GetTimeSinceLastInjection(n),
133  rawftsw.GetTimeSincePrevTrigger(n),
134  rawftsw.GetBunchNumber(n),
135  rawftsw.GetFrameCount(n)
136  );
137 
138  m_nftsw++;
139  return;
140 }
141 
142 
143 void PrintDataTemplateModule::checkFTSWver2(RawFTSW* rawftsw, int i)
144 {
145  //
146  // Double check by comparing extracted values with ones at https://confluence.desy.de/display/BI/DAQ+TimingDistribution (ver.26)
147  //
148 
149  int* buf = rawftsw->GetBuffer(i);
150 
151 
152  //int nword_header = buf[ 0 ];
153  //unsigned int node_id = buf[ 6 ];
154  int runno_subrunno = buf[ 3 ] & 0x3fffff;
155  int runno = (buf[ 3 ] >> 8) & 0x3fff;
156  int subrunno = buf[ 3 ] & 0xff;
157  int expno = (buf[ 3 ] >> 22) & 0x3ff;
158  unsigned int eveno = (unsigned int)buf[ 4 ];
159  //unsigned int magic_trl = (unsigned int)buf[ 21 ];
160  unsigned int ctime_trgtype = (unsigned int)buf[ 8 ];
161  unsigned int utime = (unsigned int)buf[ 9 ];
162  unsigned int ctime = (unsigned int)(buf[ 8 ] >> 4);
163  int trgtype = buf[ 8 ] & 0xf;
164  int tv_sec = (unsigned int)buf[ 9 ];
165  int tv_usec = (int)(ctime / 127.216);
166 
167  unsigned int frame_cnt = buf[ 11 ];
168  unsigned int time_prevtrg = buf[ 12 ];
169  int is_her = buf[ 13 ] >> 31;
170  unsigned int time_lastinj = buf[ 13 ] & 0x7fffffff;
171  unsigned int bunch_num = buf[ 14 ] & 0x7ff;
172 
173  timeval tv;
174  rawftsw->GetTTTimeVal(i , &tv);
175 
176  //int err_flag = 0;
177 
178  if (rawftsw->GetBlockNwords(i) != 22) {
179  B2FATAL("Nords " << rawftsw->GetBlockNwords(i));
180  }
181 
182  if (rawftsw->GetFTSWNodeID(i) != 0x54544420) {
183  B2FATAL("ID " << rawftsw->GetFTSWNodeID(i));
184  }
185 
186  if (rawftsw->GetMagicTrailer(i) != 0x7fff0000) {
187  B2FATAL("Magic " << rawftsw->GetMagicTrailer(i));
188  }
189 
190  if (runno_subrunno != rawftsw->GetRunNoSubRunNo(i)) {
191  B2FATAL("Magic " << runno_subrunno << " != " << rawftsw->GetRunNoSubRunNo(i));
192  }
193 
194  if (runno != rawftsw->GetRunNo(i)) {
195  B2FATAL("RunNo " << runno << " != " << rawftsw->GetRunNo(i));
196  }
197 
198  if (subrunno != rawftsw->GetSubRunNo(i)) {
199  B2FATAL("SubRunNo " << subrunno << " != " << rawftsw->GetSubRunNo(i));
200  }
201 
202  if (expno != rawftsw->GetExpNo(i)) {
203  B2FATAL("ExpNo" << expno << " != " << rawftsw->GetExpNo(i));
204  }
205 
206  if (eveno != rawftsw->GetEveNo(i)) {
207  B2FATAL("EveNo " << eveno << " != " << rawftsw->GetEveNo(i));
208  }
209 
210  if (ctime_trgtype != rawftsw->GetTTCtimeTRGType(i)) {
211  B2FATAL("ctime_trg " << ctime_trgtype << " != " << rawftsw->GetTTCtimeTRGType(i));
212  }
213 
214  if (utime != rawftsw->GetTTUtime(i)) {
215  B2FATAL("utime " << utime << " != " << rawftsw->GetTTUtime(i));
216  }
217 
218  if (ctime != (int)rawftsw->GetTTCtime(i)) {
219  B2FATAL("ctime " << ctime << " != " << rawftsw->GetTTCtime(i));
220  }
221 
222  if (trgtype != rawftsw->GetTRGType(i)) {
223  B2FATAL("trgtype " << trgtype << " != " << rawftsw->GetTRGType(i));
224  }
225 
226  if (tv_sec != (int)(tv.tv_sec)) {
227  B2FATAL("tv_sec " << tv_sec << " != " << (int)(tv.tv_sec));
228  }
229 
230  if (tv_usec != (int)(tv.tv_usec)) {
231  B2FATAL("tv_usec " << tv_usec << " != " << (int)(tv.tv_usec));
232  }
233 
234  if (frame_cnt != rawftsw->GetFrameCount(i)) {
235  B2FATAL("frame_cnt " << frame_cnt << " != " << rawftsw->GetFrameCount(i));
236  }
237 
238  if (time_prevtrg != rawftsw->GetTimeSincePrevTrigger(i)) {
239  B2FATAL("prevtrg " << time_prevtrg << " != " << rawftsw->GetTimeSincePrevTrigger(i));
240  }
241 
242  if (is_her != rawftsw->GetIsHER(i)) {
243  B2FATAL("is_her " << is_her << " != " << rawftsw->GetIsHER(i));
244  }
245 
246  if (time_lastinj != rawftsw->GetTimeSinceLastInjection(i)) {
247  B2FATAL("time_lastinj " << time_lastinj << " != " << rawftsw->GetTimeSinceLastInjection(i));
248  }
249 
250  if (bunch_num != rawftsw->GetBunchNumber(i)) {
251  B2FATAL("bunch_num " << bunch_num << " != " << rawftsw->GetBunchNumber(i));
252  }
253 
254 }
255 
256 
257 void PrintDataTemplateModule::printCOPPEREvent(RawCOPPER* raw_copper, int i)
258 {
259 
260  printf(": Event %8u node 0x%.8x block %d by: sum det %d by : A %d by B %d by C %d by D %d by\n",
261  raw_copper->GetEveNo(i), raw_copper->GetNodeID(i),
262  (int)(sizeof(int) * raw_copper->GetBlockNwords(i)),
263  (int)(sizeof(int) * (raw_copper->GetDetectorNwords(i, 0) + raw_copper->GetDetectorNwords(i, 1) +
264  raw_copper->GetDetectorNwords(i, 2) + raw_copper->GetDetectorNwords(i, 3))),
265  (int)(sizeof(int) * (raw_copper->GetDetectorNwords(i, 0))),
266  (int)(sizeof(int) * (raw_copper->GetDetectorNwords(i, 1))),
267  (int)(sizeof(int) * (raw_copper->GetDetectorNwords(i, 2))),
268  (int)(sizeof(int) * (raw_copper->GetDetectorNwords(i, 3)))
269  );
270  printf("EventMetaData : exp %d run %d subrun %d eve %.8d\n", m_eventMetaDataPtr->getExperiment(),
271  m_eventMetaDataPtr->getRun(), m_eventMetaDataPtr->getSubrun(), m_eventMetaDataPtr->getEvent());
272 
273  if (m_eventMetaDataPtr->getErrorFlag()) {
274  printf("!!!!!!!!! ERROR event !!!!!!!!!! : eve %u errflag %.8x\n", raw_copper->GetEveNo(i), m_eventMetaDataPtr->getErrorFlag());
275  }
276 
277  printBuffer(raw_copper->GetWholeBuffer(), raw_copper->TotalBufNwords());
278  //
279  // Print data from each FINESSE
280  //
281  int max_num_ch = raw_copper->GetMaxNumOfCh(i);
282  for (int j = 0; j < max_num_ch ; j++) {
283  if (raw_copper->GetDetectorNwords(i, j) > 0) {
284  printf("===== Detector Buffer(ch %d) 0x%x words (finesse 0x%x) \n", j
285  , raw_copper->GetDetectorNwords(i, j), raw_copper->GetFINESSENwords(i, j));
286  printBuffer(raw_copper->GetDetectorBuffer(i, j), raw_copper->GetDetectorNwords(i, j));
287  }
288  }
289  m_ncpr++;
290 
291 }
292 
293 void PrintDataTemplateModule::printPXDEvent(RawPXD* raw_pxd)
294 {
295  printf(": block size %d bytes : bebafeca = %04x :\n",
296  (int)raw_pxd->size(), raw_pxd->data()[0]);
297  printf("******* Raw PXD data block (including Detector Buffer) **********\n");
298  printBuffer(raw_pxd->data(), raw_pxd->size());
299 
300  int* temp_buf = raw_pxd->data();
301  vector <int> nframesv;
302  int nframes = ((temp_buf[ 1 ] >> 24) & 0xff) | (((temp_buf[ 1 ] >> 16) & 0xff) << 8) |
303  (((temp_buf[ 1 ] >> 8) & 0xff) << 16) | (((temp_buf[ 1 ] >> 0) & 0xff) << 24);
304  ;
305  for (int i = 0; i < nframes; i++) {
306  int temp_nframes =
307  ((temp_buf[ i + 2 ] >> 24) & 0xff) | (((temp_buf[ i + 2 ] >> 16) & 0xff) << 8) |
308  (((temp_buf[ i + 2 ] >> 8) & 0xff) << 16) | (((temp_buf[ i + 2 ] >> 0) & 0xff) << 24);
309  nframesv.push_back(temp_nframes);
310  }
311 
312  // printf("FRAME %.8x %.8x %.8x\n", nframes, temp_buf[ nframes + 10 ], temp_buf[ nframes + 11 ]);
313  unsigned int onsen_trg = temp_buf[ nframes + 2 ];
314  onsen_trg = ((onsen_trg >> 24) & 0xff) | (((onsen_trg >> 16) & 0xff) << 8) |
315  (((onsen_trg >> 8) & 0xff) << 16) | (((onsen_trg >> 0) & 0xff) << 24);
316  unsigned int hlttrg = ((temp_buf[ nframes + 4 ] >> 24) & 0xff) | (((temp_buf[ nframes + 4 ] >> 16) & 0xff) << 8) |
317  (((temp_buf[ nframes + 4 ] >> 8) & 0xff) << 16) | (((temp_buf[ nframes + 4 ] >> 0) & 0xff) << 24);
318  // unsigned int hlttrg = temp_buf[ nframes + 4 ];
319 
320  int ctime_type = 0;
321  int dhe_time = 0;
322  if (nframes != 0) {
323  int pos = nframesv[ 0 ] / 4 + nframes + 2 ;
324  // printf("nf0 %d\n", nframesv[ 0 ]);
325  for (int i = 1; i < (int)(nframesv.size()); i++) {
326  if ((nframesv[ i ] % 4) != 0) break;
327  int dhh_trg1 = (temp_buf[ pos ] >> 24) & 0xff;
328  int dhh_trg2 = (temp_buf[ pos ] >> 16) & 0xff;
329  int dhh_trg3 = (temp_buf[ pos + 1 ] >> 8) & 0xff;
330  int dhh_trg4 = (temp_buf[ pos + 1 ] >> 0) & 0xff;
331  unsigned int dhh_trg = dhh_trg1 | (dhh_trg2 << 8) | (dhh_trg3 << 16) | (dhh_trg4 << 24);
332 
333  // if (i == 1) {
334  if (((temp_buf[ pos ] >> 4) & 0x7) == 5) {
335  ctime_type = ((temp_buf[ pos + 2 ] & 0xff) << 24) |
336  (((temp_buf[ pos + 2 ] >> 8) & 0xff) << 16) |
337  (((temp_buf[ pos + 1 ] >> 16) & 0xff) << 8) |
338  (((temp_buf[ pos + 1 ] >> 24) & 0xff));
339  }
340 
341  if (((temp_buf[ pos ] >> 4) & 0x7) == 1) {
342  dhe_time = ((temp_buf[ pos + 2 ] & 0xff) << 24) |
343  (((temp_buf[ pos + 2 ] >> 8) & 0xff) << 16) |
344  (((temp_buf[ pos + 1 ] >> 16) & 0xff) << 8) |
345  (((temp_buf[ pos + 1 ] >> 24) & 0xff));
346  }
347 
348 // printf("Event mixing is occured. hlt %.8x dhh %.8x onsen %.8x %.8x %.8x nf %d\n", hlttrg, dhh_trg, onsen_trg,
349 // temp_buf[ nframes + 2 + pos ], temp_buf[ nframes + 3 + pos ], nframesv[ i ] );
350  printf("Event tag(16bits) in PXD data : frame %.2d hlt %.4x onsen %.4x dhh %.4x\n", i + 1, hlttrg & 0xffff, onsen_trg & 0xffff,
351  dhh_trg & 0xffff);
352  if (((dhh_trg & 0xffff) != (hlttrg & 0xffff)) || ((dhh_trg & 0xffff) != (onsen_trg & 0xffff))) {
353  printf("### ERROR !! Event mixing occured. : frame %d hlt %.4x onsen %.4x dhh %.4x\n", i + 1, hlttrg & 0xffff, onsen_trg & 0xffff,
354  dhh_trg & 0xffff);
355  }
356  pos += nframesv[ i ] / 4;
357  }
358  }
359  printf("PXD FTSW %d TRG %u DHE %d\n", ctime_type, hlttrg, dhe_time);
360 
361 
362 }
363 
364 void PrintDataTemplateModule::event()
365 {
366 
367 
368  B2INFO("PrintDataTemplate: event() started.");
369  //
370  // FTSW + COPPER can be combined in the array
371  //
372  StoreArray<RawDataBlock> raw_datablkarray;
373 
374 
375  for (int i = 0; i < raw_datablkarray.getEntries(); i++) {
376  for (int j = 0; j < raw_datablkarray[ i ]->GetNumEntries(); j++) {
377  int* temp_buf = raw_datablkarray[ i ]->GetBuffer(j);
378  int nwords = raw_datablkarray[ i ]->GetBlockNwords(j);
379  int delete_flag = 0;
380  int num_nodes = 1;
381  int num_events = 1;
382  if (raw_datablkarray[ i ]->CheckFTSWID(j)) {
383  // FTSW data block
384  printf("\n===== DataBlock( RawDataBlock(FTSW) ) : Block # %d ", i);
385  RawFTSW temp_raw_ftsw;
386  temp_raw_ftsw.SetBuffer(temp_buf, nwords, delete_flag, num_nodes, num_events);
387  printFTSWEvent(&temp_raw_ftsw, 0);
388  } else if (raw_datablkarray[ i ]->CheckTLUID(j)) {
389  // No operation
390  } else {
391 
392  // COPPER data block
393  printf("\n===== DataBlock( RawDataBlock(COPPER) ) : Block # %d ", i);
394  RawCOPPER temp_raw_copper;
395  temp_raw_copper.SetBuffer(temp_buf, nwords, delete_flag, num_nodes, num_events);
396  printCOPPEREvent(&temp_raw_copper, 0);
397 
398  }
399  }
400  }
401 
402  //
403  // TLU data
404  //
405  StoreArray<RawTLU> raw_tluarray;
406  for (int i = 0; i < raw_tluarray.getEntries(); i++) {
407  for (int j = 0; j < raw_tluarray[ i ]->GetNumEntries(); j++) {
408  printf("\n===== DataBlock(RawTLU) : Block # %d ", i);
409  printFTSWEvent(raw_tluarray[ i ], j);
410  }
411  }
412 
413  //
414  // FTSW data
415  //
416  StoreArray<RawFTSW> raw_ftswarray;
417  for (int i = 0; i < raw_ftswarray.getEntries(); i++) {
418  for (int j = 0; j < raw_ftswarray[ i ]->GetNumEntries(); j++) {
419  printf("\n===== DataBlock(RawFTSW): Block # %d ", i);
420  printFTSWEvent(raw_ftswarray[ i ], j);
421  if (raw_ftswarray[ i ]->m_version == 2) {
422  checkFTSWver2(raw_ftswarray[ i ], j);
423  }
424  }
425  }
426 
427 
428  //
429  // Data from COPPER ( data from any detectors(e.g. CDC, SVD, ... ))
430  //
431  StoreArray<RawCOPPER> rawcprarray;
432  for (int i = 0; i < rawcprarray.getEntries(); i++) {
433  for (int j = 0; j < rawcprarray[ i ]->GetNumEntries(); j++) {
434  printf("\n===== DataBlock(RawCOPPER): Block # %d ", i);
435  printCOPPEREvent(rawcprarray[ i ], j);
436  }
437  }
438 
439 //
440  // Data from COPPER named as RawSVD by software
441  //
442  StoreArray<RawSVD> raw_svdarray;
443  for (int i = 0; i < raw_svdarray.getEntries(); i++) {
444  for (int j = 0; j < raw_svdarray[ i ]->GetNumEntries(); j++) {
445  printf("\n===== DataBlock(RawSVD) : Block # %d ", i);
446  printCOPPEREvent(raw_svdarray[ i ], j);
447  }
448  }
449 
450 
451  //
452  // Data from COPPER named as RawCDC by software
453  //
454  StoreArray<RawCDC> raw_cdcarray;
455  for (int i = 0; i < raw_cdcarray.getEntries(); i++) {
456  for (int j = 0; j < raw_cdcarray[ i ]->GetNumEntries(); j++) {
457  printf("\n===== DataBlock(RawCDC) : Block # %d ", i);
458  printCOPPEREvent(raw_cdcarray[ i ], j);
459  }
460  }
461 
462  //
463  // Data from COPPER named as RawPXD by software
464  //
465  StoreArray<RawPXD> raw_pxdarray;
466  for (int i = 0; i < raw_pxdarray.getEntries(); i++) {
467  printf("\n===== DataBlock(RawPXD) : Block # %d ", i);
468  printPXDEvent(raw_pxdarray[ i ]);
469  }
470 
471  StoreArray<RawTOP> raw_bpidarray;
472  for (int i = 0; i < raw_bpidarray.getEntries(); i++) {
473  for (int j = 0; j < raw_bpidarray[ i ]->GetNumEntries(); j++) {
474  printf("\n===== DataBlock(RawTOP) : Block # %d ", i);
475  printCOPPEREvent(raw_bpidarray[ i ], j);
476  }
477  }
478 
479  StoreArray<RawARICH> raw_epidarray;
480  for (int i = 0; i < raw_epidarray.getEntries(); i++) {
481  for (int j = 0; j < raw_epidarray[ i ]->GetNumEntries(); j++) {
482  printf("\n===== DataBlock(RawARICH) : Block # %d ", i);
483  printCOPPEREvent(raw_epidarray[ i ], j);
484  }
485  }
486 
487  StoreArray<RawKLM> raw_klmarray;
488  for (int i = 0; i < raw_klmarray.getEntries(); i++) {
489  for (int j = 0; j < raw_klmarray[ i ]->GetNumEntries(); j++) {
490  printf("\n===== DataBlock(RawKLM) : Block # %d ", i);
491  printCOPPEREvent(raw_klmarray[ i ], j);
492  }
493  }
494 
495  StoreArray<RawECL> raw_eclarray;
496  for (int i = 0; i < raw_eclarray.getEntries(); i++) {
497  for (int j = 0; j < raw_eclarray[ i ]->GetNumEntries(); j++) {
498  printf("\n===== DataBlock(RawECL) : Block # %d ", i);
499  printCOPPEREvent(raw_eclarray[ i ], j);
500  }
501  }
502 
503 
504  StoreArray<RawTRG> raw_trgarray;
505  for (int i = 0; i < raw_trgarray.getEntries(); i++) {
506  for (int j = 0; j < raw_trgarray[ i ]->GetNumEntries(); j++) {
507  printf("\n===== DataBlock(RawTRg) : Block # %d ", i);
508  printCOPPEREvent(raw_trgarray[ i ], j);
509  }
510  }
511 
512 
513  // printf("loop %d\n", n_basf2evt);
514  n_basf2evt++;
515 
516 }
Belle2::RawCOPPER
The Raw COPPER class This class stores data received by COPPER via belle2linkt Data from all detector...
Definition: RawCOPPER.h:52
Belle2::RawPXD::size
virtual int size() const
get size of buffer in 32 Bit words
Definition: RawPXD.cc:76
Belle2::RawFTSW::GetExpNo
int GetExpNo(int n)
Get Exp #.
Definition: RawFTSW.h:158
Belle2::RawCOPPER::GetDetectorBuffer
int * GetDetectorBuffer(int n, int finesse_num)
get Detector buffer
Definition: RawCOPPER.h:676
Belle2::RawFTSW::GetSubRunNo
int GetSubRunNo(int n)
Get subrun #.
Definition: RawFTSW.h:144
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::RawCOPPER::GetDetectorNwords
int GetDetectorNwords(int n, int finesse_num)
get Detector buffer length
Definition: RawCOPPER.h:652
Belle2::RawFTSW::GetTRGType
int GetTRGType(int n)
Get trgtype.
Definition: RawFTSW.h:92
Belle2::RawFTSW::GetRunNoSubRunNo
int GetRunNoSubRunNo(int n)
get a word cotaining run # and subrun #
Definition: RawFTSW.h:151
Belle2::RawFTSW::GetTTCtime
int GetTTCtime(int n)
Get ctime of the trigger.
Definition: RawFTSW.h:85
Belle2::RawCOPPER::GetMaxNumOfCh
int GetMaxNumOfCh(int n)
Get the max number of channels in a readout board.
Definition: RawCOPPER.h:745
Belle2::RawFTSW::GetRunNo
int GetRunNo(int n)
Get run #.
Definition: RawFTSW.h:136
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::RawPXD
The Raw PXD class.
Definition: RawPXD.h:28
Belle2::RawDataBlock::TotalBufNwords
virtual int TotalBufNwords()
Get total length of m_buffer.
Definition: RawDataBlock.h:39
Belle2::RawDataBlock::GetBlockNwords
virtual int GetBlockNwords(int n)
get size of a data block
Definition: RawDataBlock.h:94
Belle2::RawFTSW::GetTTCtimeTRGType
unsigned int GetTTCtimeTRGType(int n)
Get a word containing ctime and trigger type info.
Definition: RawFTSW.h:71
Belle2::RawFTSW::GetFTSWNodeID
unsigned int GetFTSWNodeID(int n)
Get Node # ( should be "TTD " )
Definition: RawFTSW.h:57
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RawCOPPER::GetEveNo
unsigned int GetEveNo(int n)
get subrun #(8bit)
Definition: RawCOPPER.h:385
Belle2::RawCOPPER::GetNodeID
unsigned int GetNodeID(int n)
get node-ID from data
Definition: RawCOPPER.h:392
Belle2::RawFTSW::GetIsHER
int GetIsHER(int n)
HER injection = 1 or LER injection = 0.
Definition: RawFTSW.h:172
Belle2::RawCOPPER::SetBuffer
void SetBuffer(int *bufin, int nwords, int delete_flag, int num_events, int num_nodes) OVERRIDE_CPP17
set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer )
Definition: RawCOPPER.cc:141
Belle2::RawFTSW::GetPCTimeVal
void GetPCTimeVal(int n, struct timeval *tv)
Get timeval obtained from gettimeval()
Definition: RawFTSW.h:106
Belle2::RawFTSW::GetMagicTrailer
unsigned int GetMagicTrailer(int n)
Get magic number for data corruption check.
Definition: RawFTSW.h:113
Belle2::RawFTSW::GetEveNo
unsigned int GetEveNo(int n)
Get event #.
Definition: RawFTSW.h:64
Belle2::PrintDataTemplateModule
Module to get data from DataStore and send it to another network node.
Definition: PrintDataTemplate.h:45
Belle2::RawFTSW::GetTTUtime
unsigned int GetTTUtime(int n)
get unixtime of the trigger
Definition: RawFTSW.h:78
Belle2::RawFTSW::GetBunchNumber
unsigned int GetBunchNumber(int n)
Get a bunch number.
Definition: RawFTSW.h:193
Belle2::RawCOPPER::GetFINESSENwords
int GetFINESSENwords(int n, int finesse)
get data size of FINESSE buffer
Definition: RawCOPPER.h:658
Belle2::RawFTSW::GetTTTimeVal
void GetTTTimeVal(int n, struct timeval *tv)
Get timeval from ctime and utime.
Definition: RawFTSW.h:99
Belle2::RawDataBlock::GetWholeBuffer
virtual int * GetWholeBuffer()
get pointer to buffer(m_buffer)
Definition: RawDataBlock.h:60
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::RawPXD::data
virtual int * data(void)
get pointer to data
Definition: RawPXD.cc:81
Belle2::RawFTSW::SetBuffer
void SetBuffer(int *bufin, int nwords, int delete_flag, int num_events, int num_nodes) OVERRIDE_CPP17
set buffer ( delete_flag : m_buffer is freeed( = 0 )/ not freeed( = 1 ) in Destructer )
Definition: RawFTSW.cc:107
Belle2::RawFTSW::GetTimeSincePrevTrigger
unsigned int GetTimeSincePrevTrigger(int n)
Get time since the previous trigger.
Definition: RawFTSW.h:186
Belle2::RawDataBlock
The RawDataBlock class Base class for rawdata handling.
Definition: RawDataBlock.h:27
Belle2::StoreArray::getEntries
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:226
Belle2::RawFTSW::GetTimeSinceLastInjection
unsigned int GetTimeSinceLastInjection(int n)
Get time since the last injection.
Definition: RawFTSW.h:179
Belle2::RawFTSW::GetFrameCount
unsigned int GetFrameCount(int n)
Get a frame count.
Definition: RawFTSW.h:200
Belle2::RawFTSW::GetNwordsHeader
int GetNwordsHeader(int n)
Get # of words of header.
Definition: RawFTSW.h:50
Belle2::RawFTSW
The Raw FTSW class.
Definition: RawFTSW.h:30
Belle2::RawDataBlock::GetBuffer
virtual int * GetBuffer(int n)
get nth buffer pointer
Definition: RawDataBlock.h:53