Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
|
This page describes PixieStd.cpp used for event creation and should not have to be altered on a regular basis. PixieStd includes five important functions which control event creation:
PixieStd is the interface between the HRIBF scan program and the Pixie16 C++ analysis. hissub_() is called from scan with two variables. The first, ibuf, is a pointer to the array where the raw data is stored. The second, nhw, describes the amount of raw data that is stored in the array.
In a typical experiment with the new pixie16 readout (default), all Pixie16 modules are read out when one module has reached its maximum number of events or FIFO threshold. This is programmed during experimental setup. This spill of data is divided into smaller chunks of data for transmission across the network. hissub_() collects the chunks of data to reassemble the complete spill.
Once the spill is reassembled, hissub_sec() scans the reconstructed buffer to extract individual triggered channels using the ReadBuffData() function. The individual channels are inserted into the list of events and once the spill has been completely scanned the list is sorted based on the event time of each individual channel.
After the list of channels that triggered in the current spill has been sorted by time, ScanList() is called. This function scans the list of channels and groups channels with similar times together into events. Starting from the beginning of the list and continuing to the end, an individual channel event time is compared with the previous channel event time to determine if they occur within the time period defined by the EventWidth variable (in units proper to the revision) and