NSCL DDAS  12.1-001
Support for XIA DDAS at FRIB
Public Member Functions | List of all members
DDASReadoutMain Class Reference

Production readout class for DDAS systems. More...

#include <DDASReadoutMain.h>

Inheritance diagram for DDASReadoutMain:
Inheritance graph
[legend]
Collaboration diagram for DDASReadoutMain:
Collaboration graph
[legend]

Public Member Functions

virtual void SetupReadout (CExperiment *pExperiment)
 Setup the Readout. More...
 
virtual void SetupScalers (CExperiment *pExperiment)
 Setup the scaler Readout. More...
 
virtual void addCommands (CTCLInterpreter *pInterp)
 Used to add Tcl commands. See the CTCLObjectProcessor class. More...
 
virtual void SetupRunVariables (CTCLInterpreter *pInterp)
 Setup run variables. More...
 
virtual void SetupStateVariables (CTCLInterpreter *pInterp)
 Setup state variables. More...
 

Detailed Description

Production readout class for DDAS systems.

DDASReadoutMain is the 'application' class for the production readout software for DDAS systems i.e. systems utilizing XIA digitizer modules. The application class has overridden and implemented several member functions from the CReadoutMain base class for use in this application.

These are:

For more information about how to tailor this code, see the SBS readout CReadoutMain and Skeleton classes.

Member Function Documentation

◆ addCommands()

void DDASReadoutMain::addCommands ( CTCLInterpreter *  pInterp)
virtual

Used to add Tcl commands. See the CTCLObjectProcessor class.

Parameters
pInterpPointer to CTCLInterpreter object that encapsulates the Tcl_Interp* of our main interpreter.

Register the statistics command in addition to all the usual stuff from the base class.

◆ SetupReadout()

void DDASReadoutMain::SetupReadout ( CExperiment *  pExperiment)
virtual

Setup the Readout.

Parameters
pExperimentPointer to the experiment object.

This function must define the trigger as well as the response of the program to triggers. A trigger is an object that describes when an event happens. Triggers are objects derived from CEventTrigger. In this case we use the CMyTrigger class to define the trigger object.

Note
This function is incompatible with the pre-10.0 software in that for the 10.0 software, there was a default trigger that did useful stuff. The default trigger for this version is a NULL trigger (a trigger that never happens). You must create a trigger object and register it with the experiment object via its EstablishTrigger member funtion else you'll never get any events.

◆ SetupRunVariables()

void DDASReadoutMain::SetupRunVariables ( CTCLInterpreter *  pInterp)
virtual

Setup run variables.

Parameters
pInterpPointer to CTCLInterpreter object that encapsulates the Tcl_Interp* of our main interpreter.

A run variable is a Tcl variable whose value is periodically written to the output event stream. Run variables are intended to monitor things that can change in the middle of a run.

Note
The base class may create run variables so see the comments in the function body about where to add code.

See also: SetupStateVariables

◆ SetupScalers()

void DDASReadoutMain::SetupScalers ( CExperiment *  pExperiment)
virtual

Setup the scaler Readout.

Parameters
pExperimentPointer to the experiment object.

We simply use a timed trigger to read out scaler data at regular intervals. By default the scaler read interval is 16 seconds. This can be overridden using the environment variable SCALER_SECONDS or by specifying a value using the -scalerseconds option when invoking this program with ddasReadout.

◆ SetupStateVariables()

void DDASReadoutMain::SetupStateVariables ( CTCLInterpreter *  pInterp)
virtual

Setup state variables.

Parameters
pInterpPointer to CTCLInterpreter object that encapsulates the Tcl_Interp* of our main interpreter.

A state variable is a Tcl variable whose value is logged whenever the run transitions to active. While the run is not halted, state variables are write protected. State variables are intended to log a property of the run. Examples of state variables created by the production readout framework are run and title which hold the run number, and the title.

Note
The base class may create state variables so see the comments in the function body about where to add code.

See also: SetupRunVariables


The documentation for this class was generated from the following files: