StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
tpx23.h
1 #ifndef _TPX23_H_
2 #define _TPX23_H_
3 
4 //#include <DAQ_READER/daqReader.h>
5 #include <DAQ_READER/daq_dta.h>
6 
7 #include "tpc23_base.h"
8 
9 class tpxPed ;
10 struct daq_dta ;
11 struct tpx_altro_struct ;
12 
13 class tpx23Data {
14 public:
15  tpx23Data() {;} ;
16  ~tpx23Data() {;} ;
17 
18  int sector ;
19  int rdo ;
20  int row ;
21  int pad ;
22  int altro ;
23  int ch ;
24  int tb_cou ;
25 
26  daq_dta *dta ;
27  daq_adc_tb *at ;
28 
29  void ch_start(int c) {
30  ch = c ;
31  tb_cou = 0 ;
32 
33  at = (daq_adc_tb *)dta->request(512) ;
34  }
35 
36  void accum(int tb, int adc) {
37  at[tb_cou].adc = adc;
38  at[tb_cou].tb = tb ;
39  tb_cou++ ;
40  }
41 
42  void ch_done() {
43  dta->finalize(tb_cou,sector,row,pad) ;
44  }
45 } ;
46 
47 
48 class tpx23 : public tpc23_base {
49 public:
50  tpx23() ;
51  ~tpx23() { return ; } ;
52 
53 // int run_start() ;
54 
55  int rdo_scan(char *c_addr, int words) ;
56  int from22to23(char *c_addr, int words) ;
57 
58  u_int get_token_s(char *c_addr, int words) ;
59  u_int set_rdo(int s, int r) ;
60 
61  static class tpxPed *peds ;
62 
63 
64  u_int get_token(char *c_addr, int words) ;
65 
66  int init(daq_dta *gain) ;
67 
68  static struct row_pad_t (*rp_gain_tpx)[ROW_MAX+1][PAD_MAX+1] ; // max for both dets; all sectors
69 
70  u_int tdbg[10] ; // debugging counters, etc
71 
72  u_char hdr_version ;
73 
74  u_int fpga_usercode[5] ;
75  u_char log_is_error ;
76  u_char rhic_clock ;
77 
78  class tpx23Data *tpx_d ;
79 
80  tpx_altro_struct *altro ;
81  int altro_cou ;
82 
83 private:
84 
85  int fee_scan() ;
86 
87  int log_dump(char *c_addr, int wds) ;
88  int msc_dump(char *c_addr, int wds) ;
89 
90  u_char flags_row_pad(int asic, int channel, int &row, int &pad) ;
91 
92  u_char type ;
93  u_char subtype ;
94 
95  u_int *d_start ; // original FIFO c_addr
96  u_int *d_end ; // very last ALTRO datum
97  u_int *trl ; // start of trailer aka end-of-event
98 
99  int words ; // original FIFO words
100 
101 
102 
103 
104 } ;
105 
106 
107 #endif
108 
Definition: tpxPed.h:14
Definition: tpx23.h:48