CBusy -- Abstract base class for Busy module management.


#include <CBusy.h>
 class CBusy {

  virtual =0 void GoBusy();
  virtual =0 void GoClear();


CBusy is an abstract base class for managing busy modules. When the Readout program accepts a trigger, there is a deadtime during which it is not able to accept subsequent trigger. External electronics often needs to know when this deadtime is.

The normal way to provide a signal showing when the computer is busy is to have some electronics module that acts like a latch. The latch is set true by the trigger itself. Software clears the latch when it is able to respond to the next trigger.

Concrete busy classes are created by deriving them from CBusy. An instance of one of these concrete classes should be created and registered with the CExperiment in Skeleton::SetupReadout

Public member functions

virtual =0 void GoBusy();

Pure virtual function the framework calls when, for software reasons, it is about to be unable to respond to triggers for some extended period of time. This will be called when data taking is about to stop due to a end or pause command.

virtual =0 void GoClear();

Pure virtual function the framework calls when it's about to be able to respond to triggers. In addition to calling this member after processing each trigger, the framework will invoke this at some point just prior to starting data taking as a result of a begin or resume command.