Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

CMyExperiment Class Reference

Inheritance diagram for CMyExperiment:

CReadoutMain CReadoutMain List of all members.

Public Methods

 CMyExperiment ()
virtual ~CMyExperiment ()
virtual void SetupRunVariables (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)
virtual void SetupStateVariables (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)
virtual void AddUserCommands (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)
 CMyExperiment ()
virtual ~CMyExperiment ()
virtual void SetupRunVariables (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)
virtual void SetupStateVariables (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)
virtual void AddUserCommands (CExperiment &rExperiment, CInterpreterStartup &rStartup, CInterpreterCore &rCore)

Protected Methods

virtual void SetupReadout (CExperiment &rExperiment)
virtual void SetupScalers (CExperiment &rExperiment)
virtual void SetupReadout (CExperiment &rExperiment)
virtual void SetupScalers (CExperiment &rExperiment)

Private Methods

 CMyExperiment (const CMyExperiment &rhs)
CMyExperiment & operator= (const CMyExperiment &rhs)
int operator== (const CMyExperiment &rhs)
int operator!= (const CMyExperiment &rhs)
 CMyExperiment (const CMyExperiment &rhs)
CMyExperiment & operator= (const CMyExperiment &rhs)
int operator== (const CMyExperiment &rhs)
int operator!= (const CMyExperiment &rhs)

Detailed Description

Sample implementation of an experiment specific1 tailoring of the production readout software.

Definition at line 319 of file MyExperiment.cpp.


Constructor & Destructor Documentation

CMyExperiment::CMyExperiment   [inline]
 

Definition at line 324 of file MyExperiment.cpp.

virtual CMyExperiment::~CMyExperiment   [inline, virtual]
 

Definition at line 326 of file MyExperiment.cpp.

CMyExperiment::CMyExperiment const CMyExperiment &    rhs [private]
 

CMyExperiment::CMyExperiment   [inline]
 

Definition at line 147 of file rdotest/MyExperiment.cpp.

virtual CMyExperiment::~CMyExperiment   [inline, virtual]
 

Definition at line 149 of file rdotest/MyExperiment.cpp.

CMyExperiment::CMyExperiment const CMyExperiment &    rhs [private]
 


Member Function Documentation

virtual void CMyExperiment::AddUserCommands CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

Must be overridden if you want to add additional readout specific commands:

Parameters:
rExperiment  - Refers to the experiment.
rStartup  - Refers to the interpreter startup thread.
rCore  - Refers to the core readout tcl extensions.
The default implementation is a no-op and can be overridden.

Note:
This member is called int he context of the interpreter thread therefore noe synchronization is required with the interpreter.

Reimplemented from CReadoutMain.

void CMyExperiment::AddUserCommands CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

Add user written commands in this function. User written commands should be objects derived from CDAQTCLProcessor This will ensure that command execution will be properly synchronized to the rest of the application.

Parameters:
rExperiment  - CExperiment& the experiment object.
rStartup  - CInterpreterStartup& the interpreter startup object. Normally you will use this object to locate the interpreter on which your commands will be registered.
rCore  - CInterpreterCore& the core TCL interpreter add on functionality.
Note:
The base class creates key command extensions (e.g. begin) it is important that the base class version of this function be called.

Reimplemented from CReadoutMain.

Definition at line 513 of file MyExperiment.cpp.

References CReadoutMain::AddUserCommands().

int CMyExperiment::operator!= const CMyExperiment &    rhs [private]
 

int CMyExperiment::operator!= const CMyExperiment &    rhs [private]
 

CMyExperiment& CMyExperiment::operator= const CMyExperiment &    rhs [private]
 

CMyExperiment& CMyExperiment::operator= const CMyExperiment &    rhs [private]
 

int CMyExperiment::operator== const CMyExperiment &    rhs [private]
 

int CMyExperiment::operator== const CMyExperiment &    rhs [private]
 

virtual void CMyExperiment::SetupReadout CExperiment   rExperiment [protected, virtual]
 

This must be overridden to create the user's readout procedures

Parameters:
rExperiment  - reference to the experiment object.

Reimplemented from CReadoutMain.

void CMyExperiment::SetupReadout CExperiment   rExperiment [protected, virtual]
 

In SetupReadout, you are expected to add Event segments to your experiment. Event segments read out logical sections of your experiment. The following types of event segments are available for your use:

  • Simple event segments: These are derived from the abstract base class CEventSegment, and are intended to readout a coherent piece of an experiment.
Compatibility mode segments: These are objects of type CTraditionalEventSegment they provide all the callouts to code that lives in an old-style skeleton.cpp file. You will need to modify the skeleton makefile to add the oldstyle skeleton.cpp to the build. There can be only one CTraditionalEventSegment in the system due to function naming.
  • Compound segments: These are objects of type CCompoundEventSegment They consist of an ordered list of event segments of any type (including if you like other compound event segments.
Parameters:
rExperiment  - CExperiment& - A reference to the experiment object that runs the readout. You will normally be making calls to CExperiment::AddEventSegment to register your own event segments in the experiment readout

Reimplemented from CReadoutMain.

Definition at line 385 of file MyExperiment.cpp.

References CExperiment::AddEventSegment(), and CReadoutMain::SetupReadout().

virtual void CMyExperiment::SetupRunVariables CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

This must be overridden if the experimenter wants to provide any initial run variables.

Parameters:
rExperiment  - reference to the experiment object.
rStartup  - Reference to the Tcl interpreter startup thread.
rCore  - Reference to the core readout Tcl extensions.
The default implementation is a no-op and can be overridden.

Note:
This member is called back from the interpreter core in the context of the interpreter startup thread. Therefore, no syncrhonization is required with the interpreter.

Reimplemented from CReadoutMain.

void CMyExperiment::SetupRunVariables CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

In this function create and define any run variables you need. A run variable is a TCL Variable whose value is logged to the event stream. Run variables are always modifiable.

If, for example, you have a thermocouple that is monitoring the temperature of a temperature senstive detector, you could create a RunVariable, monitor the temperature periodically and update the RunVariable. See CRunVariable and CRunVariableCommand Run variables can also be create at the command line using the runvar command.

Parameters:
rExperiment  - CExperiment& the experiment object.
rStartup  - CInterpreterStartup& the interpreter startup object.
rCore  - CInterpreterCore& the core TCL interpreter add on functionality. Normally you will obtain the run variable command object and do CRunVariableCommand::Create calls to add your run variables.
Note:
The base class creates key run variables. It is therefore very important to be sure the base class version of this function is called.

Reimplemented from CReadoutMain.

Definition at line 446 of file MyExperiment.cpp.

References CInterpreterCore::getRunVariables(), and CReadoutMain::SetupRunVariables().

virtual void CMyExperiment::SetupScalers CExperiment   rExperiment [protected, virtual]
 

This must be overridden to create the user's scaler readout procedure.

Parameters:
rExperiment  - reference to the experiment object.

Reimplemented from CReadoutMain.

void CMyExperiment::SetupScalers CExperiment   rExperiment [protected, virtual]
 

This function allows you to describe your scaler readout configuration. This is done by inserting scalers into the experiment object. Scalers come in the following flavors (all derived from CScaler

Parameters:
rExperiment  - CExperiment& reference to the experiment object. Normally you will call CExperiment::AddScalerModule to add scaler modules to the readout.

Reimplemented from CReadoutMain.

Definition at line 409 of file MyExperiment.cpp.

References CReadoutMain::SetupScalers().

virtual void CMyExperiment::SetupStateVariables CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

This must be overridden if the experimenter wants to provide any run state variables. If you override this be sure to call the base class member e.g.: CReadoutMain::SetupStateVariables(rExperiment, Interp) as the first executable line.

Parameters:
rExperiment  - Reference to the experiment object.
rStartup  - Reference to the interpreter startup thread.
rCore  - Reference to the set of core readout extensions.
The default implementation can be overridden and is an no-op.
Note:
This function is called in the context of the tcl interpreter thread and therefore does not need to synchronize with it in any way.

Reimplemented from CReadoutMain.

void CMyExperiment::SetupStateVariables CExperiment   rExperiment,
CInterpreterStartup &    rStartup,
CInterpreterCore   rCore
[virtual]
 

This must be overridden if the experimenter wants to provide any run state variables. If you override this be sure to call the base class member e.g.: CReadoutMain::SetupStateVariables(rExperiment, Interp) as the first executable line.

Parameters:
rExperiment  - Reference to the experiment object.
rStartup  - Reference to the interpreter startup thread.
rCore  - Reference to the set of core readout extensions.
The default implementation can be overridden and is an no-op.
Note:
This function is called in the context of the tcl interpreter thread and therefore does not need to synchronize with it in any way.

Reimplemented from CReadoutMain.

Definition at line 483 of file MyExperiment.cpp.

References CInterpreterCore::getStateVariables(), and CReadoutMain::SetupStateVariables().


The documentation for this class was generated from the following files:
Generated on Fri Nov 8 13:37:16 2002 for Event Readout system. by doxygen1.2.16