StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
itpc23.h
1 #ifndef _ITPC23_H_
2 #define _ITPC23_H_
3 
4 #include "tpc23_base.h"
5 
6 struct daq_dta ;
7 
8 class itpc23 : public tpc23_base {
9 public:
10  itpc23() ;
11  ~itpc23() ;
12 
13  u_short fee_mask ; // expected
14  u_short fee_words ; // 0:real FEE, non-0: simulated words
15 
16  u_int *d_start ; // original FIFO c_addr
17  u_int *d_now ; // where am I now
18  u_int *trl ; // start of trailer aka end-of-event
19 
20  int words ; // original FIFO words
21  u_int err ; // cleared at rdo_start
22 
23 
24  //current values
25  int bx_count ;
26  int fee_pp ; // padplane
27  int lane_ix ; // 0..4
28  int ch_ix ; // 0..15
29  int fee_ix ; // 0..15 aka port
30  int fee_evt_type ;
31 
32  int prog_fulls ;
33 // int fee_errs ;
34 
35  int rdo_scan(char *c_addr, int words) ;
36  int from22to23(char *dta, int words) ;
37  u_int get_token_s(char *c_addr, int words) ;
38  u_int set_rdo(int s, int r) ;
39 
40  int init(daq_dta *gain) ;
41 
42  static struct row_pad_t (*rp_gain_itpc)[ROW_MAX+1][PAD_MAX+1] ; // max for both dets; all sectors
43 
44  static void itpc_fee_kill(int s0, int r0, int p0) ;
45 
46 private:
47  u_int *fee_non_trgd(u_int *d) ;
48  u_int *fee_scan(u_int *d) ;
49  u_int *lane_scan(u_int *d) ;
50  u_int *ch_scan(u_int *d) ;
51 
52  u_char flags_row_pad(int asic, int channel, int &row, int &pad) ;
53 } ;
54 
55 #endif
Definition: itpc23.h:8