AlcapDAQ  1
old_mevb.h
Go to the documentation of this file.
1 /********************************************************************\
2 Name: mevb.h
3  Created by: Pierre-Andre Amaudruz
4 
5  Contents: Event builder header file
6  $Log: mevb.h,v $
7  Revision 1.2 2003/05/13 19:27:04 mucap
8  Fixes to allow a subset of the crates to participate in an event. Also,
9  this pulls in Pierre's CVS changes to the generic eventbuilder code.
10 
11  Revision 1.7 2003/01/28 20:44:50 pierre
12  Remove user field in fragment struct
13 
14  Revision 1.6 2002/10/07 17:04:10 pierre
15  fix tr_stop request
16 
17  Revision 1.5 2002/09/28 00:48:48 pierre
18  Add EB_USER_ERROR handling
19 
20  Revision 1.4 2002/09/25 18:37:46 pierre
21  correct: header passing, user field, abort run
22 
23  Revision 1.3 2002/06/14 04:57:09 pierre
24  revised for 1.9.x
25 
26 \********************************************************************/
27 
28 #define EBUILDER(_name) char *_name[] = {\
29 "[Settings]",\
30 "Event ID = WORD : 1",\
31 "Trigger mask = WORD : 1",\
32 "Buffer = STRING : [32] SYSTEM",\
33 "Format = STRING : [32] MIDAS",\
34 "User build = BOOL : n",\
35 "User Field = STRING : [64] ",\
36 "Event mask = DWORD : 3",\
37 "Hostname = STRING : [64] ",\
38 "",\
39 "[Statistics]",\
40 "Events sent = DOUBLE : 0",\
41 "Events per sec. = DOUBLE : 0",\
42 "kBytes per sec. = DOUBLE : 0",\
43 "",\
44 NULL }
45 
46 #define EBUILDER_CHANNEL(_name) char *_name[] = {\
47 "[Frag1/Settings]",\
48 "Event ID = WORD : 1",\
49 "Trigger mask = WORD : -1",\
50 "Buffer = STRING : [32] BUF1",\
51 "Format = STRING : [32] MIDAS",\
52 "Event mask = DWORD : 1",\
53 "",\
54 "[Frag1/Statistics]",\
55 "Events sent = DOUBLE : 0",\
56 "Events per sec. = DOUBLE : 0",\
57 "kBytes per sec. = DOUBLE : 0",\
58 "",\
59 "[Frag2/Settings]",\
60 "Event ID = WORD : 2",\
61 "Trigger mask = WORD : -1",\
62 "Buffer = STRING : [32] BUF2",\
63 "Format = STRING : [32] MIDAS",\
64 "Event mask = DWORD : 2",\
65 "",\
66 "[Frag2/Statistics]",\
67 "Events sent = DOUBLE : 0",\
68 "Events per sec. = DOUBLE : 0",\
69 "kBytes per sec. = DOUBLE : 0",\
70 "",\
71 NULL }
72 
73 typedef struct {
74  WORD event_id;
75  WORD trigger_mask;
76  char buffer[32];
77  char format[32];
78  BOOL user_build;
79  char user_field[64];
81  char hostname[64];
83 
84 typedef struct {
87  char buffer[32];
88  char format[32];
91 
92 typedef struct {
93  double events_sent;
94  double events_per_sec_;
95  double kbytes_per_sec_;
97 
98 typedef struct {
99  char name[32];
100  INT hBuf;
101  INT req_id;
102  INT hStat;
103  INT timeout;
104  DWORD serial;
105  char *pfragment;
109 
110 #define EB_SUCCESS 1
111 #define EB_COMPOSE_TIMEOUT -1
112 #define EB_ERROR 1001
113 #define EB_USER_ERROR 1002
114 #define EB_ABORTED 1003
115 #define EB_SKIP 1004
116 #define TIMEOUT 10
117 #define MAX_CHANNELS 8