GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> GRBP / dev > grbpepu / linux-gcc
#include <GRBP/GRBP_server.h>
#include <GRBP_msgdef.h>
#include <GRBP_prjsDef.h>
#include <GRBP_math.h>
#include <GRB/GRB_epu.h>
#include <EFC/TFC_prjDef.h>
#include <EFC/TFC_geometry.h>
#include <EDS/EBF_mc.h>
#include <EDS/EDS_fw.h>
#include <EDS/EBF_dir.h>
#include <EDS/EBF_cid.h>
#include <EDS/EDR_cal.h>
#include <EDS/EDR_tkr.h>
#include <EDS/EDR_tkrUnpack.h>
#include <EDS/EBF_gem.h>
#include <EDS/EBF_gemLocate.h>
#include <EFC/TFC_tolerances.h>
#include <EFC/TFC_prjFind.h>
#include <EFC/EFC_edsFw.h>
#include <EFC/EDM.h>
#include <GEO_DB/GEO_DB_schema.h>
#include <GEO_DB/TFC_DB_geometry.h>
#include <CDM/CDM_pubdefs.h>
#include <PBI/FFS.ih>
#include <stdlib.h>
Classes | |
struct | _GRBP_server |
The server context. More... | |
Typedefs | |
typedef struct _GRBP_server | GRBP_server |
Functions | |
static int | grb_process (GRBP_server *server, EDS_fwIxb *ixb, GRB_msgHdr *msg, int len32) |
This is the client side GRBP processing routine. It's job is to decide whether this event should be nominated as a GRB candidate and, if so, to package its parameters for the client side to analyze. | |
static void __inline | prjList_init (TFC_prjList lists[2][16]) |
Initialize the by-layer linked list. Note that the 16 is NOT the number of towers, but is the number of layers that can be considered either the beginning or ending of a track. Since tracks must have at least two layers, this is 18 - 2. | |
static unsigned int | projections_classify (GRBP_server *server, TFC_prjs *projections, EBF_dir *dir, EDR_tkr *tkr) |
static __inline int | dcos_prepare (const TFC_prj *prjs[2], int cnt, unsigned int scale) |
static __inline int | get_event_energy (const EDS_fwIxb *ixb) |
static __inline unsigned long long int | get_event_time (const EBF_gem *gem) |
Gets the absolute (WCT) time of the event. | |
int | GRBP_serverSizeof (const GRBP_DB_serverSchema *cfg) |
Returns the size, in bytes, needed for the specified server configuration. | |
const GRB_epuServices * | GRBP_serverServicesGet (GRBP_server *server, const GRBP_DB_serverSchema *cfg) |
Standard GRB algorithm construct service. |
CVS $Id: GRBP_server.c,v 1.3 2011/03/30 22:11:51 russell Exp $
static unsigned long long int get_event_time | ( | const EBF_gem * | gem | ) | [static] |
Gets the absolute (WCT) time of the event.
gem | The GEM contribution for this event |
Referenced by grb_process().
static int grb_process | ( | GRBP_server * | server, | |
EDS_fwIxb * | ixb, | |||
GRB_msgHdr * | msg_hdr, | |||
int | len32 | |||
) | [static] |
This is the client side GRBP processing routine. It's job is to decide whether this event should be nominated as a GRB candidate and, if so, to package its parameters for the client side to analyze.
< | 0, the message will not fit. The caller is expected to recall this routine with enough memory (the absolute value of this return value is number of 32-bit words needed. | |
> | 0, the number of 32-bit words committed to the message | |
==0,event | is not a candidate. |
server | The server handle | |
ixb | The information exchange block for the event | |
msg_hdr | Pointer to the header of the message to be filled out. It is assumed that the memory for the processing specific part of the message (here GRBP_msgBdy) immediately follows this header | |
len32 | The number of 32-bit words available for the message |
References _GRBP_prjs::cnt, _GRBP_server::dxy_scale, _GRBP_server::dz_scale, get_event_time(), GRBP__msgCompose(), GRBP_prjsSelect(), and _GRBP_server::message_level.
Referenced by GRBP_serverServicesGet().
const GRB_epuServices* GRBP_serverServicesGet | ( | GRBP_server * | server, | |
const GRBP_DB_serverSchema * | cfg | |||
) |
Standard GRB algorithm construct service.
References _GRBP_server::dxy_scale, _GRBP_server::dz_scale, grb_process(), _GRBP_server::message_level, and _GRBP_server::strip_pitch.
int GRBP_serverSizeof | ( | const GRBP_DB_serverSchema * | cfg | ) |
Returns the size, in bytes, needed for the specified server configuration.
cfg | The server configuration |
static void __inline prjList_init | ( | TFC_prjList | lists[2][16] | ) | [static] |
Initialize the by-layer linked list. Note that the 16 is NOT the number of towers, but is the number of layers that can be considered either the beginning or ending of a track. Since tracks must have at least two layers, this is 18 - 2.
lists | The X/Y lists |