GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > GRBP / V0-2-0

Constituent: grbpepu     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

GRBP_server.c File Reference

The server (EPU) side of the GRB algorithm. More...

#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 "EDS/FFS.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 <stdlib.h>

Include dependency graph for GRBP_server.c:


Data Structures

struct  _GRBP_server
 The server context. More...

Typedefs

typedef _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.

Detailed Description

The server (EPU) side of the GRB algorithm.

Author:
JJRussell - russell@slac.stanford.edu
   CVS $Id: GRBP_server.c,v 1.2 2007/07/05 23:12:09 russell Exp $

Function Documentation

static unsigned long long int get_event_time const EBF_gem *  gem  )  [static]
 

Gets the absolute (WCT) time of the event.

Returns:
The absolute time of the event
Parameters:
gem The GEM contribution for this event

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.

Return values:
< 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.
Parameters:
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
This is exported only via the GRBP_serverServicesGet routine. It is called back once per event.

const GRB_epuServices* GRBP_serverServicesGet GRBP_server server,
const GRBP_DB_serverSchema *  cfg
 

Standard GRB algorithm construct service.

Returns:
The EPU service vector

int GRBP_serverSizeof const GRBP_DB_serverSchema *  cfg  ) 
 

Returns the size, in bytes, needed for the specified server configuration.

Returns:
The size, in bytes, needed for the specified server configuration
Parameters:
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.

Parameters:
lists The X/Y lists


Generated on Fri Aug 3 03:32:52 2007 by  doxygen 1.4.4