NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Namespaces Files Functions Variables Macros Pages
Skeleton.h
1 /*
2  This software is Copyright by the Board of Trustees of Michigan
3  State University (c) Copyright 2005.
4 
5  You may use this software under the terms of the GNU public license
6  (GPL). The terms of this license are described at:
7 
8  http://www.gnu.org/licenses/gpl.txt
9 
10  Author:
11  Ron Fox
12  NSCL
13  Michigan State University
14  East Lansing, MI 48824-1321
15 */
16 
17 #ifndef __SKELETON_H
18 #define __SKELETON_H
19 
20 #ifndef __CREADOUTMAIN_H
21 #include <CReadoutMain.h>
22 #endif
23 
24 class CTCLInterpreter;
25 class CExperiment;
26 
27 /*
28 ** This file is a skeleton for the production readout software for
29 ** NSCLDAQ 10.0 and later. The programmatic interface
30 ** to NSCLDAQ 10.0 at the application level is a 'close match' to that
31 ** of earlier versions. The software itself is a complete re-write so
32 ** some incompatibilities may exist. If you find an incompatibility,
33 ** please post it at daqbugs.nscl.msu.edu so that it can be documented,
34 ** and addressed. Note that this does not necessarily mean that
35 ** the incompatibility will be 'fixed'.
36 **
37 ** ------------------------------------------------------------
38 **
39 ** How to use this skeleton:
40 **
41 ** This skeleton is the 'application' class for the production readout software.
42 ** The application class has several member functions you can override
43 ** and implement to perform user specific initialization.
44 ** These are:
45 ** AddCommands - Extend the Tcl interpreter with additional commands.
46 ** SetupRunVariables - Creates an initial set of run variables.
47 ** SetupStateVariables - Creates an initial set of state variables.
48 ** SetupReadout - Sets up the software's trigger and its response to
49 ** that trigger.
50 ** SetupScalers - Sets up the response to the scaler trigger and, if desired,
51 ** modifies the scaler trigger from a periodic trigger controlled
52 ** by the 'frequency' Tcl variable to something else.
53 **
54 ** For more information about how to tailor this skeleton, see
55 ** the comments in Skeleton.cpp
56 */
57 class Skeleton : public CReadoutMain
58 {
59 private:
60  // if you need per instance data add it here:
61 
62 public:
63  // Overrides for the base class members described above.
64 
65  virtual void addCommands(CTCLInterpreter* pInterp);
66  virtual void SetupRunVariables(CTCLInterpreter* pInterp);
67  virtual void SetupStateVariables(CTCLInterpreter* pInterp);
68  virtual void SetupReadout(CExperiment* pExperiment);
69  virtual void SetupScalers(CExperiment* pExperiment);
70 
71 private:
72  // If you want to define some private member utilities, define them here.
73 
74 };
75 
76 #endif
virtual void SetupRunVariables(CTCLInterpreter *pInterp)
Definition: Skeleton.cpp:247
virtual void SetupReadout(CExperiment *pExperiment)
Definition: Skeleton.cpp:114
virtual void SetupScalers(CExperiment *pExperiment)
Definition: Skeleton.cpp:167
virtual void addCommands(CTCLInterpreter *pInterp)
Definition: Skeleton.cpp:211
virtual void SetupStateVariables(CTCLInterpreter *pInterp)
Definition: Skeleton.cpp:277
Definition: Skeleton.h:57