Belle II Software  release-08-01-10
RawCOPPERFormat_v0.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef RAWCOPPERFORMAT_V0_H
10 #define RAWCOPPERFORMAT_V0_H
11 
12 // Includes
13 #include <stdio.h>
14 
15 #include <rawdata/dataobjects/RawCOPPERFormat.h>
16 #include <rawdata/dataobjects/RawHeader_v0.h>
17 #include <rawdata/dataobjects/RawTrailer_v0.h>
18 
19 /* #include <framework/datastore/DataStore.h> */
20 /* #include <TObject.h> */
21 
22 //#define USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
23 
24 namespace Belle2 {
36  public:
39 
41  //RawCOPPERFormat_v0(int* bufin, int nwords);
43  virtual ~RawCOPPERFormat_v0();
44 
45  //
46  // Get position of or pointer to data
47  //
49  // POINTER TO "DETECTOR BUFFER"
50  //( after removing "B2link headers" from "FINESSE buffer". THIS IS THE RAW DATA FROM A DETECTOR
52 
53 
55  /* cppcheck-suppress missingOverride */
56  int GetDetectorNwords(int n, int finesse_num) OVERRIDE_CPP17;
57 
59  /* cppcheck-suppress missingOverride */
60  int Get1stDetectorNwords(int n) OVERRIDE_CPP17;
61 
63  /* cppcheck-suppress missingOverride */
64  int Get2ndDetectorNwords(int n) OVERRIDE_CPP17;
65 
67  /* cppcheck-suppress missingOverride */
68  int Get3rdDetectorNwords(int n) OVERRIDE_CPP17;
69 
71  /* cppcheck-suppress missingOverride */
72  int Get4thDetectorNwords(int n) OVERRIDE_CPP17;
73 
75  /* cppcheck-suppress missingOverride */
76  int* Get1stDetectorBuffer(int n) OVERRIDE_CPP17;
77 
79  /* cppcheck-suppress missingOverride */
80  int* Get2ndDetectorBuffer(int n) OVERRIDE_CPP17;
81 
83  /* cppcheck-suppress missingOverride */
84  int* Get3rdDetectorBuffer(int n) OVERRIDE_CPP17;
85 
87  /* cppcheck-suppress missingOverride */
88  int* Get4thDetectorBuffer(int n) OVERRIDE_CPP17;
90 
91  /* //! get posistion of COPPER block in unit of word */
92  /* virtual int GetBufferPos(int n); */
93 
95  /* cppcheck-suppress missingOverride */
96  virtual int* GetRawTrlBufPtr(int n) OVERRIDE_CPP17;
97 
98  //
99  // Get information from "RawCOPPERFormat_v0 header" attached by DAQ software
100  //
101 
102  /* cppcheck-suppress missingOverride */
103  int GetExpNo(int n) OVERRIDE_CPP17;
104 
105  /* cppcheck-suppress missingOverride */
106  unsigned int GetExpRunSubrun(int n) OVERRIDE_CPP17;
107 
108  /* cppcheck-suppress missingOverride */
109  int GetRunNo(int n) OVERRIDE_CPP17;
110 
111  /* cppcheck-suppress missingOverride */
112  int GetSubRunNo(int n) OVERRIDE_CPP17;
113 
114  /* cppcheck-suppress missingOverride */
115  unsigned int GetEveNo(int n) OVERRIDE_CPP17;
116 
117  /* cppcheck-suppress missingOverride */
118  int GetDataType(int n) OVERRIDE_CPP17;
119 
120  /* cppcheck-suppress missingOverride */
121  int GetTruncMask(int n) OVERRIDE_CPP17;
122 
124  /* cppcheck-suppress missingOverride */
125  unsigned int GetErrorBitFlag(int n) OVERRIDE_CPP17;
126 
128  /* cppcheck-suppress missingOverride */
129  void AddErrorBitFlag(int n, unsigned int error_bit_flag) OVERRIDE_CPP17;
130 
132  /* cppcheck-suppress missingOverride */
133  unsigned int GetNodeID(int n) OVERRIDE_CPP17;
134 
135  //
136  // Get information from 13words "COPPER header" attached by COPPER board
137  //
139  /* cppcheck-suppress missingOverride */
140  virtual unsigned int GetCOPPERCounter(int n) OVERRIDE_CPP17;
141 
143  /* cppcheck-suppress missingOverride */
144  virtual int GetNumFINESSEBlock(int n) OVERRIDE_CPP17;
145 
147  /* cppcheck-suppress missingOverride */
148  int GetOffset1stFINESSE(int n) OVERRIDE_CPP17;
149 
151  /* cppcheck-suppress missingOverride */
152  int GetFINESSENwords(int n, int finesse) OVERRIDE_CPP17;
153 
155  /* cppcheck-suppress missingOverride */
156  int Get1stFINESSENwords(int n) OVERRIDE_CPP17;
157 
159  /* cppcheck-suppress missingOverride */
160  int Get2ndFINESSENwords(int n) OVERRIDE_CPP17;
161 
163  /* cppcheck-suppress missingOverride */
164  int Get3rdFINESSENwords(int n) OVERRIDE_CPP17;
165 
167  /* cppcheck-suppress missingOverride */
168  int Get4thFINESSENwords(int n) OVERRIDE_CPP17;
169 
170  //
171  // Get information from "B2link(attached by FEE and HLSB) header"
172  //
174  // virtual int* GetFTSW2Words(int n);
175 
177  /* cppcheck-suppress missingOverride */
178  virtual int* GetExpRunSubrunBuf(int n) OVERRIDE_CPP17;
179 
181  /* cppcheck-suppress missingOverride */
182  virtual unsigned int GetB2LFEE32bitEventNumber(int n) OVERRIDE_CPP17;
183 
184  //
185  // read magic word to check data
186  //
188  /* cppcheck-suppress missingOverride */
189  unsigned int GetMagicDriverHeader(int n) OVERRIDE_CPP17;
190 
192  /* cppcheck-suppress missingOverride */
193  unsigned int GetMagicFPGAHeader(int n) OVERRIDE_CPP17;
194 
196  /* cppcheck-suppress missingOverride */
197  unsigned int GetMagicFPGATrailer(int n) OVERRIDE_CPP17;
198 
200  /* cppcheck-suppress missingOverride */
201  unsigned int GetMagicDriverTrailer(int n) OVERRIDE_CPP17;
202 
204  /* cppcheck-suppress missingOverride */
205  unsigned int GetTrailerChksum(int n) OVERRIDE_CPP17;
206 
208  /* cppcheck-suppress missingOverride */
209  bool CheckCOPPERMagic(int n) OVERRIDE_CPP17;
210 
211 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
213  /* cppcheck-suppress missingOverride */
214  void CheckB2LFEEHeaderVersion(int n) OVERRIDE_CPP17;
215 #endif
216 
218  /* cppcheck-suppress missingOverride */
219  unsigned int GetTTCtimeTRGType(int n) OVERRIDE_CPP17;
220 
222  /* cppcheck-suppress missingOverride */
223  unsigned int GetTTUtime(int n) OVERRIDE_CPP17;
224 
226  /* cppcheck-suppress missingOverride */
227  unsigned int FillTopBlockRawHeader(unsigned int m_node_id, unsigned int prev_eve32,
228  unsigned int prev_exprunsubrun_no, unsigned int* cur_exprunsubrun_no) OVERRIDE_CPP17;
229 
231  /* cppcheck-suppress missingOverride */
232  unsigned int GetDriverChkSum(int n) OVERRIDE_CPP17;
233 
235  /* cppcheck-suppress missingOverride */
236  unsigned int CalcDriverChkSum(int n) OVERRIDE_CPP17;
237 
239  /* cppcheck-suppress missingOverride */
240  void CheckData(int n,
241  unsigned int prev_evenum, unsigned int* cur_evenum,
242  unsigned int prev_copper_ctr, unsigned int* cur_copper_ctr,
243  unsigned int prev_exprunsubrun_no, unsigned int* cur_exprunsubrun_no) OVERRIDE_CPP17;
244 
246  /* cppcheck-suppress missingOverride */
247  void CheckUtimeCtimeTRGType(int n) OVERRIDE_CPP17;
248 
250  /* cppcheck-suppress missingOverride */
251  int GetTTCtime(int n) OVERRIDE_CPP17;
252 
254  /* cppcheck-suppress missingOverride */
255  int GetTRGType(int n) OVERRIDE_CPP17;
256 
258  /* cppcheck-suppress missingOverride */
259  void GetTTTimeVal(int n, struct timeval* tv) OVERRIDE_CPP17;
260 
262  /* cppcheck-suppress missingOverride */
263  int* PackDetectorBuf(int* packed_buf_nwords,
264  int* detector_buf_1st, int nwords_1st,
265  int* detector_buf_2nd, int nwords_2nd,
266  int* detector_buf_3rd, int nwords_3rd,
267  int* detector_buf_4th, int nwords_4th,
268  RawCOPPERPackerInfo rawcprpacker_info) OVERRIDE_CPP17;
269 
271  /* cppcheck-suppress missingOverride */
272  int GetMaxNumOfCh(int n) OVERRIDE_CPP17;
273 
274  enum {
275  DATA_FORMAT_VERSION = 0
276  };
277 
278  //
279  // size of "COPPER front header" and "COPPER trailer"
280  //
282  enum {
283  SIZE_COPPER_DRIVER_HEADER = 7,
284  SIZE_COPPER_DRIVER_TRAILER = 2
285  };
286 
287  //
288  // Data Format : "COPPER header"
289  //
290  enum {
291  POS_MAGIC_COPPER_1 = 0,
292  POS_EVE_NUM_COPPER = 1,
293  POS_SUBSYSTEM_ID = 2,
294  POS_CRATE_ID = 3,
295  POS_SLOT_ID = 4,
296  POS_MAGIC_COPPER_2 = 7,
297  POS_DATA_LENGTH = 8,
298  POS_CH_A_DATA_LENGTH = 9,
299  POS_CH_B_DATA_LENGTH = 10,
300  POS_CH_C_DATA_LENGTH = 11,
301  POS_CH_D_DATA_LENGTH = 12,
302 
303  SIZE_COPPER_HEADER = 13
304  };
305 
306 
307 
308  //
309  // Data Format : "COPPER Trailer"
310  //
311  enum {
312  POS_MAGIC_COPPER_3 = 0,
313  POS_CHKSUM_COPPER = 1,
314  POS_MAGIC_COPPER_4 = 2,
315 
316  SIZE_COPPER_TRAILER = 3
317  };
318 
319  //
320  // Data Format : "B2Link HSLB Header"
321  //
322  enum {
323  POS_MAGIC_B2LHSLB = 0,
324  // POS_EVE_CNT_B2LHSLB = 1,
325  SIZE_B2LHSLB_HEADER = 1
326  };
327 
328  //
329  // Data Format : "B2Link HSLB Trailer"
330  //
331  enum {
332  POS_CHKSUM_B2LHSLB = 0,
333  SIZE_B2LHSLB_TRAILER = 1
334  };
335 
336 
337  // Data Format : "B2Link FEE Header"
338  // modified by Nov. 21, 2013, Nakao-san's New firmware?
339  enum {
340  POS_TT_CTIME_TYPE = 0,
341  POS_TT_TAG = 1,
342  POS_TT_UTIME = 2,
343  POS_EXP_RUN = 3,
344  POS_B2L_CTIME = 4,
345  SIZE_B2LFEE_HEADER = 5
346  };
347 
348 
349  //
350  // Data Format : B2Link FEE Trailer
351  //
352  enum {
353  POS_CHKSUM_B2LFEE = 0,
354  SIZE_B2LFEE_TRAILER = 1
355  };
356 
357  //
358  // COPPER magic words
359  //
360  enum {
361  COPPER_MAGIC_DRIVER_HEADER = 0x7FFF0008,
362  COPPER_MAGIC_FPGA_HEADER = 0xFFFFFAFA,
363  COPPER_MAGIC_FPGA_TRAILER = 0xFFFFF5F5,
364  COPPER_MAGIC_DRIVER_TRAILER = 0x7FFF0009
365  };
366 
369 
372 
373  protected :
375  // ClassDefOverride(RawCOPPERFormat_v0, 2);
376 
377  };
378 
379 
380 
381 
383  {
384  int pos_nwords;
385  if (n == (m_num_events * m_num_nodes) - 1) {
386  pos_nwords = m_nwords - tmp_trailer.GetTrlNwords();
387  } else {
388  pos_nwords = GetBufferPos(n + 1) - tmp_trailer.GetTrlNwords();
389  }
390  return &(m_buffer[ pos_nwords ]);
391  }
392 
393  inline unsigned int RawCOPPERFormat_v0::GetDriverChkSum(int n)
394  {
395  int pos_nwords = GetBufferPos(n) + GetBlockNwords(n)
396  - tmp_trailer.RAWTRAILER_NWORDS - SIZE_COPPER_DRIVER_TRAILER;
397  return m_buffer[ pos_nwords ];
398  }
399 
401  {
403  return tmp_header.GetExpNo();
404  }
405 
406  inline unsigned int RawCOPPERFormat_v0::GetExpRunSubrun(int n)
407  {
409  return tmp_header.GetExpRunSubrun();
410  }
411 
413  {
415  return tmp_header.GetRunNo();
416  }
417 
418 
420  {
422  return tmp_header.GetSubRunNo();
423  }
424 
425  inline unsigned int RawCOPPERFormat_v0::GetEveNo(int n)
426  {
428  return tmp_header.GetEveNo();
429  }
430 
431 
432  inline unsigned int RawCOPPERFormat_v0::GetNodeID(int n)
433  {
435  return tmp_header.GetNodeID();
436  }
437 
438 
440  {
442  return tmp_header.GetDataType();
443  }
444 
446  {
448  return tmp_header.GetTruncMask();
449  }
450 
451  inline unsigned int RawCOPPERFormat_v0::GetErrorBitFlag(int n)
452  {
454  return tmp_header.GetErrorBitFlag();
455  }
456 
457  inline void RawCOPPERFormat_v0::AddErrorBitFlag(int n, unsigned int error_bit_flag)
458  {
460  tmp_header.AddErrorBitFlag(error_bit_flag);
461  return;
462  }
463 
464  inline unsigned int RawCOPPERFormat_v0::GetCOPPERCounter(int n)
465  {
466  int pos_nwords = GetBufferPos(n) + POS_EVE_NUM_COPPER + tmp_header.RAWHEADER_NWORDS;
467  return (unsigned int)(m_buffer[ pos_nwords ]);
468  }
469 
470 
471 
472 
474  {
475 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
476  CheckB2LFEEHeaderVersion(n);
477 #endif
478  int nwords = 0;
479  if (Get1stFINESSENwords(n) > 0) {
480  nwords = Get1stFINESSENwords(n) - SIZE_B2LHSLB_HEADER - SIZE_B2LFEE_HEADER
481  - SIZE_B2LFEE_TRAILER - SIZE_B2LHSLB_TRAILER;
482  }
483  return nwords;
484  }
485 
487  {
488 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
489  CheckB2LFEEHeaderVersion(n);
490 #endif
491  int nwords = 0;
492  if (Get2ndFINESSENwords(n) > 0) {
493  nwords = Get2ndFINESSENwords(n) - SIZE_B2LHSLB_HEADER -
494  SIZE_B2LFEE_HEADER - SIZE_B2LFEE_TRAILER - SIZE_B2LHSLB_TRAILER;
495  }
496  return nwords;
497  }
498 
500  {
501 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
502  CheckB2LFEEHeaderVersion(n);
503 #endif
504  int nwords = 0;
505  if (Get3rdFINESSENwords(n) > 0) {
506  nwords = Get3rdFINESSENwords(n) - SIZE_B2LHSLB_HEADER -
507  SIZE_B2LFEE_HEADER - SIZE_B2LFEE_TRAILER - SIZE_B2LHSLB_TRAILER;
508  }
509  return nwords;
510  }
511 
513  {
514 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
515  CheckB2LFEEHeaderVersion(n);
516 #endif
517  int nwords = 0;
518  if (Get4thFINESSENwords(n) > 0) {
519  nwords = Get4thFINESSENwords(n) - SIZE_B2LHSLB_HEADER -
520  SIZE_B2LFEE_HEADER - SIZE_B2LFEE_TRAILER - SIZE_B2LHSLB_TRAILER;
521  }
522  return nwords;
523  }
524 
525 
526 
528  {
529  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_CH_A_DATA_LENGTH;
530  return m_buffer[ pos_nwords ];
531  }
532 
534  {
535  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_CH_B_DATA_LENGTH;
536  return m_buffer[ pos_nwords ];
537  }
538 
540  {
541  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_CH_C_DATA_LENGTH;
542  return m_buffer[ pos_nwords ];
543  }
544 
546  {
547  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_CH_D_DATA_LENGTH;
548  return m_buffer[ pos_nwords ];
549  }
550 
551 
553  {
554  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + SIZE_COPPER_HEADER;
555  return pos_nwords;
556  }
557 
558 
560  {
561 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
562  CheckB2LFEEHeaderVersion(n);
563 #endif
564  if (Get1stFINESSENwords(n) > 0) {
565  int pos_nwords = GetOffset1stFINESSE(n) + SIZE_B2LHSLB_HEADER + SIZE_B2LFEE_HEADER;
566  return &(m_buffer[ pos_nwords ]);
567  }
568  return NULL;
569  }
570 
572  {
573 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
574  CheckB2LFEEHeaderVersion(n);
575 #endif
576  if (Get2ndFINESSENwords(n) > 0) {
577  int pos_nwords = GetOffset2ndFINESSE(n) + SIZE_B2LHSLB_HEADER + SIZE_B2LFEE_HEADER;
578  return &(m_buffer[ pos_nwords ]);
579  }
580  return NULL;
581  }
582 
584  {
585 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
586  CheckB2LFEEHeaderVersion(n);
587 #endif
588  if (Get3rdFINESSENwords(n) > 0) {
589  int pos_nwords = GetOffset3rdFINESSE(n) + SIZE_B2LHSLB_HEADER + SIZE_B2LFEE_HEADER;
590  return &(m_buffer[ pos_nwords ]);
591  }
592  return NULL;
593  }
594 
596  {
597 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
598  CheckB2LFEEHeaderVersion(n);
599 #endif
600  if (Get4thFINESSENwords(n) > 0) {
601  int pos_nwords = GetOffset4thFINESSE(n) + SIZE_B2LHSLB_HEADER + SIZE_B2LFEE_HEADER;
602  return &(m_buffer[ pos_nwords ]);
603  }
604  return NULL;
605  }
606 
608  {
609 #ifdef USE_B2LFEE_FORMAT_BOTH_VER1_AND_2
610  CheckB2LFEEHeaderVersion(n);
611 #endif
612  int pos_nwords = GetOffset1stFINESSE(n) + SIZE_B2LHSLB_HEADER + POS_EXP_RUN;
613  return &(m_buffer[ pos_nwords ]);
614  }
615 
616 
617 
618  inline unsigned int RawCOPPERFormat_v0::GetMagicDriverHeader(int n)
619  {
620  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_MAGIC_COPPER_1;
621  return (unsigned int)(m_buffer[ pos_nwords ]);
622  }
623 
624  inline unsigned int RawCOPPERFormat_v0::GetMagicFPGAHeader(int n)
625  {
626  int pos_nwords = GetBufferPos(n) + tmp_header.RAWHEADER_NWORDS + POS_MAGIC_COPPER_2;
627  return (unsigned int)(m_buffer[ pos_nwords ]);
628  }
629 
630  inline unsigned int RawCOPPERFormat_v0::GetMagicFPGATrailer(int n)
631  {
632  int pos_nwords = GetBufferPos(n) + GetBlockNwords(n) - tmp_trailer.GetTrlNwords() - 3;
633 
634  // printf( "[DEBUG] 1 %d 2 %d 3 %d\n", GetBufferPos(n), GetBlockNwords(n), tmp_trailer.GetTrlNwords());
635 
636  return (unsigned int)(m_buffer[ pos_nwords ]);
637  }
638 
639  inline unsigned int RawCOPPERFormat_v0::GetMagicDriverTrailer(int n)
640  {
641  int pos_nwords = GetBufferPos(n) + GetBlockNwords(n) - tmp_trailer.GetTrlNwords() - 1;
642  return (unsigned int)(m_buffer[ pos_nwords ]);
643  }
644 
645 
646  inline unsigned int RawCOPPERFormat_v0::GetTrailerChksum(int n)
647  {
648  int pos_nwords = GetBufferPos(n) + GetBlockNwords(n) - tmp_trailer.GetTrlNwords() + tmp_trailer.POS_CHKSUM;
649  return (unsigned int)(m_buffer[ pos_nwords ]);
650  }
651 
652 
653  inline unsigned int RawCOPPERFormat_v0::GetTTCtimeTRGType(int n)
654  {
656  return tmp_header.GetTTCtimeTRGType();
657  }
658 
659  inline unsigned int RawCOPPERFormat_v0::GetTTUtime(int n)
660  {
662  return tmp_header.GetTTUtime();
663  }
664 
665 
667  {
669  return tmp_header.GetTTCtime();
670  }
671 
673  {
675  return tmp_header.GetTRGType();
676  }
677 
678  inline void RawCOPPERFormat_v0::GetTTTimeVal(int n, struct timeval* tv)
679  {
682  return ;
683  }
684 
685  inline int RawCOPPERFormat_v0::GetMaxNumOfCh(int/* n */)
686  {
687  return MAX_COPPER_CH;
688  }
689 
691 }
692 
693 #endif
The Raw COPPER class ver.0 ( from August, 2013 to April, 2014 ) This class stores data received by CO...
int * PackDetectorBuf(int *packed_buf_nwords, int *detector_buf_1st, int nwords_1st, int *detector_buf_2nd, int nwords_2nd, int *detector_buf_3rd, int nwords_3rd, int *detector_buf_4th, int nwords_4th, RawCOPPERPackerInfo rawcprpacker_info) OVERRIDE_CPP17
Pack data (format ver. = -1 -> Select the latest format version)
void CheckUtimeCtimeTRGType(int n) OVERRIDE_CPP17
check data contents
unsigned int FillTopBlockRawHeader(unsigned int m_node_id, unsigned int prev_eve32, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no) OVERRIDE_CPP17
should be called by DeSerializerCOPPER.cc and fill contents in RawHeader
RawTrailer_v0 tmp_trailer
trailer ( not recorded )
virtual ~RawCOPPERFormat_v0()
Constructor using existing pointer to raw data buffer.
virtual unsigned int GetB2LFEE32bitEventNumber(int n) OVERRIDE_CPP17
get b2l block from "FEE b2link header"
RawHeader_v0 tmp_header
header ( not recorded )
virtual int GetNumFINESSEBlock(int n) OVERRIDE_CPP17
get # of FINNESEs which contains data
RawCOPPERFormat_v0()
Default constructor.
int GetDetectorNwords(int n, int finesse_num) OVERRIDE_CPP17
get Detector buffer length
bool CheckCOPPERMagic(int n) OVERRIDE_CPP17
Check if COPPER Magic words are correct.
unsigned int CalcDriverChkSum(int n) OVERRIDE_CPP17
calc COPPER driver's checksum value
int GetFINESSENwords(int n, int finesse) OVERRIDE_CPP17
get data size of FINESSE buffer
void CheckData(int n, unsigned int prev_evenum, unsigned int *cur_evenum, unsigned int prev_copper_ctr, unsigned int *cur_copper_ctr, unsigned int prev_exprunsubrun_no, unsigned int *cur_exprunsubrun_no) OVERRIDE_CPP17
check data contents
The Raw COPPER class This class stores data received by COPPER via belle2linkt Data from all detector...
struct to contain header information used by RawCOPPERFormat::Packer()
int m_num_events
number of events in this object
int m_num_nodes
number of nodes in this object
virtual int GetBlockNwords(int n)
get size of a data block
virtual int GetBufferPos(int n)
get position of data block in word
virtual int * GetBuffer(int n)
get nth buffer pointer
int m_nwords
number of words of buffer
The Raw Header class ver.0 ( from August, 2013 to April, 2014 ) This class defines the format of the ...
Definition: RawHeader_v0.h:34
void SetBuffer(int *bufin)
set buffer
Definition: RawHeader_v0.h:49
The Raw Trailer class ver.0 ( from August, 2013 to April, 2014 ) This class defines the format of the...
Definition: RawTrailer_v0.h:36
int GetMaxNumOfCh(int n) OVERRIDE_CPP17
Get the max number of channels in a readout board.
int GetTTCtime(int n) OVERRIDE_CPP17
Get ctime.
int Get3rdFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot C buffer
unsigned int GetDriverChkSum(int n) OVERRIDE_CPP17
read COPPER driver's checksum value
int GetOffset1stFINESSE(int n) OVERRIDE_CPP17
get # of offset words for FINESSE slot A buffer position
virtual unsigned int GetCOPPERCounter(int n) OVERRIDE_CPP17
get COPPER counter(not event number)
unsigned int GetEveNo()
get restart #(8bit)
Definition: RawHeader_v0.h:402
unsigned int GetEveNo(int n) OVERRIDE_CPP17
get subrun #(8bit)
unsigned int GetMagicFPGATrailer(int n) OVERRIDE_CPP17
get magic word of COPPER FPGA trailer
int Get1stFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot A buffer
int GetTruncMask(int n) OVERRIDE_CPP17
get contents of header
int Get3rdDetectorNwords(int n) OVERRIDE_CPP17
get Detector buffer length of slot C
unsigned int GetErrorBitFlag(int n) OVERRIDE_CPP17
get contents of header
unsigned int GetMagicDriverTrailer(int n) OVERRIDE_CPP17
get magic word of COPPER driver trailer
int GetTRGType(int n) OVERRIDE_CPP17
Get trgtype.
void AddErrorBitFlag(unsigned int error_bit_flag)
Add Detected Error bitflag.
Definition: RawHeader_v0.h:432
int GetTTCtime()
get contents of header
Definition: RawHeader_v0.h:475
void GetTTTimeVal(struct timeval *tv)
get contents of header
Definition: RawHeader_v0.h:494
void GetTTTimeVal(int n, struct timeval *tv) OVERRIDE_CPP17
Get timeval.
int * Get2ndDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot B
int GetSubRunNo()
get run # (14bit)
Definition: RawHeader_v0.h:389
virtual int GetOffset2ndFINESSE(int n)
get # of offset words for FINESSE slot B buffer position
int GetTrlNwords()
Set magic word.
void AddErrorBitFlag(int n, unsigned int error_bit_flag) OVERRIDE_CPP17
Add Detected Error bitflag.
unsigned int GetExpRunSubrun(int n) OVERRIDE_CPP17
get Experimental # from header
unsigned int GetMagicFPGAHeader(int n) OVERRIDE_CPP17
get magic word of COPPER FPGA header
int GetExpNo(int n) OVERRIDE_CPP17
get Experimental # from header
int GetDataType()
get contents of header
Definition: RawHeader_v0.h:414
unsigned int GetTTUtime()
get contents of header
Definition: RawHeader_v0.h:488
unsigned int GetTrailerChksum(int n) OVERRIDE_CPP17
Get checksum in RawTrailer.
int * Get4thDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot D
int Get4thFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot D buffer
int GetTRGType()
get TRGType
Definition: RawHeader_v0.h:481
int GetRunNo(int n) OVERRIDE_CPP17
Exp# (10bit) run# (14bit) restart # (8bit)
unsigned int GetNodeID()
get contents of header
Definition: RawHeader_v0.h:408
int Get4thDetectorNwords(int n) OVERRIDE_CPP17
get Detector buffer length of slot D
int Get2ndDetectorNwords(int n) OVERRIDE_CPP17
get Detector buffer length of slot B
virtual int GetOffset4thFINESSE(int n)
get # of offset words for FINESSE slot D buffer position
int GetRunNo()
get contents of header
Definition: RawHeader_v0.h:382
virtual int GetOffset3rdFINESSE(int n)
get # of offset words for FINESSE slot C buffer position
unsigned int GetTTUtime(int n) OVERRIDE_CPP17
Check if COPPER Magic words are correct.
virtual int * GetExpRunSubrunBuf(int n) OVERRIDE_CPP17
get b2l block from "FEE b2link header"
unsigned int GetNodeID(int n) OVERRIDE_CPP17
get node-ID from data
int GetDataType(int n) OVERRIDE_CPP17
get contents of header
virtual int * GetRawTrlBufPtr(int n) OVERRIDE_CPP17
get buffer pointer of rawcopper trailer
int GetTruncMask()
get contents of header
Definition: RawHeader_v0.h:420
unsigned int GetErrorBitFlag()
get contents of header
Definition: RawHeader_v0.h:426
unsigned int GetTTCtimeTRGType()
get contents of header
Definition: RawHeader_v0.h:469
int * Get3rdDetectorBuffer(int n) OVERRIDE_CPP17
get Detector Buffer of slot C
unsigned int GetTTCtimeTRGType(int n) OVERRIDE_CPP17
Check if COPPER Magic words are correct.
unsigned int GetMagicDriverHeader(int n) OVERRIDE_CPP17
get magic word of COPPER driver header
unsigned int GetExpRunSubrun()
get contents of header
Definition: RawHeader_v0.h:395
int GetExpNo()
get a run/exp number combined word
Definition: RawHeader_v0.h:374
int * Get1stDetectorBuffer(int n) OVERRIDE_CPP17
get Detector buffer of slot A
int Get1stDetectorNwords(int n) OVERRIDE_CPP17
get Detector buffer length of slot A
int Get2ndFINESSENwords(int n) OVERRIDE_CPP17
get data size of FINESSE slot B buffer
int GetSubRunNo(int n) OVERRIDE_CPP17
get run # (14bit)
Abstract base class for different kinds of events.