Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

SctCalibrationController::Test Class Reference

This a record of each Test that is done. More...

#include <Test.h>

Collaboration diagram for SctCalibrationController::Test:

Collaboration graph
[legend]

Public Member Functions

 Test (const TestData &data, const list< string > &list)
 Construct a Test.

 ~Test ()
 Removes the TestData object from IS.

void addScan (Sct_SctApi_T_Scan *scan)
 Adds a Scan to this Test.

const TestDatagetData () const
 Get access to the underlying TestData.

list< string > getModuleList () const
 Get the module list.

void setStatus (TestData::status_E status)
 Set the status of this Test - see TestData.

string getUniqueID () const
 Returns a uniqueID for this Test - used for the name in IS.

Sct_SctApi_T_Scan * getScan (unsigned int index) const
 Retrieve one of the constituent Scans
Exceptions:
InvalidArgumentError if index is too large.



Private Types

typedef vector< Sct_SctApi_T_Scan * > ScanVector
 A vector of Scans!


Private Member Functions

void publish ()
 Publish or update the TestData object in IS.

void withdraw ()
 Remove the TestData object from IS.


Private Attributes

TestData data
 Most of the underlying data.

ScanVector scans
 The constituent Scans.


Detailed Description

This a record of each Test that is done.

It contains references to the Scans that made it up and also the TestData object that is available in IS.

Definition at line 24 of file Test.h.


Member Typedef Documentation

typedef vector<Sct_SctApi_T_Scan*> SctCalibrationController::Test::ScanVector [private]
 

A vector of Scans!

Definition at line 94 of file Test.h.


Constructor & Destructor Documentation

SctCalibrationController::Test::Test const TestData data,
const list< string > &  list
 

Construct a Test.

Puts data into IS.

Parameters:
data the TestData that defines this Test
list the list of modules this Test is done on (for ease!)
Exceptions:
InvalidArgumentError if data is not consistent.

Definition at line 14 of file Test.cpp.

References data, getUniqueID(), TestData::modules, TestData::modules_size, TestData::nScans, publish(), TestData::startTime, TestData::testPoints, and TestData::testPoints_size.

Here is the call graph for this function:

SctCalibrationController::Test::~Test  ) 
 

Removes the TestData object from IS.

Definition at line 39 of file Test.cpp.

References withdraw().

Here is the call graph for this function:


Member Function Documentation

void SctCalibrationController::Test::addScan Sct_SctApi_T_Scan *  scan  ) 
 

Adds a Scan to this Test.

You may only add the correct number of Scans.

Parameters:
scan the Scan to add.
Exceptions:
InvalidArgumentError if too many Scans are added

Definition at line 43 of file Test.cpp.

References data, getUniqueID(), TestData::nScans, and scans.

Here is the call graph for this function:

const TestData & SctCalibrationController::Test::getData  )  const
 

Get access to the underlying TestData.

Definition at line 49 of file Test.cpp.

References data.

list< string > SctCalibrationController::Test::getModuleList  )  const
 

Get the module list.

Note:
Nothrow

Definition at line 68 of file Test.cpp.

References data, TestData::modules, and TestData::modules_size.

Sct_SctApi_T_Scan * SctCalibrationController::Test::getScan unsigned int  index  )  const
 

Retrieve one of the constituent Scans

Exceptions:
InvalidArgumentError if index is too large.

Definition at line 59 of file Test.cpp.

References getUniqueID(), and scans.

Here is the call graph for this function:

string SctCalibrationController::Test::getUniqueID  )  const
 

Returns a uniqueID for this Test - used for the name in IS.

Definition at line 53 of file Test.cpp.

References data, TestData::runNumber, and TestData::startScanNumber.

Referenced by addScan(), getScan(), publish(), setStatus(), Test(), and withdraw().

void SctCalibrationController::Test::publish  )  [private]
 

Publish or update the TestData object in IS.

Won't throw - just reports errors

Definition at line 96 of file Test.cpp.

References data, getUniqueID(), and Sct::AbstractThrowable::sendToMrs().

Referenced by setStatus(), and Test().

Here is the call graph for this function:

void SctCalibrationController::Test::setStatus TestData::status_E  status  ) 
 

Set the status of this Test - see TestData.

A Test may only have the COMPLETED state if all the Scans have been added. Once a Test has entered the ABORTED or COMPLETED states, it cannot be changed.

Exceptions:
InvalidArgumentError if not enough Scans have been added or if the status is currently ABORTED or COMPLETED and status is not ABORTED or COMPLETED respectively.

Definition at line 76 of file Test.cpp.

References data, TestData::endTime, getUniqueID(), TestData::nScans, publish(), scans, and TestData::status.

Here is the call graph for this function:

void SctCalibrationController::Test::withdraw  )  [private]
 

Remove the TestData object from IS.

Won't throw - just reports errors

Definition at line 115 of file Test.cpp.

References getUniqueID(), and Sct::AbstractThrowable::sendToMrs().

Referenced by ~Test().

Here is the call graph for this function:


Field Documentation

TestData SctCalibrationController::Test::data [private]
 

Most of the underlying data.

Definition at line 93 of file Test.h.

Referenced by addScan(), getData(), getModuleList(), getUniqueID(), publish(), setStatus(), and Test().

ScanVector SctCalibrationController::Test::scans [private]
 

The constituent Scans.

Definition at line 95 of file Test.h.

Referenced by addScan(), getScan(), and setStatus().


The documentation for this class was generated from the following files:
Generated on Thu Jul 15 09:52:26 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5