GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > EMP / V1-2-0
Constituent: asc     Tag: mv2304
#include <string.h>
#include "PBS/FFS.ih"
#include "PBI/Endianness.h"
#include "EMP/ASC.h"
#include "EDS/EBF_cid.h"
#include "EDS/EBF_gem.h"
#include "EDS/EDA_acd.h"
#include "EDS/EDR_acd.h"
#include "EMP/ASC_pubdefs.h"
Include dependency graph for ASC.c:
Data Structures | |
struct | _LCB_header |
Layouts out the header for an LCB packet. The header is represented in terms of 32-bit quantities to avoid BIG/ LITTLE endian problems. More... | |
Defines | |
#define | LCB_M_PACKET_ALIGN 0xf |
The size of a contributor must be an even multiple of this number. Currently an LCB packet is 128 bits or 16 bytes. This means that the low nibble of each length contributor's field must be zero. | |
#define | LCB_EXTRACT_CID(hdr_clen) (((hdr_clen) >> 17) & 0x1f) |
Extracts the contributor id from the first word of the LCB header. | |
#define | LCB_EXTRACT_CLEN(hdr_clen) ((hdr_clen) & 0xffff) |
Extracts the contributor length (in bytes) from the first word of the LCB header. | |
#define | _ADVANCE(_ptr, _nbytes) (void *)((unsigned char *)(_ptr) + (_nbytes)) |
Advances _ptr by _nbytes. The return value is always recast to the type of _ptr. | |
#define | _SKIP_EHDR(_ptr) (void *)((unsigned char *)(_ptr)+sizeof(LCB_header)) |
Skips over the event header (LATp header + summary word) recast to the type of _ptr. | |
Typedefs | |
typedef _LCB_header | LCB_header |
Typedef for struct _LCB_header. | |
Functions | |
static void | clear (void *ptr, int nbytes) |
Zeroes the specified memory. | |
static void | accumulate_cno (ASC_cno *cno, unsigned int cnoReqVec) |
Accumulates the number of CNO triggers from each FREE board. | |
static void | accumulate (ASC_list *list, unsigned int v, unsigned int hb, unsigned int ha, unsigned int pb, unsigned int pa) |
Accumulates the statistics for list (32-bits) of ACD hits. | |
static __inline unsigned int | prepare (unsigned int w) |
Prepares the initial word of being used in the formation of the pattern word. | |
static __inline const unsigned int * | locate_aem (const unsigned int *evt, int elen) |
Composes the directory of the contributors. | |
static __inline unsigned int | form (unsigned int v, unsigned int hb, unsigned int ha, unsigned int pb, unsigned int pa, int left) |
Forms the 5 bit pattern word from the bits in column left and appropriately shifts the pattern word so that it may be used directly as a byte offset into the correct statistics counters. | |
void | ASC_clear (ASC_counters *counters) |
Clears the specified statistics counters. | |
void | ASC_accumulateU (ASC_counters *counters, const struct _EBF_gem *gem, const struct _EDR_acd *acd) |
Accumulates the proper pattern words for each ACD hit. | |
const __inline struct _EBF_gem * | ASC_gem_locate (const unsigned int *edata, int esize) |
Locates GEM contribution in an event. | |
const __inline unsigned int * | ASC_aem_locate (const unsigned int *edata, int esize) |
Locates AEM contribution in an event. | |
int | ASC_acd_sizeof (void) |
Returns the size, in bytes, of the data structure needed to hold an unpacked ACD event. |
CVS $Id: ASC.c,v 1.8 2006/03/01 01:44:41 russell Exp $
|
Advances _ptr by _nbytes. The return value is always recast to the type of _ptr.
|
|
Skips over the event header (LATp header + summary word) recast to the type of _ptr.
|
|
Extracts the contributor id from the first word of the LCB header.
|
|
Extracts the contributor length (in bytes) from the first word of the LCB header.
|
|
Accumulates the statistics for list (32-bits) of ACD hits.
|
|
Accumulates the number of CNO triggers from each FREE board.
|
|
Accumulates the proper pattern words for each ACD hit.
|
|
Returns the size, in bytes, of the data structure needed to hold an unpacked ACD event.
|
|
Locates AEM contribution in an event.
|
|
Clears the specified statistics counters.
|
|
Locates GEM contribution in an event.
|
|
Zeroes the specified memory.
On other platforms, the generic memset routine is used. |
|
Forms the 5 bit pattern word from the bits in column left and appropriately shifts the pattern word so that it may be used directly as a byte offset into the correct statistics counters.
|
|
Composes the directory of the contributors.
|
|
Prepares the initial word of being used in the formation of the pattern word.
|