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

SctAnalysis::AnalysisWorkerGroup::TestAlgs Class Reference

keeps a test and its results together. More...

#include <AnalysisWorkerGroup.h>


Public Member Functions

 TestAlgs (shared_ptr< const TestData > testdata)
 constructor takes a Test object.

const TestDatagetTest () const
 Get the TestData object.

shared_ptr< AnalysisAlgorithmfindAlgorithm (const string &modulename)
 Get the AnalysisAlgorithm for a particular module name.

shared_ptr< AnalysisAlgorithmaddAlgorithm (const string &modulename)
 Add a test result for a new module name.

void removeAlgorithm (shared_ptr< AnalysisAlgorithm > alg)
 Removes an algorithm from the map.

 ~TestAlgs ()
 Destructor gets the lock before destroying the internals.

ostream & printStatus (ostream &os) const throw ()
 Print the contents of this testalgs.


Private Attributes

shared_ptr< const TestDatam_testdata
 the TestData itself.

list< shared_ptr< AnalysisAlgorithm > > m_algorithms
 the AnalysisAlgorithms for each of the modules in the test.

boost::recursive_mutex m_access
 lock results


Detailed Description

keeps a test and its results together.

Associates these with a lockable mutex.

Definition at line 74 of file AnalysisWorkerGroup.h.


Constructor & Destructor Documentation

SctAnalysis::AnalysisWorkerGroup::TestAlgs::TestAlgs shared_ptr< const TestData   testdata [inline]
 

constructor takes a Test object.

Also works out what sort of test it is and

Definition at line 77 of file AnalysisWorkerGroup.h.

References m_testdata.

SctAnalysis::AnalysisWorkerGroup::TestAlgs::~TestAlgs  
 

Destructor gets the lock before destroying the internals.

Definition at line 17 of file AnalysisWorkerGroup.cpp.

References m_algorithms.


Member Function Documentation

shared_ptr< AnalysisAlgorithm > SctAnalysis::AnalysisWorkerGroup::TestAlgs::addAlgorithm const string &    modulename
 

Add a test result for a new module name.

Parameters:
modulename the module name for which to add.
Returns:
a shared pointer to the created AnalysisAlgorithm for this module.
Note:
one must lock the internals whilst doing the adding.

Definition at line 68 of file AnalysisWorkerGroup.cpp.

References getTest(), and m_algorithms.

Referenced by findAlgorithm().

shared_ptr< AnalysisAlgorithm > SctAnalysis::AnalysisWorkerGroup::TestAlgs::findAlgorithm const string &    modulename
 

Get the AnalysisAlgorithm for a particular module name.

Note:
makes a new Algorithm of the appropriate type if one is not found.
Returns:
the appropriate AnalysisAlgorithm,
Note:
one must lock the internals while searching.

Definition at line 51 of file AnalysisWorkerGroup.cpp.

References addAlgorithm(), and m_algorithms.

const TestData& SctAnalysis::AnalysisWorkerGroup::TestAlgs::getTest   const [inline]
 

Get the TestData object.

Definition at line 79 of file AnalysisWorkerGroup.h.

References m_testdata.

Referenced by addAlgorithm().

ostream & SctAnalysis::AnalysisWorkerGroup::TestAlgs::printStatus ostream &    os const throw ()
 

Print the contents of this testalgs.

Definition at line 35 of file AnalysisWorkerGroup.cpp.

void SctAnalysis::AnalysisWorkerGroup::TestAlgs::removeAlgorithm shared_ptr< AnalysisAlgorithm   alg
 

Removes an algorithm from the map.

Parameters:
alg A shared pointer to the algorithm to remove.

Definition at line 26 of file AnalysisWorkerGroup.cpp.

References m_algorithms.


Field Documentation

boost::recursive_mutex SctAnalysis::AnalysisWorkerGroup::TestAlgs::m_access [mutable, private]
 

lock results

Definition at line 109 of file AnalysisWorkerGroup.h.

list< shared_ptr<AnalysisAlgorithm> > SctAnalysis::AnalysisWorkerGroup::TestAlgs::m_algorithms [private]
 

the AnalysisAlgorithms for each of the modules in the test.

Definition at line 108 of file AnalysisWorkerGroup.h.

Referenced by addAlgorithm(), findAlgorithm(), removeAlgorithm(), and ~TestAlgs().

shared_ptr<const TestData> SctAnalysis::AnalysisWorkerGroup::TestAlgs::m_testdata [private]
 

the TestData itself.

Definition at line 107 of file AnalysisWorkerGroup.h.

Referenced by getTest(), and TestAlgs().


The documentation for this class was generated from the following files:
Generated on Mon Dec 15 19:37:27 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3