FitterWorkerGroup.h

00001 #ifndef FITTERWORKERGROUP_H
00002 #define FITTERWORKERGROUP_H
00003 #include "SctService/WorkerGroup.h"
00004 #include <string>
00005 #include <list>
00006 #include <iostream>
00007 #include <boost/shared_ptr.hpp>
00008 #include <boost/thread.hpp>
00009 
00010 using std::string;
00011 using boost::shared_ptr;
00012 using namespace SctService;
00013 class TestData;
00014 
00015 namespace SctFitter {
00016 
00021 class FitterWorkerGroup : public WorkerGroup<string> {
00022 public:
00024     FitterWorkerGroup();
00025 
00027     virtual ~FitterWorkerGroup();
00028 
00030     void printTests(std::ostream& os) const;
00032     void setDebug(bool value);
00034     bool debug() const;
00035 private:
00041     virtual void work(string name) throw() ;
00042 
00044     volatile int m_calls;
00045 
00046     // add record of a TestData object (or null if none matches)
00047     virtual shared_ptr<const TestData>& findTestData(unsigned long run, unsigned long scan);
00048     
00049     // find a matching TestData object
00050     virtual void addTestData(boost::shared_ptr<const TestData> td);
00051     
00052 
00054     std::list<boost::shared_ptr<const TestData> > m_tests;
00055     
00056     // control access to list of tests
00057     mutable boost::recursive_mutex m_testAccess;
00058     
00059     bool m_debug;
00060 };
00061 
00062 }// end of namespace SctFitter
00063 
00064 #endif // #define FITTERWORKERGROUP_H

Generated on Mon Feb 6 14:01:20 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6