GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> XFC / V0-3-2 > ddfc / rhel5-64
#include <EFC/EDM.h>
#include <EFC/EFC_edsFw.h>
#include <EFC/EFC.h>
#include <XFC/DFC.h>
#include <XFC/DFC_cfg.h>
#include <XFC/DFC_status.h>
#include <DFC_def.h>
#include <DFC_resultDef.h>
#include <EDS/EDS_fw.h>
#include <EDS/EBF_gem.h>
#include <EDS/EBF_gemLocate.h>
#include <CDM/CDM_pubdefs.h>
#include <stdlib.h>
#include <string.h>
Defines | |
#define | _code EDM_CODE |
#define | _info(...) |
#define | _debug(...) |
Functions | |
static __inline int | isVetoed (unsigned int status, unsigned int vetoes) |
Checks whether any of the veto bits are up. | |
static __inline int | dfcFilter (DFC *dfc, unsigned int pktBytes, EBF_pkt *pkt, EBF_siv siv, EDS_fwIxb *ixb, unsigned int vetoes, DFC_result *result) |
Determines the fate of 1 event. | |
static int | compileCfgPrms (DfcCfgPrms *cfg, const DFC_DB_prms *prms) |
Compiles/commits the set of user defined parameters into the the configuration block. | |
int | DFC_sizeof (int cnt) |
Sizes the diagnostic filtering control structure. | |
int | DFC_cfgSizeof (void) |
Sizes the diagnostic filtering configuration as it is used in the actual filtering progam. | |
int | DFC_resultSizeof (const DFC *dfc) |
Returns the size, in bytes, of one result vector. | |
int | DFC_cfgCompile (DFC_cfg *cfg, const DFC_DB_prms *prms) |
Implements the transformation of the configuration parameters as specified by the user, cfg, into the internal form, ctlCfg. | |
int | DFC_cfgSchemaCompile (DFC_cfg *cfg, const DFC_DB_schema *schema) |
Implements the transformation of the configuration parameters as specified by the user, cfg, into the internal form, ctlCfg. | |
const DFC_cfg * | DFC_cfgSet (DFC *dfc, DFC_cfg *cfg) |
Makes the specified internal representation of the configuration parameters the current active one. | |
int | DFC_filter (DFC *dfc, unsigned int pktBytes, EBF_pkt *pkt, EBF_siv siv, EDS_fwIxb *ixb, unsigned int vetoes, DFC_result *result) |
Determines the fate of 1 event. | |
unsigned int | DFC_fwNeeds (void) |
Returns a bit mask of the EDS_fw needs. | |
unsigned int | DFC_fwObjects (void) |
Returns a bit mask of the EDS_fw objects used by the heavy ion filter. |
CVS $Id: DFC.c,v 1.4 2012/01/04 20:36:41 russell Exp $
static int compileCfgPrms | ( | DfcCfgPrms * | cfg, | |
const DFC_DB_prms * | prms | |||
) | [static] |
Compiles/commits the set of user defined parameters into the the configuration block.
cfg | The destination parameter configuration block | |
prms | The set of user configuration parameters |
References _DfcCfgPrms::gem, and _DfcCfgGem::map.
Referenced by DFC_cfgCompile().
int DFC_cfgCompile | ( | DFC_cfg * | cfg, | |
const DFC_DB_prms * | prms | |||
) |
Implements the transformation of the configuration parameters as specified by the user, cfg, into the internal form, ctlCfg.
0 | Successful | |
-1 | Unrecognized or non-backwardly compatiable user configuration version number. |
cfg | Filled in with the internal form of the configuration parameters | |
prms | The user form of the configuration parameters |
References compileCfgPrms(), _DFC_cfg::prms, and _DFC_cfg::titles.
Referenced by DFC_cfgSchemaCompile().
int DFC_cfgSchemaCompile | ( | DFC_cfg * | cfg, | |
const DFC_DB_schema * | schema | |||
) |
Implements the transformation of the configuration parameters as specified by the user, cfg, into the internal form, ctlCfg.
0 | Successful | |
-1 | Unrecognized or non-backwardly compatiable user configuration version number. |
cfg | Filled in with the internal form of the configuration parameters | |
schema | The user form of the configuration schema |
References DFC_cfgCompile(), and _DFC_cfg::prms.
Makes the specified internal representation of the configuration parameters the current active one.
dfc | The diagnostic filter control structure | |
cfg | The internal representation of the configuration constants |
References _DFC::cfg.
int DFC_cfgSizeof | ( | void | ) |
Sizes the diagnostic filtering configuration as it is used in the actual filtering progam.
ctlCfg = malloc (DFC_cfgSizeof ()); status = DFC_cfgCompile (cfg, usrPrms); DFC_cfgSet (dfc, cfg);
int DFC_filter | ( | DFC * | dfc, | |
unsigned int | pktBytes, | |||
EBF_pkt * | pkt, | |||
EBF_siv | siv, | |||
EDS_fwIxb * | ixb, | |||
unsigned int | vetoes, | |||
DFC_result * | result | |||
) |
Determines the fate of 1 event.
< | 0, rejected | |
==0,undecided | ||
> | 0, accepted |
dfc | The diagnostic filter control structure | |
pktBytes | The number of bytes in pkt, includes the packet header | |
pkt | The event data packet | |
siv | The packet's state information vector | |
ixb | The information exchange block | |
vetoes | The active vetoes | |
result | The filter result vector |
References dfcFilter().
unsigned int DFC_fwNeeds | ( | void | ) |
Returns a bit mask of the EDS_fw needs.
Referenced by dfc_construct().
unsigned int DFC_fwObjects | ( | void | ) |
Returns a bit mask of the EDS_fw objects used by the heavy ion filter.
Referenced by dfc_construct().
int DFC_resultSizeof | ( | const DFC * | dfc | ) |
Returns the size, in bytes, of one result vector.
The | size, in bytes, of one result vector |
dfc | The configuration control structure |
int DFC_sizeof | ( | int | cnt | ) |
Sizes the diagnostic filtering control structure.
cnt | Number of configurations to accommodate |
static __inline int dfcFilter | ( | DFC * | dfc, | |
unsigned int | pktBytes, | |||
EBF_pkt * | pkt, | |||
EBF_siv | siv, | |||
EDS_fwIxb * | ixb, | |||
unsigned int | vetoes, | |||
DFC_result * | result | |||
) | [static] |
Determines the fate of 1 event.
dfc | The diagnostic filter control structure | |
pktBytes | The number of bytes in pkt, includes the packet header | |
pkt | The event data packet | |
siv | The packet's state information vector | |
ixb | The information exchange block | |
vetoes | The list of active vetoes | |
result | The filter result vector |
References _DFC_result::beg, _DFC::cfg, DFC_STATUS_M_STAGE_GEM, DFC_STATUS_M_VETOED, _DFC_result::evtNum, _DFC_result::gem, _DfcCfgPrms::gem, ievt_store, isVetoed(), _DfcCfgGem::map, _DFC_cfg::prms, _DFC_result::status, and tmr_store.
Referenced by DFC_filter().
static __inline int isVetoed | ( | unsigned int | status, | |
unsigned int | vetoes | |||
) | [static] |
Checks whether any of the veto bits are up.
status | The current set of status bits | |
vetoes | The set of veto bits |
Referenced by dfcFilter().