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
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.