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

AnalysisService.h

Go to the documentation of this file.
00001 #ifndef ANALYSISSERVICE_H
00002 #define ANALYSISSERVICE_H
00003 #include <is/isinfo.h>
00004 #include <ipc/object.h>
00005 #include <ipc/server.h>
00006 
00007 #include <string>
00008 #include <boost/utility.hpp>
00009 
00010 #include "SctFitter/FitStrategy.h"
00011 #include "AnalysisWorkerGroup.h"
00012 #include "AnalysisServiceI.hh"
00013 
00014 
00015 namespace SctAnalysis {
00016 
00017 class AnalysisService : public IPCObject, public virtual AnalysisServiceI_T_AnalysisServiceInterface, boost::noncopyable {
00018 public:
00019     virtual ~AnalysisService() {}
00021     void run();
00023     static void testDataCallback(ISCallbackInfo * isc);
00025     static void scanResultCallback(ISCallbackInfo * isc);
00027     void setFitStrategy(const string& name) throw(LogicError);
00029     SctFitter::FitStrategy& getFitStrategy() const throw(LogicError);
00031     static AnalysisService& instance();
00032     
00037     static AnalysisService& initialize(const string& fitStrategyName = "RootFitStrategy");
00038     
00043     virtual void ipcPurge(AnalysisServiceIStatus* status) throw();
00048     virtual void ipcAnalyze(AnalysisServiceIStatus* status, char* testname) throw();
00054     virtual void ipcAnalyzeModule(AnalysisServiceIStatus* status, char* testname, 
00055                     char* modulename) throw();
00059     virtual char* ipcStatus(AnalysisServiceIStatus* status) throw();
00063     virtual char* ping(AnalysisServiceIStatus* status) throw();
00064     
00065     static IPCServer& getServer() throw();
00066     
00067 protected:
00069     AnalysisWorkerGroup* workergroup;
00070 private:
00071     SctFitter::FitStrategy* fitStrategy; 
00072     static AnalysisService* service;
00073     AnalysisService(const string& fitStrategyName ); 
00074 };
00075 }
00076 
00077 #endif //#ifndef ANALYSISSERVICE_H

Generated on Mon Dec 15 19:35:55 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3