MIDAS
Loading...
Searching...
No Matches
largefe.cxx File Reference
#include <stdio.h>
#include <stdlib.h>
#include "midas.h"
#include "mfe.h"
Include dependency graph for largefe.cxx:

Go to the source code of this file.

Functions

INT frontend_init ()
 Frontend initialization.
 
INT frontend_exit ()
 Frontend exit.
 
INT begin_of_run (INT run_number, char *error)
 Begin of Run.
 
INT end_of_run (INT run_number, char *error)
 End of Run.
 
INT pause_run (INT run_number, char *error)
 Pause Run.
 
INT resume_run (INT run_number, char *error)
 Resume Run.
 
INT frontend_loop ()
 Frontend loop.
 
INT read_large_event (char *pevent, INT off)
 
INT poll_event (INT source, INT count, BOOL test)
 
INT interrupt_configure (INT cmd, INT source, PTYPE adr)
 

Variables

const charfrontend_name = "largefe"
 
const charfrontend_file_name = __FILE__
 
BOOL frontend_call_loop = TRUE
 
INT display_period = 0000
 
INT max_event_size = 10000
 
INT max_event_size_frag = 5 * 1024 * 1024
 
INT event_buffer_size = 10 * 10000
 
BOOL equipment_common_overwrite = FALSE
 
EQUIPMENT equipment []
 

Function Documentation

◆ begin_of_run()

INT begin_of_run ( INT  run_number,
char error 
)

Begin of Run.

Called every run start transition. Set equipment status in ODB, start acquisition on the modules.

Parameters
[in]run_numberNumber of the run being started
[out]errorCan be used to write a message string to midas.log

Definition at line 118 of file largefe.cxx.

119{
120 return SUCCESS;
121}
#define SUCCESS
Definition mcstd.h:54

◆ end_of_run()

INT end_of_run ( INT  run_number,
char error 
)

End of Run.

Called every stop run transition. Set equipment status in ODB, stop acquisition on the modules.

Parameters
[in]run_numberNumber of the run being ended
[out]errorCan be used to write a message string to midas.log

Definition at line 125 of file largefe.cxx.

126{
127 return SUCCESS;
128}

◆ frontend_exit()

INT frontend_exit ( void  )

Frontend exit.

Runs at frontend shutdown. Disconnect hardware and set equipment status in ODB

Returns
Midas status code

Definition at line 111 of file largefe.cxx.

112{
113 return SUCCESS;
114}

◆ frontend_init()

INT frontend_init ( void  )

Frontend initialization.

Runs once at application startup. We initialize the hardware and optical interfaces and set the equipment status in ODB. We also lock the frontend to once physical cpu core.

Returns
Midas status code

Definition at line 104 of file largefe.cxx.

105{
106 return SUCCESS;
107}

◆ frontend_loop()

INT frontend_loop ( void  )

Frontend loop.

If frontend_call_loop is true, this routine gets called when the frontend is idle or once between every event.

Returns
Midas status code

Definition at line 145 of file largefe.cxx.

146{
147 return SUCCESS;
148}

◆ interrupt_configure()

INT interrupt_configure ( INT  cmd,
INT  source,
PTYPE  adr 
)

Definition at line 184 of file largefe.cxx.

185{
186 switch (cmd) {
188 break;
190 break;
192 break;
194 break;
195 }
196 return SUCCESS;
197}
#define CMD_INTERRUPT_ATTACH
Definition midas.h:822
#define CMD_INTERRUPT_DISABLE
Definition midas.h:821
#define CMD_INTERRUPT_ENABLE
Definition midas.h:820
#define CMD_INTERRUPT_DETACH
Definition midas.h:823

◆ pause_run()

INT pause_run ( INT  run_number,
char error 
)

Pause Run.

Called every pause run transition.

Parameters
[in]run_numberNumber of the run being ended
[out]errorCan be used to write a message string to midas.log
Returns
Midas status code

Definition at line 132 of file largefe.cxx.

133{
134 return SUCCESS;
135}

◆ poll_event()

INT poll_event ( INT  source,
INT  count,
BOOL  test 
)

Definition at line 160 of file largefe.cxx.

164{
165
166 /* Example for camac
167 int i;
168 DWORD lam;
169
170 for (i = 0; i < count; i++) {
171 cam_lam_read(LAM_SOURCE_CRATE(source), &lam);
172
173 if (lam & LAM_SOURCE_STATION(source))
174 if (!test)
175 return lam;
176 }
177 */
178
179 return 0;
180}

◆ read_large_event()

INT read_large_event ( char pevent,
INT  off 
)

Definition at line 201 of file largefe.cxx.

202{
203 DWORD *pddata;
204
205 /* init bank structure */
206 bk_init32(pevent);
207
208 bk_create(pevent, "BIGG", TID_DWORD, (void **) &pddata);
209 memset((char *) pddata, 0x0000, 100);
210 pddata += 1000000;
211 memset((char *) pddata - 100, 0xFFFF, 100);
212 bk_close(pevent, pddata);
213
214 return bk_size(pevent);
215}
INT bk_close(void *event, void *pdata)
Definition midas.cxx:16780
void bk_init32(void *event)
Definition midas.cxx:16469
void bk_create(void *event, const char *name, WORD type, void **pdata)
Definition midas.cxx:16561
INT bk_size(const void *event)
Definition midas.cxx:16495
unsigned int DWORD
Definition mcstd.h:51
#define TID_DWORD
Definition midas.h:336
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
Here is the call graph for this function:

◆ resume_run()

INT resume_run ( INT  run_number,
char error 
)

Resume Run.

Called every resume run transition.

Parameters
[in]run_numberNumber of the run being ended
[out]errorCan be used to write a message string to midas.log
Returns
Midas status code

Definition at line 139 of file largefe.cxx.

140{
141 return SUCCESS;
142}

Variable Documentation

◆ display_period

INT display_period = 0000

Definition at line 30 of file largefe.cxx.

◆ equipment

EQUIPMENT equipment[]
Initial value:
= {
{"large",
{3, 0,
"SYSTEM",
0,
"MIDAS",
TRUE,
2000,
0,
0,
0,
"", "", ""},
NULL,
},
{""}
}
#define EQ_PERIODIC
Definition midas.h:414
#define EQ_FRAGMENTED
Definition midas.h:420
#define RO_ALWAYS
Definition midas.h:436
INT read_large_event(char *pevent, INT off)
Definition largefe.cxx:201
#define TRUE
Definition midas.h:182

Definition at line 56 of file largefe.cxx.

56 {
57
58 {"large", /* equipment name */
59 {3, 0, /* event ID, trigger mask */
60 "SYSTEM", /* event buffer */
61 EQ_PERIODIC | EQ_FRAGMENTED, /* equipment type */
62 0, /* event source */
63 "MIDAS", /* format */
64 TRUE, /* enabled */
65 RO_ALWAYS, /* read when running and on transitions */
66 2000, /* read every 2 sec */
67 0, /* stop run after this event limit */
68 0, /* number of sub events */
69 0, /* log history */
70 "", "", ""},
71 read_large_event, /* readout routine */
72 NULL, NULL, /* keep null */
73 NULL, /* init string */
74 },
75
76 {""}
77};

◆ equipment_common_overwrite

BOOL equipment_common_overwrite = FALSE

Definition at line 54 of file largefe.cxx.

◆ event_buffer_size

INT event_buffer_size = 10 * 10000

Definition at line 39 of file largefe.cxx.

◆ frontend_call_loop

BOOL frontend_call_loop = TRUE

Definition at line 27 of file largefe.cxx.

◆ frontend_file_name

const char* frontend_file_name = __FILE__

Definition at line 24 of file largefe.cxx.

◆ frontend_name

const char* frontend_name = "largefe"

Definition at line 21 of file largefe.cxx.

◆ max_event_size

INT max_event_size = 10000

Definition at line 33 of file largefe.cxx.

◆ max_event_size_frag

INT max_event_size_frag = 5 * 1024 * 1024

Definition at line 36 of file largefe.cxx.