2.5. Packets and packet definition files

The NSCL Data acquisition system must often incorporate data from several supported devices into a single event. In order to allow the maintainers of these devices to independently build and maintain data acquisition and analysis software for their devices, the NSCL has adopted a self describing format for the body of an event that allows code to recognize the sections of an event it is responsible for and ignore sections of the event it does not know about.

The core of this self describing structure is the packet structure. A packet is a segment of an event that is created by a logical part of the readout program and can be analyzed independently by an event processor registered in SpecTcl. The format of a packet is shown below:

WordContents
SizeSelf inclusive packet word count
IdDescribes what packet contains
BodyBody - 2 words of packet data

The id of a packet identifies what the packet body contains (e.g. data from the Segmented Germanium Array SeGA). Daniel Bazin maintains a registry of these ids. If you want to allocate a new id for a device you are constructing, contact him. The current id registry is available online at at the NSCL user information website where they are referred to as tags

As far as bufdump is concerned, the significance of this packet structure is that if it knows the packet id assignments, it can represent the body of each event as a series of packets. This representation can identify by name the packets in each event.

Bufdump uses three mechanisms to learn about the packet id assignments: