This document describes the implementation of a DAQ model. It provides a number of tools to develop a data acquisition system.
To facilitate comunication between different objects, DAQ++ implements a very simple Observer model, in which some of the DAQ++ objects are defined as DAQpp::Observables and some as DAQpp::Observers. Observers subscribe to the messages defined in the Observables and are notified whenever a change occurs.
The basis of the system is the DAQpp::Module object. It represents a detector or DAQ unit. As such, it implements the basic DAQ commands to get ready, start or stop the DAQ, retreive the data, etc.