The EVENT DATA RECORD consists of a header and data as:
typedef struct event_buffer
    u_short RecordType;		/* 0 event data type= 3              */
    u_short RecordLength;	/* 1 number of bytes in this record  */
    u_short RecordVer;		/* 2 record version or subtype       */
    u_short HeaderBytes;	/* 3 number of bytes in header       */
    u_short EffNumber;		/* 4 eff processor number            */
    u_short StreamID;		/* 5 event stream ID                 */
    u_short EffSequence;	/* 6 eff sequence number             */
    u_short ModeFlags;		/* 7 event format flags              */
    u_short DataLength;		/* 8 number of i*2 data words        */
    u_short ChecksumType;	/* 9 type of checksum               */
    u_short Checksum;		/* 10 checksum value                 */
    u_short EventData[EB_SIZE];	/* event data area                   */
I.e., After 11 words of BUFFER header information, the real data comes. DataLength tells you how many words there are of real data and the ModeFlags tells you how to interpret the data.

At the moment:

RecordVer should be 1, but sometimes it is set to 0 to fool old sorting codes.

You call tell what particular DAQ the data was acquired from by the EffNumber in the event header. If the number was from 1 to 6 it was from the original GS DAQ and the number refers to which EFF/CES memory the data passed through. An EffNumber equal to 7 means it was from the CES RIO2 DAQ and 8 means it was from the Motorola MVME5500 based DAQ.

If you find errors in this GAMMASPHERE documentation, please send E-mail to 'Torben AT'.