GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EFC / V4-5-0 > iefc / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

EFA_p.h File Reference

Facility private Event Filter Anaylsis definitions. More...

#include <EFC/EFA_def.h>
#include <EFC/EFA.h>
#include <EDS/EDS_fw.h>
#include <EDS/EBF_gem.h>
#include <EDS/EBF_gemLocate.h>
#include <EFC_time.ih>
#include <EFA_synch.h>

Classes

struct  _EFA_evtInfo
 Holds information about an event processed. More...
struct  _EFA
 Event Filter Analysis control structure. More...

Defines

#define ROUND(_val)   ((((int)(_val)) + 7) & ~(7))
#define EFA_SYNCH

Typedefs

typedef enum _EFA_FLUSH_REASON_K EFA_FLUSH_REASON_K
 Typedef for enum EFA_FLUSH_REASON_K.
typedef struct _EFA_evtInfo EFA_evtInfo
 Typedef for EFA_evtInfo.
typedef enum _EFA_state EFA_state
 Typedef for enum _EFA_state.
typedef struct _EFA EFA
 Typedef for struct EFA.

Enumerations

enum  _EFA_FLUSH_REASON_K {
  EFA_FLUSH_REASON_K_RECORD_UPDATE = -2,
  EFA_FLUSH_REASON_K_RECORD_PROCESS = -1
}
 Reason for calling EFA_flush. More...
enum  _EFA_state {
  EFA_STATE_K_DISABLED = -2,
  EFA_STATE_K_STOPPED = -1,
  EFA_STATE_K_PAUSED = 0,
  EFA_STATE_K_STARTED = 1
}
 The state of EFA (running, paused, started). More...

Functions

void EFA_postprocess (EFA *efa)
 Processes a packet when it has been filled. This is just the logic to drive EFA_flush.
static __inline void EFA__preprocess (EFA *efa, const EBF_evt *evt, EDS_fwIxb *ixb, unsigned int ievt)
 Does any necessary preparation of the analysis control structure before the event is run through the filtering process.
static __inline void EFA__hdrSeqSet (EFA_hdrSeq *dst, unsigned long long int src)
 Hide access to the long long sequence number to avoid big/little endian and alignment issues.


Detailed Description

Facility private Event Filter Anaylsis definitions.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: EFA_p.h,v 1.5 2011/03/28 18:06:31 russell Exp $

Typedef Documentation

EFA

Typedef for struct EFA.

This structure manages the set of result vectors that are to be analyzed.

Typedef for EFA_evtInfo.

This is used to fill out the end_evt structure in EFA_hdr. It is an attempt to fill this structure only when necessary and not every event


Enumeration Type Documentation

Reason for calling EFA_flush.

Enumerator:
EFA_FLUSH_REASON_K_RECORD_UPDATE  Update the record
EFA_FLUSH_REASON_K_RECORD_PROCESS  Update and process the record

enum _EFA_state

The state of EFA (running, paused, started).

Enumerator:
EFA_STATE_K_DISABLED  If EFA is disabled
EFA_STATE_K_STOPPED  Running state is stopped
EFA_STATE_K_PAUSED  Running state is paused
EFA_STATE_K_STARTED  Running state is started


Function Documentation

static __inline void EFA__hdrSeqSet ( EFA_hdrSeq dst,
unsigned long long int  src 
) [static]

Hide access to the long long sequence number to avoid big/little endian and alignment issues.

Parameters:
dst The destintation address
src The source event sequence number

References _EFA_hdrSeq::hi, and _EFA_hdrSeq::lo.

Referenced by EFA_hdrCompose().

static __inline void EFA__preprocess ( EFA efa,
const EBF_evt *  evt,
EDS_fwIxb *  ixb,
unsigned int  ievt 
) [static]

Does any necessary preparation of the analysis control structure before the event is run through the filtering process.

Parameters:
efa The Event Filter Analysis control block
evt The new event
ixb The event information exchange block
ievt The filter event number

References _EFA::beg_evt_fill, EFA_hdrCompose(), EFC__timeElapsedSet(), _EFA_span::hdrs, _EFA_evtInfo::ievt, _EFA::last, _EFA_evtInfo::ppstime, _EFA::span, _EFA_evtInfo::trgtime, and _EFA_evtInfo::xsequence.

Referenced by EFC_filter().

void EFA_postprocess ( EFA efa  ) 

Processes a packet when it has been filled. This is just the logic to drive EFA_flush.

Parameters:
efa The event filter analysis control structure

References EFA_flush(), EFA_FLUSH_REASON_K_RECORD_PROCESS, EFA_FLUSH_REASON_K_RECORD_UPDATE, _EFA::flushLeft, _EFA::flushLimit, _EFA::postLeft, and _EFA::postLimit.

Referenced by EFC_filter().


Generated on Wed Jan 4 14:13:22 2012 by  doxygen 1.5.8