Ringbuffers are NSCLDAQ's primary dataflow mechanism. The Rings tab of the program configuration editor allows you to define the rings you need for your experiment. Note that proxy rings [1] should not be created. Only ringbuffers for which you will provide data sources
Here is what the empty Rings tab looks like:
The host/ring column shows either the hostname in which the ring is defined or the ring id depending on the table line. This will be a bit clearer when we show a filled in Rings table. The ring column shows the ring name. This must be unique within the host, however the same ring name can be used in different hosts (not recommended as it can be confusing). The source id column displays the optional source id for the column. When an event builder gets data from a ring, the source id of that ring is used to configure the ring data source's source id.To define a new ring, right click anwhere in the table and select New... from the pop up menu. This will bring up a dialog box that allows you to fill in the name of the ring, select its host from the set of hosts defined and optinoally set a source id if the output of the ring will be a data source for the event builder.
To modify a ring's definition, right click it and choose Edit... from the pop up menu. The same dialog you used to define the ring will pop up, pre-stocked with the current ring definition. after making appropriate changes, clicking Ok modifies the definition of that ring
To delete a ring definition, again right click the ring and select Delete... from the popup menu.
The figure below shows what a filled in Rings tab might look like.
As you can see the data are arranged as a shallow tree. The top levels of the trees are hosts defined in the system. The second level of the tree are rings that are defined to be created within that host.[1] | A proxy ring is a ring buffer that is created to allow access to a ring buffer located in a remote system. NSCLDAQ sets up a network data flow between the remote ring and the proxy ring. |