StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rtsScaler.h
1 #ifndef _RTS_SCA_H_
2 #define _RTS_SCA_H_
3 
4 /* LINUX issues */
5 typedef unsigned int uint ;
6 #ifndef SHM_SHARE_MMU
7 #define SHM_SHARE_MMU 0
8 #endif
9 
10 
11 
12 /*
13  Default monitoring host.
14  Default monitoring UDP port.
15 */
16 
17 #define RTS_SCA_PORT 8101
18 #define RTS_SCA_HOST "boothost"
19 #define RTS_SCA_FILE "/RTS/log/scalerServer.dta"
20 
21 #define TRG_HISTO_PORT 8102
22 
23 /*
24  All the items are unsigned ints because I don't want to deal
25  with allignment problems on var. compilers/platforms.
26  All MUST be BigEndian!
27 */
28 
29 
30 
31 #define RTS_SCA_VERSION 0x000100000 /* in yyyy.xxxx BCD format */
32 
33 
34 
35 /* total number of entities (i.e. node-task pairs we support) */
36 #define RTS_SCA_MAX_NODES (16)
37 #define RTS_SCA_USER_WORDS 50 /* NX4bytes of storage for user defined entries */
38 #define RTS_SCA_TRG_WORDS 20
39 
40 struct rtsScaStruct {
41 /* these MUST be present! */
42  unsigned int size ; /* size in bytes of this message */
43  unsigned int node ; /* RTS Node Id of this sender */
44  unsigned int task ; /* RTS TaskId of the sender */
45  unsigned int version ; /* version of this struct - see RTS_SCA_VERSION */
46  unsigned int tim ; /* current time in UNIX seconds */
47  unsigned int state ; /* RC States */
48  unsigned int user[RTS_SCA_USER_WORDS] ;
49  struct trg_sca {
50  unsigned int trgword ;
51  unsigned int evts_ok ; // num of events to taper
52  unsigned int evts_bad ; // num of events which never completed
53  unsigned int mb_sec ; // date rate of events to taper
54  unsigned int evts_built ;
55  unsigned short evts_sec ; // rate of events to taper
56  unsigned char dead ; // percent deadtime
57  unsigned char flags ; // flags - undefined for now...
58  unsigned int res[3] ; // reserved
59  } trg_sca[RTS_SCA_TRG_WORDS] ;
60 } ;
61 
62 
63 // total size in shared memory
64 #define RTS_SCA_DATA_SIZE (sizeof(struct rtsScaStruct)*RTS_SCA_MAX_NODES)
65 
66 #define SCA_TPC 16
67 #define SCA_L25 26
68 #define SCA_L3 27
69 #define SCA_ALL 28
70 
71 #define SCA_LAST 29
72 
73 
74 
75 struct trgHisto {
76  unsigned int trgw ;
77  unsigned int bits ;
78  unsigned int mask ;
79  unsigned int h[128] ;
80 } ;
81 
82 struct allHisto {
83  unsigned int tot_size ;
84  unsigned int clock ;
85  unsigned int count ;
86  struct trgHisto trgHisto[100] ;
87 } ;
88 
89 
90 
91 #endif