CV977Busy -- Concrete busy class using the CAEN V977 module


#include <CV977Busy.h>
 class CV977Busy : public CBusy {

  CV977Busy(uint32_t base, unsigned crate = 0);
  CV977Busy(CCAENV977& module);

  virtual void GoBusy();
  virtual void GoClear();


Busy objects control external hardware that indicates when the readout software is unable to respond to a new trigger. The CAENV977 module achieves this by using its ability to copy input signals to it's outputs in a latchemd manner. It is legal to use a single module as both a trigger and a busy module.

The following signals are used by the module:

0Input (left)

This should be the event trigger the computer sees. This is the trgger input as well for when the module is being used as a trigger.

0Output (right) Computer is busy.
1Output (right) Computer going busy for software reasons (pulsed)

Public member functions

CV977Busy(uint32_t base, unsigned crate = 0);

Constructor that uses the base address and VME crate number to describe the module.

CV977Busy(CCAENV977& module);

Constructor that operates with an existing CCAENV977 module.

virtual void GoBusy();

Called by the framework to pulse the going busy output.

virtual void GoClear();

Called by the framework to clear the busy output.


CBusy(3sbsReadout), CV977Trigger(3sbsReadout)