Introduction

The ROSCore package is the heart of a ROS/RCD implementation. It includes the IOManager class that some people like to use as the name of the whole application.

Changes since tdaq-01-08-00

Changes to the structure of the package
Functional changes in IOManager
FragmentRequest

A new class FragmentRequest has ben provided which handles all the types of data request formerly handled by subclasses of DataRequest in the ROSIO package. It takes arguments to specify whether or not the requested event fragment should be passed to the monitoring system, whether the data should be cleared after the request etc. The DataRequest class is still available but users are encourgaed to base any new Requests that involve gathering data on the FragmentRequest class (assuming it is not sufficient as it is).

Instead of the buildFragment() method that was implemented by each subclass of DataRequest the FragmentRequest calls a simple interface class BuildFragment (also in this package) which is subclassed according to the type of Fragment being retrieved from the ReadoutModules (it always builds a FullEventFragment).

Changes to the DataOut API
There are now 3 instead of 2 types of DataOut, MAIN, SAMPLED and DEBUGGING. Pointers to each are obtained via the static methods main(),sampled() and debug(). The getSampled() and releaseSampled() methods have been dropped, any mutex protection required should be implemented internally within the DataOut implementations.