Belle II Software  release-05-01-25
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) % 10 == 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 != 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  if (raw_copper->GetDetectorNwords(i, 0) > 0) {
282  printf("===== Detector Buffer(FINESSE A) 0x%x words \n", raw_copper->GetDetectorNwords(i, 0));
283  printBuffer(raw_copper->GetDetectorBuffer(i, 0), raw_copper->GetDetectorNwords(i, 0));
284  }
285 
286  if (raw_copper->GetDetectorNwords(i, 1) > 0) {
287  printf("===== Detector Buffer(FINESSE B) 0x%x words \n", raw_copper->GetDetectorNwords(i, 1));
288  printBuffer(raw_copper->GetDetectorBuffer(i, 1), raw_copper->GetDetectorNwords(i, 1));
289  }
290 
291  if (raw_copper->GetDetectorNwords(i, 2) > 0) {
292  printf("===== Detector Buffer(FINESSE C) 0x%x words \n", raw_copper->GetDetectorNwords(i, 2));
293  printBuffer(raw_copper->GetDetectorBuffer(i, 2), raw_copper->GetDetectorNwords(i, 2));
294  }
295 
296  if (raw_copper->GetDetectorNwords(i, 3) > 0) {
297  printf("===== Detector Buffer(FINESSE D) 0x%x words \n", raw_copper->GetDetectorNwords(i, 3));
298  printBuffer(raw_copper->GetDetectorBuffer(i, 3), raw_copper->GetDetectorNwords(i, 3));
299  }
300 
301  m_ncpr++;
302 
303 }
304 
305 void PrintDataTemplateModule::printPXDEvent(RawPXD* raw_pxd)
306 {
307  printf(": block size %d bytes : bebafeca = %04x :\n",
308  (int)raw_pxd->size(), raw_pxd->data()[0]);
309  printf("******* Raw PXD data block (including Detector Buffer) **********\n");
310  printBuffer(raw_pxd->data(), raw_pxd->size());
311 
312  int* temp_buf = raw_pxd->data();
313  vector <int> nframesv;
314  int nframes = ((temp_buf[ 1 ] >> 24) & 0xff) | (((temp_buf[ 1 ] >> 16) & 0xff) << 8) |
315  (((temp_buf[ 1 ] >> 8) & 0xff) << 16) | (((temp_buf[ 1 ] >> 0) & 0xff) << 24);
316  ;
317  for (int i = 0; i < nframes; i++) {
318  int temp_nframes =
319  ((temp_buf[ i + 2 ] >> 24) & 0xff) | (((temp_buf[ i + 2 ] >> 16) & 0xff) << 8) |
320  (((temp_buf[ i + 2 ] >> 8) & 0xff) << 16) | (((temp_buf[ i + 2 ] >> 0) & 0xff) << 24);
321  nframesv.push_back(temp_nframes);
322  }
323 
324  // printf("FRAME %.8x %.8x %.8x\n", nframes, temp_buf[ nframes + 10 ], temp_buf[ nframes + 11 ]);
325  unsigned int onsen_trg = temp_buf[ nframes + 2 ];
326  onsen_trg = ((onsen_trg >> 24) & 0xff) | (((onsen_trg >> 16) & 0xff) << 8) |
327  (((onsen_trg >> 8) & 0xff) << 16) | (((onsen_trg >> 0) & 0xff) << 24);
328  unsigned int hlttrg = ((temp_buf[ nframes + 4 ] >> 24) & 0xff) | (((temp_buf[ nframes + 4 ] >> 16) & 0xff) << 8) |
329  (((temp_buf[ nframes + 4 ] >> 8) & 0xff) << 16) | (((temp_buf[ nframes + 4 ] >> 0) & 0xff) << 24);
330  // unsigned int hlttrg = temp_buf[ nframes + 4 ];
331 
332  int ctime_type = 0;
333  int dhe_time = 0;
334  if (nframes != 0) {
335  int pos = nframesv[ 0 ] / 4 + nframes + 2 ;
336  // printf("nf0 %d\n", nframesv[ 0 ]);
337  for (int i = 1; i < (int)(nframesv.size()); i++) {
338  if ((nframesv[ i ] % 4) != 0) break;
339  int dhh_trg1 = (temp_buf[ pos ] >> 24) & 0xff;
340  int dhh_trg2 = (temp_buf[ pos ] >> 16) & 0xff;
341  int dhh_trg3 = (temp_buf[ pos + 1 ] >> 8) & 0xff;
342  int dhh_trg4 = (temp_buf[ pos + 1 ] >> 0) & 0xff;
343  unsigned int dhh_trg = dhh_trg1 | (dhh_trg2 << 8) | (dhh_trg3 << 16) | (dhh_trg4 << 24);
344 
345  // if (i == 1) {
346  if (((temp_buf[ pos ] >> 4) & 0x7) == 5) {
347  ctime_type = ((temp_buf[ pos + 2 ] & 0xff) << 24) |
348  (((temp_buf[ pos + 2 ] >> 8) & 0xff) << 16) |
349  (((temp_buf[ pos + 1 ] >> 16) & 0xff) << 8) |
350  (((temp_buf[ pos + 1 ] >> 24) & 0xff));
351  }
352 
353  if (((temp_buf[ pos ] >> 4) & 0x7) == 1) {
354  dhe_time = ((temp_buf[ pos + 2 ] & 0xff) << 24) |
355  (((temp_buf[ pos + 2 ] >> 8) & 0xff) << 16) |
356  (((temp_buf[ pos + 1 ] >> 16) & 0xff) << 8) |
357  (((temp_buf[ pos + 1 ] >> 24) & 0xff));
358  }
359 
360 // printf("Event mixing is occured. hlt %.8x dhh %.8x onsen %.8x %.8x %.8x nf %d\n", hlttrg, dhh_trg, onsen_trg,
361 // temp_buf[ nframes + 2 + pos ], temp_buf[ nframes + 3 + pos ], nframesv[ i ] );
362  printf("Event tag(16bits) in PXD data : frame %.2d hlt %.4x onsen %.4x dhh %.4x\n", i + 1, hlttrg & 0xffff, onsen_trg & 0xffff,
363  dhh_trg & 0xffff);
364  if (((dhh_trg & 0xffff) != (hlttrg & 0xffff)) || ((dhh_trg & 0xffff) != (onsen_trg & 0xffff))) {
365  printf("### ERROR !! Event mixing occured. : frame %d hlt %.4x onsen %.4x dhh %.4x\n", i + 1, hlttrg & 0xffff, onsen_trg & 0xffff,
366  dhh_trg & 0xffff);
367  }
368  pos += nframesv[ i ] / 4;
369  }
370  }
371  printf("PXD FTSW %d TRG %u DHE %d\n", ctime_type, hlttrg, dhe_time);
372 
373 
374 }
375 
376 void PrintDataTemplateModule::event()
377 {
378 
379 
380  B2INFO("PrintDataTemplate: event() started.");
381  //
382  // FTSW + COPPER can be combined in the array
383  //
384  StoreArray<RawDataBlock> raw_datablkarray;
385 
386 
387  for (int i = 0; i < raw_datablkarray.getEntries(); i++) {
388  for (int j = 0; j < raw_datablkarray[ i ]->GetNumEntries(); j++) {
389  int* temp_buf = raw_datablkarray[ i ]->GetBuffer(j);
390  int nwords = raw_datablkarray[ i ]->GetBlockNwords(j);
391  int delete_flag = 0;
392  int num_nodes = 1;
393  int num_events = 1;
394  if (raw_datablkarray[ i ]->CheckFTSWID(j)) {
395  // FTSW data block
396  printf("\n===== DataBlock( RawDataBlock(FTSW) ) : Block # %d ", i);
397  RawFTSW temp_raw_ftsw;
398  temp_raw_ftsw.SetBuffer(temp_buf, nwords, delete_flag, num_nodes, num_events);
399  printFTSWEvent(&temp_raw_ftsw, 0);
400  } else if (raw_datablkarray[ i ]->CheckTLUID(j)) {
401  // No operation
402  } else {
403 
404  // COPPER data block
405  printf("\n===== DataBlock( RawDataBlock(COPPER) ) : Block # %d ", i);
406  RawCOPPER temp_raw_copper;
407  temp_raw_copper.SetBuffer(temp_buf, nwords, delete_flag, num_nodes, num_events);
408  printCOPPEREvent(&temp_raw_copper, 0);
409 
410  }
411  }
412  }
413 
414  //
415  // TLU data
416  //
417  StoreArray<RawTLU> raw_tluarray;
418  for (int i = 0; i < raw_tluarray.getEntries(); i++) {
419  for (int j = 0; j < raw_tluarray[ i ]->GetNumEntries(); j++) {
420  printf("\n===== DataBlock(RawTLU) : Block # %d ", i);
421  printFTSWEvent(raw_tluarray[ i ], j);
422  }
423  }
424 
425  //
426  // FTSW data
427  //
428  StoreArray<RawFTSW> raw_ftswarray;
429  for (int i = 0; i < raw_ftswarray.getEntries(); i++) {
430  for (int j = 0; j < raw_ftswarray[ i ]->GetNumEntries(); j++) {
431  printf("\n===== DataBlock(RawFTSW): Block # %d ", i);
432  printFTSWEvent(raw_ftswarray[ i ], j);
433  if (raw_ftswarray[ i ]->m_version == 2) {
434  checkFTSWver2(raw_ftswarray[ i ], j);
435  }
436  }
437  }
438 
439 
440  //
441  // Data from COPPER ( data from any detectors(e.g. CDC, SVD, ... ))
442  //
443  StoreArray<RawCOPPER> rawcprarray;
444  for (int i = 0; i < rawcprarray.getEntries(); i++) {
445  for (int j = 0; j < rawcprarray[ i ]->GetNumEntries(); j++) {
446  printf("\n===== DataBlock(RawCOPPER): Block # %d ", i);
447  printCOPPEREvent(rawcprarray[ i ], j);
448  }
449  }
450 
451 //
452  // Data from COPPER named as RawSVD by software
453  //
454  StoreArray<RawSVD> raw_svdarray;
455  for (int i = 0; i < raw_svdarray.getEntries(); i++) {
456  for (int j = 0; j < raw_svdarray[ i ]->GetNumEntries(); j++) {
457  printf("\n===== DataBlock(RawSVD) : Block # %d ", i);
458  printCOPPEREvent(raw_svdarray[ i ], j);
459  }
460  }
461 
462 
463  //
464  // Data from COPPER named as RawCDC by software
465  //
466  StoreArray<RawCDC> raw_cdcarray;
467  for (int i = 0; i < raw_cdcarray.getEntries(); i++) {
468  for (int j = 0; j < raw_cdcarray[ i ]->GetNumEntries(); j++) {
469  printf("\n===== DataBlock(RawCDC) : Block # %d ", i);
470  printCOPPEREvent(raw_cdcarray[ i ], j);
471  }
472  }
473 
474  //
475  // Data from COPPER named as RawPXD by software
476  //
477  StoreArray<RawPXD> raw_pxdarray;
478  for (int i = 0; i < raw_pxdarray.getEntries(); i++) {
479  printf("\n===== DataBlock(RawPXD) : Block # %d ", i);
480  printPXDEvent(raw_pxdarray[ i ]);
481  }
482 
483  StoreArray<RawTOP> raw_bpidarray;
484  for (int i = 0; i < raw_bpidarray.getEntries(); i++) {
485  for (int j = 0; j < raw_bpidarray[ i ]->GetNumEntries(); j++) {
486  printf("\n===== DataBlock(RawTOP) : Block # %d ", i);
487  printCOPPEREvent(raw_bpidarray[ i ], j);
488  }
489  }
490 
491  StoreArray<RawARICH> raw_epidarray;
492  for (int i = 0; i < raw_epidarray.getEntries(); i++) {
493  for (int j = 0; j < raw_epidarray[ i ]->GetNumEntries(); j++) {
494  printf("\n===== DataBlock(RawARICH) : Block # %d ", i);
495  printCOPPEREvent(raw_epidarray[ i ], j);
496  }
497  }
498 
499  StoreArray<RawKLM> raw_klmarray;
500  for (int i = 0; i < raw_klmarray.getEntries(); i++) {
501  for (int j = 0; j < raw_klmarray[ i ]->GetNumEntries(); j++) {
502  printf("\n===== DataBlock(RawKLM) : Block # %d ", i);
503  printCOPPEREvent(raw_klmarray[ i ], j);
504  }
505  }
506 
507  StoreArray<RawECL> raw_eclarray;
508  for (int i = 0; i < raw_eclarray.getEntries(); i++) {
509  for (int j = 0; j < raw_eclarray[ i ]->GetNumEntries(); j++) {
510  printf("\n===== DataBlock(RawECL) : Block # %d ", i);
511  printCOPPEREvent(raw_eclarray[ i ], j);
512  }
513  }
514 
515 
516  StoreArray<RawTRG> raw_trgarray;
517  for (int i = 0; i < raw_trgarray.getEntries(); i++) {
518  for (int j = 0; j < raw_trgarray[ i ]->GetNumEntries(); j++) {
519  printf("\n===== DataBlock(RawTRg) : Block # %d ", i);
520  printCOPPEREvent(raw_trgarray[ i ], j);
521  }
522  }
523 
524 
525  // printf("loop %d\n", n_basf2evt);
526  n_basf2evt++;
527 
528 }
Belle2::RawCOPPER
The Raw COPPER class This class stores data received by COPPER via belle2linkt Data from all detector...
Definition: RawCOPPER.h:50
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:667
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:643
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::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:376
Belle2::RawCOPPER::GetNodeID
unsigned int GetNodeID(int n)
get node-ID from data
Definition: RawCOPPER.h:383
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:132
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::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