Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | 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.

std::ostream & printStatus (std::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 79 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 82 of file AnalysisWorkerGroup.h.

References m_testdata.

SctAnalysis::AnalysisWorkerGroup::TestAlgs::~TestAlgs  ) 
 

Destructor gets the lock before destroying the internals.

Definition at line 25 of file AnalysisWorkerGroup.cpp.

References m_access, and 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 71 of file AnalysisWorkerGroup.cpp.

References getTest(), m_access, and m_algorithms.

Referenced by findAlgorithm().

Here is the call graph for this function:

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 54 of file AnalysisWorkerGroup.cpp.

References addAlgorithm(), m_access, and m_algorithms.

Here is the call graph for this function:

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

Get the TestData object.

Definition at line 84 of file AnalysisWorkerGroup.h.

References m_testdata.

Referenced by addAlgorithm().

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

Print the contents of this testalgs.

Definition at line 43 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 34 of file AnalysisWorkerGroup.cpp.

References m_access, and m_algorithms.


Field Documentation

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

lock results

Definition at line 114 of file AnalysisWorkerGroup.h.

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

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

the AnalysisAlgorithms for each of the modules in the test.

Definition at line 113 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 112 of file AnalysisWorkerGroup.h.

Referenced by getTest(), and TestAlgs().


The documentation for this class was generated from the following files:
Generated on Thu Jul 8 11:41:44 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5