GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EDS / V2-10-2 > edsd / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

EBF_tem.h File Reference

Describes the TEM data format from the event builder. More...

#include "EDS/EDS_endianness.h"

Classes

struct  _EBF_tem
 Lays out the format of the TEM data block from the event builder. More...
struct  _EBF_temDiagGCRC_bf
 Layout of the GCRC diagnostic block as bit fields. More...
union  _EBF_temDiagGCRC
 Union of the bit-field representation of one TEM GCRC diagnostic word with an uninterpretted 16-bit representation. More...
struct  _EBF_temDiagGCCC_np
 Layout of one a GCCC as negative/positive pair of GCRCs. More...
union  _EBF_temDiagGCCC
 Union of all the different representations of the one diagnostic GCCC layer word. More...
struct  _EBF_temDiagCal
 The CAL portion of the TEM diagnostic block. More...
struct  _EBF_temDiagGTCC_bf
 Layout of the GCRC diagnostic block as bit fields. More...
union  _EBF_temDiagGTCC
 Union of the 16-bit and bit-field representations of the TEM GTCC diagnostic contribution. More...
struct  _EBF_temDiagGTCCpair
 Layouts of the 32-bit word representing the odd and even halves of either and X/Y hi/lo set of GTCCs. More...
union  _EBF_temDiagTkr
 Union of the various representations of the TKR GTCCs. More...
struct  _EBF_temDiag
 Lays out the TEM diagnostic block. More...

Typedefs

typedef struct _EBF_tem EBF_tem
 Typedef for struct _EBF_tem.
typedef struct
_EBF_temDiagGCRC_bf 
EBF_temDiagGCRC_bf
 Typedef of struct _EBF_temDiagGCRC_bf.
typedef union
_EBF_temDiagGCRC 
EBF_temDiagGCRC
 Typedef for union _EBF_temDiagGCRC.
typedef struct
_EBF_temDiagGCCC_np 
EBF_temDiagGCCC_np
 Typedef for struct _EBF_temDiagGCCC_np.
typedef enum
_EBF_TEMDIAG_GCCC_END_K 
EBF_TEMDIAG_GCCC_END_K
 Typedef for enum _EBF_TEMDIAG_GCCC_END_K.
typedef union
_EBF_temDiagGCCC 
EBF_temDiagGCCC
 Typedef for union _EBF_temDiagGCCC.
typedef struct
_EBF_temDiagCal 
EBF_temDiagCal
 Typedef for struct _EBF_temDiagCal.
typedef struct
_EBF_temDiagGTCC_bf 
EBF_temDiagGTCC_bf
 Typedef for struct _EBF_temDiagGTCC_bf.
typedef union
_EBF_temDiagGTCC 
EBF_temDiagGTCC
 Typedef for union _EBF_temDiagGTCC.
typedef struct
_EBF_temDiagGTCCpair 
EBF_temDiagGTCCpair
 Typedef for the struct _EBF_temDiagGTCCpair.
typedef enum
_EBF_TEMDIAG_GTCCPAIR_K 
EBF_TEMDIAG_GTCCPAIR_K
 Typedef for enum _EBF_TEMDIAG_GTCCPAIR_K.
typedef enum
_EBF_TEMDIAG_GTCCOE_K 
EBF_TEMDIAG_GTCCOE_K
 Typedef for enum _EBF_TEMDIAG_GTCCOE_K.
typedef enum
_EBF_TEMDIAG_GTCC_K 
EBF_TEMDIAG_GTCC_K
 Typedef for enum _EBF_TEMDIAG_GTCC_K.
typedef union
_EBF_temDiagTkr 
EBF_temDiagTkr
 Typedef for union _EBF_temDiagTkr.
typedef struct
_EBF_temDiag 
EBF_temDiag
 Typedef for struct _EBF_temDiag.

Enumerations

enum  _EBF_TEMDIAG_GCCC_END_K {
  EBF_TEMDIAG_GCCC_END_K_NEG = 0,
  EBF_TEMDIAG_GCCC_END_K_POS = 1
}
 Enumeration giving the index of positive and negative ends of a GCCC in a portable fashion. More...
enum  _EBF_TEMDIAG_GTCCPAIR_K {
  EBF_TEMDIAG_GTCCPAIR_K_XLO = 0,
  EBF_TEMDIAG_GTCCPAIR_K_XHI = 1,
  EBF_TEMDIAG_GTCCPAIR_K_YLO = 2,
  EBF_TEMDIAG_GTCCPAIR_K_YHI = 3
}
 Enumerates the order of the GTCC odd/even pairs in terms of XLO, XHI, YLO and YHI. More...
enum  _EBF_TEMDIAG_GTCC_OE_K {
  EBF_TEMDIAG_GTCCOE_K_ODD = 0,
  EBF_TEMDIAG_GTCCOE_K_EVEN = 1
}
 Defines the odd/even index, note that this is ENDIAN dependent. More...
enum  _EBF_TEMDIAG_GTCC_K {
  EBF_TEMDIAG_GTCC_K_XLO_ODD = 0,
  EBF_TEMDIAG_GTCC_K_XLO_EVEN = 1,
  EBF_TEMDIAG_GTCC_K_XHI_ODD = 2,
  EBF_TEMDIAG_GTCC_K_XHI_EVEN = 3,
  EBF_TEMDIAG_GTCC_K_YLO_ODD = 4,
  EBF_TEMDIAG_GTCC_K_YLO_EVEN = 5,
  EBF_TEMDIAG_GTCC_K_YHI_ODD = 6,
  EBF_TEMDIAG_GTCC_K_YHI_EVEN = 7
}
 Enumerates the order of the GTCC pairs in terms of X/Y LO/HI Odd/Event XHI. More...


Detailed Description

Describes the TEM data format from the event builder.

Author:
JJRussell - russell@slac.stanford.edu
  CVS $Id: EBF_tem.h,v 1.5 2009/04/29 16:53:01 russell Exp $

The TEM contributor consists of four major blocks
  1. CAL data
  2. TKR data
  3. TEM diagnostic data (only if requested)
  4. Error block (only if errors)
Since all but the TEM diagnostic block is variable length in nature, not much can be done in terms of a classic C structure. The diagnostic block is laid out here, but see EBF_cal.h, EBF_tkr.h for accessing these blocks once they have been located. The easiest way to locate these blocks is to use the services of EBF_dir.h.

Typedef Documentation

EBF_temDiag

Typedef for struct _EBF_temDiag.

The TEM diagnostic block, if present, is located just after the tracker block. Unfortunately this makes accessing the diagnostic block dependent on the serially decoding the tracker.

EBF_temDiagGCCC_np

Typedef for struct _EBF_temDiagGCCC_np.

There was a design choice to be made. Since it is not possible to make the 32-bit and 16-bit accesses physically the same on both big and little endian machines, the choice was to go with making the 32-bit accesses the same.

EBF_temDiagGTCC_bf

Typedef for struct _EBF_temDiagGTCC_bf.

This structure contains 9 bits, on for each GTRC serviced by a GTCC. Each bit represents the trigger request line with GTRC 0 in the least significant bit and GTRC 8 in the most significant bit

EBF_temDiagGTCCpair

Typedef for the struct _EBF_temDiagGTCCpair.

There was a design choice to be made. Since it is not possible to make the 32-bit and 16-bit accesses physically the same on both big and little endian machines, the choice was to go with making the 32-bit accesses the same.

EBF_temDiagTkr

Typedef for union _EBF_temDiagTkr.

See EBF_TEMDIAG_GTCC_K and EBF_TEMDIAG_GTCCOE_K for a portable way to access the 16-bit values with a GTCC.
The track diagnostic block can be accessed as
  1. Odd/Even pairs, e.g. temDiagTkr->pairs[EBF_TEMDIAG_GTCCPAIRS_K_XLO];
  2. Individual odd or even GTCC, e.g. temDiagTkr->oe[EBF_TEMDIAG_GTCC_OE_XLO][EBF_TEMDIAG_GTCC_OE_K_ODD];
  3. Individual GTCC e.g. temDiagTkr->oe[EBF_TEMDIAG_GTCC_K_XLO_ODD];


Enumeration Type Documentation

enum _EBF_TEMDIAG_GCCC_END_K

Enumeration giving the index of positive and negative ends of a GCCC in a portable fashion.

Enumerator:
EBF_TEMDIAG_GCCC_END_K_NEG  GCRC at the negative end
EBF_TEMDIAG_GCCC_END_K_POS  GCRC at the positive end

enum _EBF_TEMDIAG_GTCC_K

Enumerates the order of the GTCC pairs in terms of X/Y LO/HI Odd/Event XHI.

Enumerator:
EBF_TEMDIAG_GTCC_K_XLO_ODD  GTCC 0 is XLO odd (6)
EBF_TEMDIAG_GTCC_K_XLO_EVEN  GTCC 1 is XLO even (3)
EBF_TEMDIAG_GTCC_K_XHI_ODD  GTCC 2 is XHI odd (7)
EBF_TEMDIAG_GTCC_K_XHI_EVEN  GTCC 3 is XHI even (2)
EBF_TEMDIAG_GTCC_K_YLO_ODD  GTCC 4 is XLO odd (5)
EBF_TEMDIAG_GTCC_K_YLO_EVEN  GTCC 5 is XLO even (0)
EBF_TEMDIAG_GTCC_K_YHI_ODD  GTCC 6 is XHI odd (4)
EBF_TEMDIAG_GTCC_K_YHI_EVEN  GTCC 7 is XHI even (1)

enum _EBF_TEMDIAG_GTCC_OE_K

Defines the odd/even index, note that this is ENDIAN dependent.

Enumerator:
EBF_TEMDIAG_GTCCOE_K_ODD  Big endian, odd is index 0
EBF_TEMDIAG_GTCCOE_K_EVEN  Big endian, even is index 1

enum _EBF_TEMDIAG_GTCCPAIR_K

Enumerates the order of the GTCC odd/even pairs in terms of XLO, XHI, YLO and YHI.

Enumerator:
EBF_TEMDIAG_GTCCPAIR_K_XLO  GTCC pair 0 is odd/even XLO (6,3)
EBF_TEMDIAG_GTCCPAIR_K_XHI  GTCC pair 1 is odd/even XHI (7,2)
EBF_TEMDIAG_GTCCPAIR_K_YLO  GTCC pair 2 is odd/even YLO (5,0)
EBF_TEMDIAG_GTCCPAIR_K_YHI  GTCC pair 3 is odd/even YHI (4,1)


Generated on Thu Sep 2 12:24:08 2010 by  doxygen 1.5.3