GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSEP / V1-3-7 > lsepw / rad750
#include <LSEP/LSEPW_evt0.h>
#include <LSEP/LSEP_evtCtb0.h>
#include <LSEPW_pvtdef.h>
#include <CDFP.h>
#include <CDFP_def.h>
#include <LSE/CDF_acd.h>
#include <LSE/CDF_tkr.h>
#include <LSE/CDF_dgn.h>
#include <LSE/CDF_err.h>
#include <LSE/CDF_acd_ped.h>
#include <LSE/CDF_acd_std.h>
#include <LSE/CDF_cal_std.h>
#include <LSE/CDF_cal_ped.h>
#include <LSE/CDF_tkr_std.h>
#include <LSE/CDF_tkr_ped.h>
#include <LSE/CDF_tkr_err.h>
#include <LSE/CDF_dgn_ped.h>
#include <LSE/CDF_dgn_std.h>
#include <LSE/CDF_gem.h>
#include <LSE/CDF_esb.h>
#include <EDS/EBF_match.h>
#include <EDS/EBF_dir.h>
#include <EDS/EBF_evt.h>
#include <EDS/EBF_tkr.h>
#include <EDS/EBF_err.h>
#include <EDS/EBF_tem.h>
#include <EDS/EBF_pkt.h>
#include <EDS/EDR_calUnpack.h>
#include <EDS/EDR_acdUnpack.h>
#include <EDS/EDR_errUnpack.h>
#include <EDS/EDR_tkrUnpack.h>
#include <EDS/ACD_unpack.h>
#include <EDS/ACD_rec.h>
#include <EDS/EDR_err.h>
#include <EDS/EDR_tkr.h>
#include <EDS/EBF_cid.h>
#include <EDS/EDS_fw.h>
#include <EDS/EBF_gemLocate.h>
#include <EDS/EBF_gem.h>
#include <LDT/BFP.h>
#include <LDT/FCS.h>
#include <PBS/WCT.h>
#include <PBS/MBA.h>
#include <PBI/FFS.ih>
#include <PBI/PTR.h>
#include <string.h>
#include <LSE/cdf_buf_print.h>
#include <dprintf.h>
Defines | |
#define | calStatsGet(_dir) 0 |
#define | tkrStatsGet(_tkr, _stats) |
#define | display_ids(_calids, _tkrids, _tid, _size) |
Functions | |
unsigned int * | LSEPW_ctbAdd (LSEPW *lsepw, unsigned int *cur, int len32) |
Adds the Physics specific context contribution to the datagram. | |
static __inline unsigned int * | copy (void *dst, const void *src, size_t nbytes) |
Copies the specified number of bytes from the source to the destination. | |
static __inline int | ctb_trim (const EBF_ctb *ctb, unsigned int nbytes) |
Trims the trailing zeroes from the specified contributor. | |
static __inline int | evt_trim (const EBF_evt *evt, unsigned int nbytes) |
Computes the length of the event, in bytes, less the number of trailing zeroes. | |
unsigned int * | dir_raw_copy (unsigned int *dst, EBF_dir *dir) |
Copies the EBF data associated with the EBF directory into designated buffer. | |
static unsigned int | dir_aux_fill (const EDR_tkr *tkr, EBF_dirAuxDsc *aux, const EBF_dirCtbDsc *ctb) |
Callback routine for EBF_dirAuxDscFill, adding the track length to the list of of TEMs. | |
unsigned int * | dir_cmp_copy (unsigned int *dst, EBF_dir *dir, int nskip) |
Copies the EBF data associated with the EBF directory into designated buffer, compressing out the multi-packet headers and trimming the trailing zeroes. | |
static __inline int | reassemble (EBF_dir *dir, int npkts, unsigned int evt_size) |
Reassembles multi-packet events. | |
static unsigned int | dir_evt_checksum (const EBF_dir *dir) |
Calculates the checksum for the event described by dir. | |
static unsigned int * | copy_rsdTbl (unsigned int *cur, const LSEPW_rsdTbl *tbl, unsigned int *rsdBytes) |
Copies the result summary information into the output. | |
static unsigned int * | evt0_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static unsigned int * | evt1_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static unsigned int * | evt2_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static unsigned int * | evt3_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static __inline void | evt4_hdr_print (unsigned int ebw_mismatch, unsigned int esw_mismatch) |
Prints the header for EVT4/5 debugging. | |
static __inline unsigned int | evt4_toc_ctl_format (unsigned int esw_ui, unsigned int ebw_mismatch, unsigned int esw_mismatch, unsigned int aem_len) |
Composes the Table of Contents word. | |
static unsigned int * | evt4_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static unsigned int * | evt5_add (LSEPW *lsepw, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
static __inline unsigned int | evt8_std_dgn_add (CDFP_ctx *ctx, unsigned int *cur, unsigned int pos, EBF_dir *dir, const EDR_cal *cal, const EDR_tkr *tkr) |
Compression to add in any diagnostic contribution for a standard event. | |
static __inline unsigned int | evt8_ped_dgn_add (CDFP_ctx *ctx, unsigned int *cur, unsigned int pos, EBF_dir *dir, const EDR_cal *cal, const EDR_tkr *tkr) |
Compression to add in any potential diagnostic contribution for a pedestal event. | |
static __inline unsigned int * | complete_event (unsigned int *beg, unsigned int *rsdEnd, unsigned int rsdBytes, unsigned int position) |
Completes the event by filling out the event record header. | |
static unsigned int * | evt8_std_add (CDFP_ctx *ctx, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32, const CDF_esb *esb) |
Adds the specified event to the output stream. | |
static unsigned int * | evt8_ped_add (CDFP_ctx *ctx, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32, const CDF_esb *esb) |
Adds the specified event to the output stream. | |
static unsigned int * | beg8_add (CDFP_ctx *cdfp, unsigned int *beg, unsigned int len32) |
Begin datagram callback routine for level 8 formatting. | |
static unsigned int * | evt8_add (CDFP_ctx *ctx, EDS_fwIxb *ixb, unsigned int *beg, unsigned int len32) |
Adds the specified event to the output stream. | |
int | LSEPW_evt0_sizeof (unsigned int level, void *cfg) |
Returns the size, in bytes, of the control structure needed to supprot the specified format level. | |
int | LSEPW_evt0_construct (void *ctxs[16], unsigned int max_level, void *mem, const void *cfg, LSEW_dgmFw *dgmFw, const LSEPW_dgmFwServices *defaults, LSEPW *lsepw) |
Translates the event format level to a set of datagram services and initializes the context parameter. | |
int | LSEPW_evt0_level_set (void *ctxs[16], unsigned int level, LSEW_dgmFw *dgmFw, const LSEPW_dgmFwServices *defaults, LSEPW *lsepw) |
Sets the output compression level. |
CVS $Id: LSEPW_evt0.c,v 1.21 2011/03/26 23:32:30 russell Exp $
static unsigned int beg8_add | ( | CDFP_ctx * | cdfp, | |
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Begin datagram callback routine for level 8 formatting.
cdfp | The Compressed Data Format handle | |
beg | The output buffer | |
len32 | The amount of space, in 32-bit words, available in the output buffer |
References CDFP_begin_add(), _CDFP_ctx::lsepw, and LSEPW_ctbAdd().
Referenced by LSEPW_evt0_level_set().
static __inline unsigned int * complete_event | ( | unsigned int * | beg, | |
unsigned int * | rsdEnd, | |||
unsigned int | rsdBytes, | |||
unsigned int | position | |||
) | [static] |
Completes the event by filling out the event record header.
beg | Pointer to the beginning of the event | |
rsdEnd | Pointer to the beginning of the rsd table/beg of event | |
rsdBytes | Length, in bytes, of the result summary table | |
position | Length, in bits, of the event portion |
References LSEP_RECHDR_BRIDGE_M_CHECKSUM, and LSEP_RECHDR_BRIDGE_M_RSD.
Referenced by evt8_ped_add(), and evt8_std_add().
static __inline unsigned int * copy | ( | void * | dst, | |
const void * | src, | |||
size_t | nbytes | |||
) | [static] |
Copies the specified number of bytes from the source to the destination.
dst | The destination | |
src | The source | |
nbytes | The number of bytes to copy. This must be a multiple of 4 bytes |
References ADVANCE.
Referenced by copy_rsdTbl(), dir_cmp_copy(), dir_raw_copy(), evt3_add(), evt4_add(), and evt5_add().
static unsigned int * copy_rsdTbl | ( | unsigned int * | cur, | |
const LSEPW_rsdTbl * | tbl, | |||
unsigned int * | rsdBytes | |||
) | [static] |
Copies the result summary information into the output.
cur | The current write position | |
tbl | The result summary data table of active descriptors | |
rsdBytes | Returned as the number of bytes in the rsd table. This may be 0, if there is no rsd table data. Note that this is does include the summary words. |
References _LSEPW_rsdTbl::cnt, copy(), _LSEPW_rsdTbl::dscs, and _LSEPW_rsdTbl::list.
Referenced by evt0_add(), evt1_add(), evt2_add(), evt3_add(), evt4_add(), evt5_add(), evt8_ped_add(), and evt8_std_add().
static __inline int ctb_trim | ( | const EBF_ctb * | ctb, | |
unsigned int | nbytes | |||
) | [static] |
Trims the trailing zeroes from the specified contributor.
ctb | Pointer to the beginning of the contributor | |
nbytes | Length of the contributor, in bytes |
References ADVANCE.
Referenced by evt3_add(), evt4_add(), and evt5_add().
static unsigned int dir_aux_fill | ( | const EDR_tkr * | tkr, | |
EBF_dirAuxDsc * | aux, | |||
const EBF_dirCtbDsc * | ctb | |||
) | [static] |
Callback routine for EBF_dirAuxDscFill, adding the track length to the list of of TEMs.
tkr | The unpacked tracker data | |
aux | The auxilliary EBF directory structure to fill. | |
ctb | The EBF contribution descriptor |
Referenced by evt8_add().
unsigned int * dir_cmp_copy | ( | unsigned int * | dst, | |
EBF_dir * | dir, | |||
int | nskip | |||
) |
Copies the EBF data associated with the EBF directory into designated buffer, compressing out the multi-packet headers and trimming the trailing zeroes.
dst | The destination buffer. It is assumed the user has determined the size of the copied buffer and has provided sufficient memory. | |
dir | The directory describing the data to be copied. | |
nskip | The number of bytes to skip on the first packet |
References copy(), and evt_trim().
Referenced by evt1_add(), and evt2_add().
static unsigned int dir_evt_checksum | ( | const EBF_dir * | dir | ) | [static] |
Calculates the checksum for the event described by dir.
dir | The EBF directory describing the event |
The event need not be reassembled prior to calling this routine.
Referenced by evt8_ped_add(), and evt8_std_add().
unsigned int * dir_raw_copy | ( | unsigned int * | dst, | |
EBF_dir * | dir | |||
) |
Copies the EBF data associated with the EBF directory into designated buffer.
dst | The destination buffer. It is assumed the user has determined the size of the copied buffer and has provided sufficient memory. | |
dir | The directory describing the data to be copied. |
References copy().
Referenced by evt0_add().
static unsigned int * evt0_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
References copy_rsdTbl(), dir_raw_copy(), LSEP_RECHDR_BRIDGE_M_ERR, LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, and _LSEPW::rsdTbl.
Referenced by LSEPW_evt0_level_set().
static unsigned int * evt1_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
References copy_rsdTbl(), dir_cmp_copy(), LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, and _LSEPW::rsdTbl.
Referenced by evt2_add(), evt3_add(), evt4_add(), evt5_add(), evt8_add(), and LSEPW_evt0_level_set().
static unsigned int * evt2_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The current write pointer | |
len32 | The number of 32-bit words available at cur |
References copy_rsdTbl(), dir_cmp_copy(), evt1_add(), LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, reassemble(), and _LSEPW::rsdTbl.
Referenced by evt3_add(), and LSEPW_evt0_level_set().
static unsigned int * evt3_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
References copy(), copy_rsdTbl(), ctb_trim(), evt1_add(), evt2_add(), LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, and _LSEPW::rsdTbl.
Referenced by LSEPW_evt0_level_set().
static unsigned int * evt4_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
+--------------+--------+-----------------------------------------+ | Bridge (8)|Style(4)| Event Length (20) | +--------------+--------+-----+-----------------------------------+ | AEM Length(8)| Control (7) | Event Sequence Number (17) | +------------+-+--------------+--+------------+-------------------+ | A C T D E r| TEM 0 Length (10) | A C T D E r| TEM 1 Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM 2 Length (10) | A C T D E r| TEM 3 Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM 4 Length (10) | A C T D E r| TEM 5 Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM 6 Length (10) | A C T D E r| TEM 7 Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM 8 Length (10) | A C T D E r| TEM 9 Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM A Length (10) | A C T D E r| TEM B Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM C Length (10) | A C T D E r| TEM D Length (10) | +------------+-------------------+------------+-------------------+ | A C T D E r| TEM E Length (10) | A C T D E r| TEM F Length (10) | +------------+-------------------+------------+-------------------+ | Optional word(s) | +-----------------------------------------------------------------+ Bridge Word In addition to the normal RSD and ERR bits, if bit 1 is 1, then the optional word immediately follows. The format is Bit 31: If set, 5-bit destination address follows in bits 26-30. Bit 0-25: Must be zero; Control 7 CAL Strobe 1 0: No CAL Strobe 4-Range 1 0: No 4-range readou Zero-Suppress 1 0: Zero-suppressed Marker 3 0-3: Value of the marker field Diagnostic 1 0: All TEMs agree with the expected presence or absence of the diagnostic block 1: Some TEMs disagree with the expected presence or absence. ACTDEr A 1 0/1 TEM Contributor Present/Absent C 1 0/1 Cal Data Present/Absent T 1 0/1 Tkr Data Present/Absent D 1 0/1 Diagnostic Data Absent/Present E 1 0/1 Error Block Absent/Present r 1 Reserved, must be 0.
Note the values in the bits for the 7 control bits that must be in common for each contributor are taken as is from the Event Summary Word. In the fields describing each TEM, the value bits for the Diagnostic and Error fields are taken as is, while the values of CAL/TKR present/absent bits are chosen such that the normal value would be 0. Note also this 6 bit field will be 0 in normal running.
References ADVANCE, copy(), copy_rsdTbl(), ctb_trim(), _LSEP_evtToc0_4::ctl, _LSEP_evtBdy0_4::dat, evt1_add(), evt4_hdr_print(), evt4_toc_ctl_format(), LSEP_EVTTOC0_4_TEM_M_ABSENT, LSEP_EVTTOC0_4_TEM_M_NO_CAL, LSEP_EVTTOC0_4_TEM_M_NO_TKR, LSEP_EVTTOC0_4_TEM_V_DGNBLK, LSEP_EVTTOC0_4_TEM_V_ERRBLK, LSEP_EVTTOC0_4_TEM_V_LEN, LSEP_RECHDR_BRIDGE_M_4_5_EXCBLK, LSEP_RECHDR_BRIDGE_M_4_5_NOTACK, LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, _LSEPW::rsdTbl, _LSEP_evtToc0_4::tems, _LSEP_evtBdy0_4::toc, _LSEP_evtToc0_4_ctl::ui, and _LSEP_evtToc0_4_tem::us.
Referenced by evt5_add(), and LSEPW_evt0_level_set().
static void evt4_hdr_print | ( | unsigned int | ebw_mismatch, | |
unsigned int | esw_mismatch | |||
) | [static] |
Prints the header for EVT4/5 debugging.
ebw_mismatch | The mismatched fields of the Event Builder Word | |
esw_mismatch | The mismatched fields of the Event Summary Word |
Referenced by evt4_add(), and evt5_add().
static __inline unsigned int evt4_toc_ctl_format | ( | unsigned int | esw_ui, | |
unsigned int | ebw_mismatch, | |||
unsigned int | esw_mismatch, | |||
unsigned int | aem_len | |||
) | [static] |
Composes the Table of Contents word.
esw_ui | The Event Summary Word | |
ebw_mismatch | The mismatched fields of the Event Builder Word | |
esw_mismatch | The mismatched fields of the Event Summary Word | |
aem_len | The length, in bytes, of the AEM contribution |
References _LSEP_evtToc0_4_ctl_bf::aemlen, _LSEP_evtToc0_4_ctl::bf, _LSEP_evtToc0_4_ctl_bf::calstrobe, _LSEP_evtToc0_4_ctl_bf::dgnblk, _LSEP_evtToc0_4_ctl_bf::evtseq, _LSEP_evtToc0_4_ctl_bf::marker, _LSEP_evtToc0_4_ctl_bf::range, _LSEP_evtToc0_4_ctl_bf::suppress, and _LSEP_evtToc0_4_ctl::ui.
Referenced by evt4_add(), and evt5_add().
static unsigned int * evt5_add | ( | LSEPW * | lsepw, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
lsepw | Standard event writing context | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
+--------------+--------+----------------------------------------+ | Bridge (8)|Style(4)| Event Length (20) | +-------+------+-------------+--+--------------------------------+ | AEM Length(8)| Control (7) | Event Sequence Number (17) | +--------------+----------------+-----------+---+----------------+ | Tem 0 Len (8)| Tem 1 Len (8) | Tem 2 Len (8) | Tem 3 Len (8) | +--------------+----------------+---------------+----------------+ | Tem 4 Len (8)| Tem 5 Len (8) | Tem 6 Len (8) | Tem 7 Len (8) | +--------------+----------------+---------------+----------------+ | Tem 8 Len (8)| Tem 9 Len (8) | Tem A Len (8) | Tem B Len (8) | +--------------+----------------+---------------+----------------+ | Tem C Len (8)| Tem D Len (8) | Tem E Len (8) | Tem F Len (8) | +--------------+----------------+---------------+----------------+ | CAL Empty Contributors (16) | TKR Empty Contributors (16) | +--------------+----------------+---------------+----------------+ | Optional word(s) | +----------------------------------------------------------------+ Bridge Word In addition to the normal RSD and ERR bits, if bit 1 is 1, then the optional word immediately follows. The format is Bit 31: If set, 5-bit destination address follows in bits 26-30. Bit 0-25: Must be zero; Bridge Word CAL/TKR Empty Contributors Word : 0: Absent 1: Present Control 7 CAL Strobe 1 0: No CAL Strobe 4-Range 1 0: No 4-range readou Zero-Suppress 1 0: Zero-suppressed Marker 3 0-3: Value of the marker field Diagnostic 1 0: No TEMs have the diagnostic bit set 1: All TEMs have the diagnostic bit set Len Length, in 32-bit words of the TEM contribution. If this contributor is not enabled (i.e. is not even in the system), then the value of this word will be 0xff.
References ADVANCE, copy(), copy_rsdTbl(), ctb_trim(), _LSEP_evtToc0_5::ctl, _LSEP_evtBdy0_5::dat, evt1_add(), evt4_add(), evt4_hdr_print(), evt4_toc_ctl_format(), LSEP_RECHDR_BRIDGE_M_4_5_EXCBLK, LSEP_RECHDR_BRIDGE_M_4_5_NOTACK, LSEP_RECHDR_BRIDGE_M_5_CALTKR, LSEP_RECHDR_BRIDGE_M_RSD, _LSEPW_rsdTbl::max_bytes, _LSEPW::rsdTbl, _LSEP_evtToc0_5::tems, _LSEP_evtBdy0_5::toc, and _LSEP_evtToc0_4_ctl::ui.
Referenced by evt8_add(), evt8_std_add(), and LSEPW_evt0_level_set().
static unsigned int * evt8_add | ( | CDFP_ctx * | ctx, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32 | |||
) | [static] |
Adds the specified event to the output stream.
ctx | Context parameter | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur |
References dir_aux_fill(), _CDFP_ctx::edr_err, _CDFP_ctx::err, _CDFP_ctx::esb, evt1_add(), evt5_add(), evt8_ped_add(), evt8_std_add(), _CDFP_ctx::gem, _CDFP_ctx::lsepw, _LSEPW_rsdTbl::max_bytes, reassemble(), _LSEPW::rsdTbl, and _CDFP_ctx::tkr.
Referenced by LSEPW_evt0_level_set().
static unsigned int * evt8_ped_add | ( | CDFP_ctx * | ctx, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32, | |||
const CDF_esb * | esb | |||
) | [static] |
Adds the specified event to the output stream.
ctx | Context parameter | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur | |
esb | The Event Summary Block |
References _CDFP_ctx::acd, _CDFP_ctx::cal, complete_event(), copy_rsdTbl(), dir_evt_checksum(), _CDFP_ctx::err, evt8_ped_dgn_add(), _CDFP_ctx::gem, _CDFP_ctx::lsepw, _LSEPW::rsdTbl, and _CDFP_ctx::tkr.
Referenced by evt8_add().
static __inline unsigned int evt8_ped_dgn_add | ( | CDFP_ctx * | ctx, | |
unsigned int * | cur, | |||
unsigned int | pos, | |||
EBF_dir * | dir, | |||
const EDR_cal * | cal, | |||
const EDR_tkr * | tkr | |||
) | [static] |
Compression to add in any potential diagnostic contribution for a pedestal event.
ctx | Context parameter | |
cur | The current write pointer | |
pos | The current bit position | |
dir | The Event directory | |
cal | The unpacked tracker data, passed to the diagnostic compression routine of the tracker data and hence the beginning of either the diagnostic or the error block. | |
tkr | The unpacked tracker data, passed to the diagnostic compression routine and used to locate the end of the tracker data and hence the beginning of either the diagnostic or the error block. |
References _CDFP_ctx::dgn, and _CDFP_ctx::err.
Referenced by evt8_ped_add().
static unsigned int * evt8_std_add | ( | CDFP_ctx * | ctx, | |
EDS_fwIxb * | ixb, | |||
unsigned int * | beg, | |||
unsigned int | len32, | |||
const CDF_esb * | esb | |||
) | [static] |
Adds the specified event to the output stream.
ctx | Context parameter | |
ixb | The information exchanged block | |
beg | The beginning write pointer | |
len32 | The number of 32-bit words available at cur | |
esb | The Event Summary Block |
References _CDFP_ctx::acd, _CDFP_ctx::cal, complete_event(), copy_rsdTbl(), dir_evt_checksum(), _CDFP_ctx::err, evt5_add(), evt8_std_dgn_add(), _CDFP_ctx::gem, _CDFP_ctx::lsepw, _LSEPW::rsdTbl, and _CDFP_ctx::tkr.
Referenced by evt8_add().
static __inline unsigned int evt8_std_dgn_add | ( | CDFP_ctx * | ctx, | |
unsigned int * | cur, | |||
unsigned int | pos, | |||
EBF_dir * | dir, | |||
const EDR_cal * | cal, | |||
const EDR_tkr * | tkr | |||
) | [static] |
Compression to add in any diagnostic contribution for a standard event.
ctx | Context parameter | |
cur | The current write pointer | |
pos | The current bit position | |
dir | The Event directory | |
cal | The unpacked tracker data, passed to the diagnostic compression routine of the tracker data and hence the beginning of either the diagnostic or the error block. | |
tkr | The unpacked tracker data, passed to the diagnostic compression routine and used to locate the end of the tracker data and hence the beginning of either the diagnostic or the error block. |
References _CDFP_ctx::dgn, and _CDFP_ctx::err.
Referenced by evt8_std_add().
static __inline int evt_trim | ( | const EBF_evt * | evt, | |
unsigned int | nbytes | |||
) | [static] |
Computes the length of the event, in bytes, less the number of trailing zeroes.
evt | Pointer to the beginning of the event | |
nbytes | Length of the event in bytes |
References ADVANCE.
Referenced by dir_cmp_copy().
unsigned int* LSEPW_ctbAdd | ( | LSEPW * | lsepw, | |
unsigned int * | cur, | |||
int | len32 | |||
) |
Adds the Physics specific context contribution to the datagram.
lsepw | The physics application specific context | |
cur | Pointer to the where to add the informaton | |
len32 | The length, in 32-bit words, of the available space in the datagram |
References _LSEPW::etx, and _LSEP_etxCtb::hdr.
int LSEPW_evt0_construct | ( | void * | ctxs[16], | |
unsigned int | max_level, | |||
void * | mem, | |||
const void * | cfg, | |||
LSEW_dgmFw * | dgmFw, | |||
const LSEPW_dgmFwServices * | defaults, | |||
LSEPW * | lsepw | |||
) |
Translates the event format level to a set of datagram services and initializes the context parameter.
0,success | ||
-1,Specified | level is not supported | |
-2,Compression | construction failed |
ctxs | The array of contexts to be initialized | |
max_level | The format level, also the initial level selected | |
mem | The memory to carve the contexts from | |
cfg | Additional configuration information | |
dgmFw | The datagram framework handle | |
defaults | The set of default LSEPW datagram services | |
lsepw | The context parameter for the LSEPW datagram services |
References CDFP_construct(), and LSEPW_evt0_level_set().
Referenced by LSEPW_constructC().
int LSEPW_evt0_level_set | ( | void * | ctxs[16], | |
unsigned int | level, | |||
LSEW_dgmFw * | dgmFw, | |||
const LSEPW_dgmFwServices * | defaults, | |||
LSEPW * | lsepw | |||
) |
Sets the output compression level.
0,success | ||
-1,failure |
ctxs | The array of previously initialized user contexts | |
level | The format level | |
dgmFw | The datagram framework handle | |
defaults | The set of default LSEPW datagram services | |
lsepw | The context parameter for the LSEPW datagram services |
References _LSEPW_dgmFwServices::beg, beg8_add(), _LSEPW_dgmFwServices::end, _LSEPW_dgmFwServices::evt, evt0_add(), evt1_add(), evt2_add(), evt3_add(), evt4_add(), evt5_add(), evt8_add(), and _LSEPW_dgmFwServices::usr.
Referenced by LSEPW_evt0_construct(), and LSEPW_levelSet().
int LSEPW_evt0_sizeof | ( | unsigned int | level, | |
void * | cfg | |||
) |
Returns the size, in bytes, of the control structure needed to supprot the specified format level.
level | The maximum format level to support | |
cfg | Level specific configuration parameter |
References CDFP_sizeof().
Referenced by LSEPW_constructC(), and LSEPW_sizeof().
static __inline int reassemble | ( | EBF_dir * | dir, | |
int | npkts, | |||
unsigned int | evt_size | |||
) | [static] |
Reassembles multi-packet events.
dir | The event directory | |
npkts | The number of packets in the event | |
evt_size | The current event size |
Referenced by evt2_add(), and evt8_add().