![]() | ![]() | ![]() | How to structure your readout | ![]() |
Before describing how to modify the readout software, it is important to understand how the readout software organizes the readout. There are two organizations to consider; The logical way in which you programmatically desribe the readout to the software, and the physical layout of the corresponding event in the event buffer.
The new NSCL readout software logically organizes events in chunks. Each chunk is called an Event Segment. The framework supports three types of event segements:
The physical structure of an event is essentially up to the requirements of an experiment. The overall structure of an event buffer is described in Event Data Buffers We recommend that you structure your physical readout in documented packets. The examples in this section will show how to do this, however complete information about documented packets and what they give you is in Documenting event segment packet types
Let's now look at how to specify what is read out. To create a simple readout, you will need to:
// Insert your code below this comment.Add the line:
rExperiment.AddEventSegment(new MyEventSegment);
To use Compound Event segments:
// Insert your code below this comment.Add the lines:
CCompoundEventSegment* p = new CCompoundEventSegment; p->AddSegment(new Myseg1); p->AddSegment(new Myseg2); rExperiment.AddEventSegment(p);
Note that you may also use compound event segments to build up a hierarchical organization of the readout system. To do this, simply create compound event objects and embed them in other compound event objects.
![]() | ![]() | ![]() | How to structure your readout | ![]() |