MIDAS
Loading...
Searching...
No Matches
analyzer.c
Go to the documentation of this file.
1/********************************************************************\
2
3 Name: analyzer.c
4 Created by: Stefan Ritt
5
6 Contents: Experiment specific analyzer code (user part).
7
8 This is the "simple" version of an analyzer which
9 does not use any HBOOK functionality nor a module
10 concept.
11
12 This program can be used as a framework for user
13 written analyzers that don't use the CERN library.
14
15 $Id:$
16
17\********************************************************************/
18
19#include <stdio.h>
20#include "midas.h"
21
22/*-- Globals -------------------------------------------------------*/
23
24/* The analyzer name (client name) as seen by other MIDAS clients */
25char *analyzer_name = "Analyzer";
26
27/* analyzer_loop is called with this interval in ms (0 to disable) */
29
30/*-- Function declarations -----------------------------------------*/
31
34
35/*-- Event request list --------------------------------------------*/
36
38
39 {"Trigger", /* event name */
40 1, /* event ID */
41 TRIGGER_ALL, /* trigger mask */
42 GET_SOME, /* get some events */
43 "SYSTEM", /* event buffer */
44 TRUE, /* enabled */
45 "", "",
46 analyze_trigger_event, /* analyzer routine */
47 },
48
49 {"Scaler", /* equipment name */
50 2, /* event ID */
51 TRIGGER_ALL, /* trigger mask */
52 GET_ALL, /* get all events */
53 "SYSTEM", /* event buffer */
54 TRUE, /* enabled */
55 "", "",
56 analyze_scaler_event /* analyzer routine */
57 },
58
59 {""}
60};
61
62/********************************************************************\
63 Callback routines for system transitions
64
65 These routines are called whenever a system transition like start/
66 stop of a run occurs. The routines are called on the following
67 occations:
68
69 analyzer_init: When the analyzer program is started. This routine
70 should initialize global variables.
71
72 analyzer_exit: When the analyzer program is shut down. Can be used
73 to write final variables etc.
74
75 begin_of_run: When a new run is started.
76
77 end_of_run: Called on a request to stop a run.
78
79 pause_run: When a run is paused.
80
81 resume_run: When a run is resumed.
82
83\********************************************************************/
84
85/*-- Analyzer Init -------------------------------------------------*/
86
88{
89 return CM_SUCCESS;
90}
91
92/*-- Analyzer Exit -------------------------------------------------*/
93
95{
96 return CM_SUCCESS;
97}
98
99/*-- Begin of Run --------------------------------------------------*/
100
102{
103 return CM_SUCCESS;
104}
105
106/*-- End of Run ----------------------------------------------------*/
107
109{
110 return CM_SUCCESS;
111}
112
113/*-- Pause Run -----------------------------------------------------*/
114
116{
117 return CM_SUCCESS;
118}
119
120/*-- Resuem Run ----------------------------------------------------*/
121
123{
124 return CM_SUCCESS;
125}
126
127/*-- Analyzer Loop -------------------------------------------------*/
128
130{
131 return CM_SUCCESS;
132}
133
134/*------------------------------------------------------------------*/
135
136/********************************************************************\
137
138 Analyzer routines for different events
139
140\********************************************************************/
141
142/*-- Trigger event -------------------------------------------------*/
143
145{
146 if (SERIAL_NUMBER(pevent) % 1000 == 0)
147 printf("Trigger: %d\r", SERIAL_NUMBER(pevent));
148
149 return CM_SUCCESS;
150}
151
152/*-- Scaler event --------------------------------------------------*/
153
155{
156 printf("\nScaler: %d\n", SERIAL_NUMBER(pevent));
157
158 return CM_SUCCESS;
159}
INT ana_begin_of_run(INT run_number, char *error)
Definition analyzer.c:101
INT ana_resume_run(INT run_number, char *error)
Definition analyzer.c:122
INT analyze_scaler_event(char *)
Definition analyzer.c:154
INT analyzer_loop()
Definition analyzer.c:129
INT analyzer_exit()
Definition analyzer.c:94
INT analyze_trigger_event(char *)
Definition analyzer.c:144
INT ana_pause_run(INT run_number, char *error)
Definition analyzer.c:115
INT ana_end_of_run(INT run_number, char *error)
Definition analyzer.c:108
INT analyzer_loop_period
Definition analyzer.c:28
ANALYZE_REQUEST analyze_request[]
Definition analyzer.c:37
char * analyzer_name
Definition analyzer.c:25
INT analyzer_init()
Definition analyzer.c:87
#define CM_SUCCESS
Definition midas.h:582
#define GET_ALL
Definition midas.h:321
#define TRIGGER_ALL
Definition midas.h:538
INT run_number[2]
Definition mana.cxx:246
int INT
Definition midas.h:129
#define TRUE
Definition midas.h:182
#define SERIAL_NUMBER(e)
Definition midas.h:880