Belle II Software  release-05-01-25
ARICHRawDataHeader.h
1 #ifndef ARICHRAWDATAHEADER_H
2 #define ARICHRAWDATAHEADER_H
3 
4 #include <iostream>
5 #include <vector>
6 
7 
8 namespace Belle2 {
14 #define ARICHFEB_HEADER_SIZE 10 // FEB header size in bytes
15 #define ARICHRAW_HEADER_SIZE 12 // Raw header size in bytes
16 
17  struct ARICHRawHeader {
18  uint8_t type = 0;
19  uint8_t version = 0;
20  uint8_t mergerID = 0;
21  uint8_t FEBSlot = 0;
22  uint32_t length = 0;
23  uint32_t trigger = 0;
24  std::vector<bool> SEU_FEB = std::vector<bool>(6, false);
25  bool thscan_mode = false;
26  unsigned vth = 0;
27 
28  void print()
29  {
30  std::cout << "Type: " << unsigned(type) << " version: " << unsigned(version) << std::endl;
31  std::cout << "mergerID: " << unsigned(mergerID) << " FEBSlot: " << unsigned(FEBSlot) << std::endl;
32  std::cout << "data length: " << length << " trigger No.: " << trigger << std::endl;
33  std::cout << "SEU of FEB: " << SEU_FEB[5] << " " << SEU_FEB[4] << " " << SEU_FEB[3] << " " << SEU_FEB[2] << " " << SEU_FEB[1] << " "
34  << SEU_FEB[0] << std::endl;
35  std::cout << "thscan_mode: " << thscan_mode << ", vth: " << vth << std::endl;
36  }
37 
38  };
40 }
41 
42 
43 #endif
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHRawHeader
Definition: ARICHRawDataHeader.h:17