StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
stgc_data_c.h
1 #ifndef _STGC_DATA_C_H_
2 #define _STGC_DATA_C_H_
3 
4 
5 #include <sys/types.h>
6 
7 #define STGC_SECTOR_COU 4
8 #define STGC_RDO_COU 4
9 #define STGC_FEE_COU 6
10 #define STGC_VMM_COU 4
11 
12 // I will have 1 per worker thread
13 class stgc_data_c {
14 public:
15  stgc_data_c() ;
16  ~stgc_data_c() {;} ;
17 
18  static u_int run_number ;
19  static u_int run_type ;
20 
21  u_char id ; // 0 is special
22 
23  u_char sector1 ;
24  u_char rdo1 ;
25 
26  u_int bad_error ; // flags
27  u_char want_saved ;
28  u_char realtime ;
29 
30  //per event; per RDO
31  int hdr_check(u_short *d16, int shorts) ;
32 
33  int start_0001(u_short *d16, int shorts) ;
34  int event_0001() ;
35 
36  int run_start() ;
37 
38  int start(u_short *d16, int shorts) ;
39  int event() ;
40  int event_end(int flag) ;
41 
42  static const char *type_c(u_short type) ;
43 
44 // void set_rdo(int r1) { rdo1 = r1 ; } ;
45 
46 
47  static struct feb_t {
48  u_char present ;
49  struct {
50  u_short threshold ;
51  struct {
52  u_char threshold ;
53  u_char mask ;
54  } ch[64] ;
55  } vmm[STGC_VMM_COU] ;
56  } feb[STGC_SECTOR_COU][STGC_RDO_COU][STGC_FEE_COU] ;
57 
58 
59  static struct errs_t {
60  u_int fifo ;
61  } errs[STGC_RDO_COU] ;
62 
63  int adc_cou ;
64  int trg_cou ;
65 
66  int xing_min ;
67  int xing_max ;
68 
69  u_int event_any ;
70  u_int event_data ;
71 
72  u_short version ; // 0x0001 is the version in May 2021
73  u_short evt_type ;
74  u_short status ; // from d[3]
75  u_short echo ; // if echo command
76  unsigned long response ; // from FEE response packet
77  unsigned long fee_status ;
78 
79  u_int datum_ix ;
80 
81  u_short *d16_start ;
82  u_short *d16_data ;
83  u_short *d16_last ;
84 
85 
86 
87 
88  unsigned long mhz_start_evt_marker ;
89  u_int mhz_stop_evt_marker ;
90  unsigned long mhz_trg_marker ;
91  u_short trg_counter ;
92 
93  struct stgc_vmm_t vmm ;
94 
95  u_short event_type ;
96  int ch_count ;
97 
98  u_short token ;
99  u_char daq_cmd ;
100  u_char trg_cmd ;
101 
102 private:
103 
104 } ;
105 
106 #endif