StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
itpcPed.h
1 #ifndef _ITPC_PED_H_
2 #define _ITPC_PED_H_
3 
4 #include <sys/types.h>
5 
6 class itpcData
7 {
8 public:
9  itpcData() { want_data = 0 ;} ;
10  virtual ~itpcData() {;} ;
11 
12  virtual void ch_start(int c) { ch = c ; tb_cou = 0 ;} ;
13  virtual void accum(int sec0, int rdo0, int port0, int fee_id, int ch, int tb, int adc) { tb_cou++ ;} ;
14  virtual void ch_done(int err) {;} ;
15  virtual int do_ch(int fee_id, int fee_ch, u_int *data, int words) { return 0 ; } ;
16 
17  int run_type ;
18  u_int run_number ;
19  int sector_id ; // actual PC
20 
21  int want_data ;
22  u_int data ;
23  int words ;
24 
25  int sector ;
26  int rdo ;
27  int port ;
28  int fee_id ;
29  int ch ;
30 
31  int tb_cou ;
32 } ;
33 
34 
35 class itpcPed : public itpcData
36 {
37 public:
38  itpcPed() ;
39  ~itpcPed() ;
40 
41  void init(int sector, int rdo, u_int fee_mask) ;
42 
43  void set_fee_mask(int sector, int rdo, u_int f_mask) {
44  fee_mask[sector-1][rdo-1] = f_mask ;
45  }
46 
47  void set_padplane_id(int sector, int rdo, int port, int id) ;
48  void clear() ;
49 
50  void accum(int sec0, int rdo0, int port0, int fee_id, int ch, int tb, int adc) ;
51 
52  void calc() ;
53 
54  int from_cache(const char *fname, int sec1, int rdo1) ;
55  int to_cache(const char *fname, int sec1, int rdo1) ;
56 
57  int sanity(int mode) ;
58 
59  int kill_non_phys() ;
60 
61  struct ped_t {
62  double ped[512] ;
63  double rms[512] ;
64  u_short cou[512] ;
65 
66  double c_ped ;
67  double c_rms ;
68  u_int c_cou ;
69  } *ped_p[24][4][16][64] ;
70 
71 
72  u_char evts[24][4] ;
73 
74  u_char padplane_id[24][4][16] ;
75 
76  u_char fee_err[24][4][16][64] ;
77 
78  u_short pulser_peak_timebin ; // because of differences in lab vs STAR
79  u_char pulser_in_star ; // because it is noisy
80 
81 private:
82 
83  u_short fee_mask[24][4] ;
84 
85 
86 
87 
88 } ;
89 
90 
91 #endif
92