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

SctArchivingService::ArchivingWorkerGroup Class Reference

This class is the handles the ArchivingService's worker threads. More...

#include <ArchivingWorkerGroup.h>


Public Member Functions

void addTest (shared_ptr< const TestData > testdata)
 Add a new TestData to the list of tests.

shared_ptr< TestAlgsfindTest (const unsigned long runno, const unsigned long scanno) const throw ()
 Look for a TestAlgs which matches a given run number and scan number.

shared_ptr< TestAlgsfindTest (const TestData &testdata) const throw ()
 Look for a TestAlgs which matches a given run number and scan number.

shared_ptr< ArchScanResult > getScanFromMap (shared_ptr< Serializable > ob)

Private Member Functions

virtual void work (shared_ptr< Serializable >) throw ()

Private Attributes

list< shared_ptr< TestAlgs > > m_tests
 List of the tests, and associated analysis algorithms.

boost::recursive_mutex m_tests_access
 access to the list of algorithms

boost::recursive_mutex m_file_access
 access to the ROOT file.


Detailed Description

This class is the handles the ArchivingService's worker threads.

They operate on de-serialized objects from IS. ATM this is most efficient as TestData is stored directly in IS. Should this switch to a file based storage at some point, then it would be better to just use names (strings).

Definition at line 24 of file archiving/ArchivingService/ArchivingWorkerGroup.h.


Member Function Documentation

void SctArchivingService::ArchivingWorkerGroup::addTest shared_ptr< const TestData testdata  ) 
 

Add a new TestData to the list of tests.

Parameters:
testdata the test to add.
Note:
one must lock the internals whilst doing the adding

Definition at line 303 of file archiving/ArchivingService/ArchivingWorkerGroup.cpp.

References m_tests, and m_tests_access.

shared_ptr< ArchivingWorkerGroup::TestAlgs > SctArchivingService::ArchivingWorkerGroup::findTest const TestData testdata  )  const throw ()
 

Look for a TestAlgs which matches a given run number and scan number.

Parameters:
testdata the TestData we want to find.
Returns:
TestAlgs for this test if these exist.
Note:
one must lock the internals whilst doing the finding.

Definition at line 279 of file archiving/ArchivingService/ArchivingWorkerGroup.cpp.

shared_ptr< ArchivingWorkerGroup::TestAlgs > SctArchivingService::ArchivingWorkerGroup::findTest const unsigned long  runno,
const unsigned long  scanno
const throw ()
 

Look for a TestAlgs which matches a given run number and scan number.

Parameters:
runno the run number
scanno the scan number
Returns:
TestAlgs for this test if these exist.
Note:
one must lock the internals whilst doing the finding.

Definition at line 284 of file archiving/ArchivingService/ArchivingWorkerGroup.cpp.

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

void SctArchivingService::ArchivingWorkerGroup::work shared_ptr< Serializable  )  throw () [private, virtual]
 

Definition at line 24 of file archiving/ArchivingService/ArchivingWorkerGroup.cpp.


Field Documentation

boost::recursive_mutex SctArchivingService::ArchivingWorkerGroup::m_file_access [mutable, private]
 

access to the ROOT file.

Definition at line 86 of file archiving/ArchivingService/ArchivingWorkerGroup.h.

list<shared_ptr<TestAlgs> > SctArchivingService::ArchivingWorkerGroup::m_tests [private]
 

List of the tests, and associated analysis algorithms.

Definition at line 84 of file archiving/ArchivingService/ArchivingWorkerGroup.h.

Referenced by addTest().

boost::recursive_mutex SctArchivingService::ArchivingWorkerGroup::m_tests_access [mutable, private]
 

access to the list of algorithms

Definition at line 85 of file archiving/ArchivingService/ArchivingWorkerGroup.h.

Referenced by addTest().


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