GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > EMP / V1-3-2

Constituent: asc     Tag: sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

EMP_hdrdefs.h File Reference

Defines a header common to all event-based statistics datagrams. More...

This graph shows which files directly or indirectly include this file:


Data Structures

struct  _EMP_hdrTimetone
 Defines the most general version of the timetone information. More...
struct  _EMP_hdrTimetones
 Captures the information needed to convert a GEM event clock register value into an absolute time. More...
struct  _EMP_hdrEvtSeq
 Hide the access to the long long to avoid alignment issues. More...
struct  _EMP_hdrEvt
 Captures the information needed to uniquely identify this event by sequence and time. More...
struct  _EMP_hdrEvtSpan
 The defining information about the first and last event that went into the sample. More...
struct  _EMP_hdr
 EMP standard header for event-based statistics. More...

Typedefs

typedef _EMP_hdrTimetone EMP_hdrTimetone
 Typedef for struct _EMP_hdrTimetone.
typedef _EMP_hdrTimetones EMP_hdrTimetones
 Typedef for struct _EMP_hdrTimetones.
typedef _EMP_hdrEvtSeq EMP_hdrEvtSeq
 Typedef for struct _EMP_hdrEvtSeq.
typedef _EMP_hdrEvt EMP_hdrEvt
typedef _EMP_hdrEvtSpan EMP_hdrEvtSpan
 Typedef for struct _EMP_hdrEvtSpan.
typedef _EMP_hdr EMP_hdr

Functions

static __inline void EMP__hdrEvtSeqSet (EMP_hdrEvtSeq *dst, unsigned long long int src)
 Hide access to the long long sequence number to avoid big/little endian and alignment issues.
static __inline unsigned long
long int 
EMP__hdrEvtSeqGet (const EMP_hdrEvtSeq *seq)
 Hide access to the long long sequence number to avoid big/little endian and alignment issues.

Detailed Description

Defines a header common to all event-based statistics datagrams.

Author:
JJRussell - russell@slac.stanford.edu
   CVS $Id: EMP_hdrdefs.h,v 1.1 2006/03/01 01:44:38 russell Exp $

This defines a header common to all event-based statistics datagrams. The design goals were to
  1. Record the number of events examined to make the sample This is before any prescaling or event selection, i.e. the total number of events seen

  1. Uniquely identify the span of events encompassed by the sample. The span includes both the time and the event numbers that define the beginning and ending of the sample. The definition of the beginning and ending of a packet is somewhat ambiguious, but the decision is to, where possible, define the beginning of the packet as the time/event number of the last packet of the previous event and the ending of the packet as the time/event number of the last event of this packet. Note that the actual first or last event may have not contributed to the statistics. If this information is not available on the specified events. a counter is maintained that gives the relative event number from the beginning/ending of the packet for the nearest event for which the information is available. For example, the most common occurance is anticipated to be that the time of the last of event of the previous packet is unavailable. In this case, if the time of the first event examined by this packet is available, the beginning count would be set to 1, (0 being reserved to indicate the time is really from the last event of the previous packet.

  1. Avoid recording any information that was specific to a given event monitor. The idea was that the same header could be used to describe a collection of event monitors that would output their data as a group.

Note:
I have left an out for defining a full and abbreviated version. The abbreviated version would omit the flags and and previous GPS clock value if the flags where identically 0 and the difference in the time was precisely 1. This is the usual state of affairs and could make the header considerably smaller. The size of header is not thought to be a problem at this time.
Another thing to keep in mind, this is really the definition of the information that needs to be presented to ground consumer. The creator of a statistics datagram is free to pack this information anyway he chooses as long as when one presents the information to the consumer this structure can be filled out in a meaning way. To that end, a Q version of this structure should be created (in the appropriate Q package) which is the official interface to the ground consumer.

Typedef Documentation

EMP_hdrTimetone
 

Typedef for struct _EMP_hdrTimetone.

This version captures all the available information associated with a timetone/1PPS time strobe. It includes the standard word of error flags, which, in general, will be zero. Therefore, there is an opportunity to cut down on the number of bytes consumed by defining a structure that omits the flags word. One then simply needs a bit to indicate that the flags word is 0. If the need for such a structure arises it should be called EMP_hdrTimetoneAbv


Function Documentation

static __inline unsigned long long int EMP__hdrEvtSeqGet const EMP_hdrEvtSeq seq  )  [static]
 

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

Parameters:
seq Address of the event sequence number to fetch

static __inline void EMP__hdrEvtSeqSet EMP_hdrEvtSeq 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


Generated on Wed Mar 7 03:33:46 2007 by  doxygen 1.4.4