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

SctAnalysis::AnalysisService Class Reference

#include <AnalysisService.h>

Inheritance diagram for SctAnalysis::AnalysisService:

IPCObject AnalysisServiceI_T_AnalysisServiceInterface noncopyable

Public Member Functions

virtual ~AnalysisService ()
void run ()
 RUNS the IPC server and IS callback.

void setFitStrategy (const string &name) throw (LogicError)
 set the FitStrategy by name

SctFitter::FitStrategygetFitStrategy () const throw (LogicError)
 return a FitStrategy which tells how to do the fitting.

virtual void ipcPurge (AnalysisServiceIStatus *status) throw ()
 Calls AnalysisWorkerGroup::purge() method to free stuck memory.

virtual void ipcAnalyze (AnalysisServiceIStatus *status, char *testname) throw ()
 Analyse all data relevant to a test.

virtual void ipcAnalyzeModule (AnalysisServiceIStatus *status, char *testname, char *modulename) throw ()
 Analyse all data relevant to a test for a particular module.

virtual char * ipcStatus (AnalysisServiceIStatus *status) throw ()
 Output the status of the AnalysisService over IPC.

virtual char * ping (AnalysisServiceIStatus *status) throw ()
 ipc ping method.


Static Public Member Functions

void testDataCallback (ISCallbackInfo *isc)
 what to do when a new TestData is found, or removed

void scanResultCallback (ISCallbackInfo *isc)
 what to do when a new FitScanResult or RawScanResult is found

AnalysisService & instance ()
 singleton access method

AnalysisService & initialize (const string &fitStrategyName="RootFitStrategy")
 Initializes the static instance with a FitStrategy.

IPCServer & getServer () throw ()

Protected Attributes

AnalysisWorkerGroupworkergroup
 AnalysisWorkerGroup does the internal book-keeping, and calls the appropriate AnalysisAlgorithm.


Private Member Functions

 AnalysisService (const string &fitStrategyName)
 singleton


Private Attributes

SctFitter::FitStrategyfitStrategy
 cache telling how to do fitting.


Static Private Attributes

AnalysisService * service

Constructor & Destructor Documentation

virtual SctAnalysis::AnalysisService::~AnalysisService   [inline, virtual]
 

Definition at line 19 of file AnalysisService.h.

SctAnalysis::AnalysisService::AnalysisService const string &    fitStrategyName [private]
 

singleton

Definition at line 47 of file AnalysisService.cpp.

References setFitStrategy(), and workergroup.

Referenced by initialize().


Member Function Documentation

SctFitter::FitStrategy & SctAnalysis::AnalysisService::getFitStrategy   const throw (LogicError)
 

return a FitStrategy which tells how to do the fitting.

Definition at line 206 of file AnalysisService.cpp.

IPCServer & SctAnalysis::AnalysisService::getServer   throw () [static]
 

Definition at line 52 of file AnalysisService.cpp.

AnalysisService & SctAnalysis::AnalysisService::initialize const string &    fitStrategyName = "RootFitStrategy" [static]
 

Initializes the static instance with a FitStrategy.

The default FitStrategy is RootFitStrategy.

Definition at line 218 of file AnalysisService.cpp.

References AnalysisService(), service, and setFitStrategy().

Referenced by instance().

AnalysisService & SctAnalysis::AnalysisService::instance   [static]
 

singleton access method

Definition at line 212 of file AnalysisService.cpp.

References initialize(), and service.

Referenced by scanResultCallback(), and testDataCallback().

void SctAnalysis::AnalysisService::ipcAnalyze AnalysisServiceIStatus *    status,
char *    testname
throw () [virtual]
 

Analyse all data relevant to a test.

Parameters:
testname the TestData object IO name

Definition at line 156 of file AnalysisService.cpp.

void SctAnalysis::AnalysisService::ipcAnalyzeModule AnalysisServiceIStatus *    status,
char *    testname,
char *    modulename
throw () [virtual]
 

Analyse all data relevant to a test for a particular module.

Parameters:
testname the TestData object IO name
modulename the name of the module to be analyzed

Definition at line 88 of file AnalysisService.cpp.

void SctAnalysis::AnalysisService::ipcPurge AnalysisServiceIStatus *    status throw () [virtual]
 

Calls AnalysisWorkerGroup::purge() method to free stuck memory.

Note:
Don't even think of doing this while analysis is in progress!

Definition at line 144 of file AnalysisService.cpp.

char * SctAnalysis::AnalysisService::ipcStatus AnalysisServiceIStatus *    status throw () [virtual]
 

Output the status of the AnalysisService over IPC.

Definition at line 78 of file AnalysisService.cpp.

char * SctAnalysis::AnalysisService::ping AnalysisServiceIStatus *    status throw () [virtual]
 

ipc ping method.

Definition at line 70 of file AnalysisService.cpp.

void SctAnalysis::AnalysisService::run  
 

RUNS the IPC server and IS callback.

Does not return.

Definition at line 57 of file AnalysisService.cpp.

References SctService::WorkerGroup< T >::go(), and workergroup.

void SctAnalysis::AnalysisService::scanResultCallback ISCallbackInfo *    isc [static]
 

what to do when a new FitScanResult or RawScanResult is found

push the IS name of the ScanResult onto the queue

Definition at line 160 of file AnalysisService.cpp.

References instance(), SctService::WorkerGroup< T >::push(), and workergroup.

void SctAnalysis::AnalysisService::setFitStrategy const string &    name throw (LogicError)
 

set the FitStrategy by name

Definition at line 202 of file AnalysisService.cpp.

References SctFitter::FitStrategyFactory::instance().

Referenced by AnalysisService(), and initialize().

void SctAnalysis::AnalysisService::testDataCallback ISCallbackInfo *    isc [static]
 

what to do when a new TestData is found, or removed

Definition at line 176 of file AnalysisService.cpp.

References TestData::ABORTED, SctAnalysis::AnalysisWorkerGroup::addTest(), SctAnalysis::AnalysisWorkerGroup::findTest(), instance(), SctAnalysis::AnalysisWorkerGroup::removeTestsUpTo(), and workergroup.


Field Documentation

SctFitter::FitStrategy* SctAnalysis::AnalysisService::fitStrategy [private]
 

cache telling how to do fitting.

Definition at line 71 of file AnalysisService.h.

AnalysisService * SctAnalysis::AnalysisService::service [static, private]
 

Definition at line 227 of file AnalysisService.cpp.

Referenced by initialize(), and instance().

AnalysisWorkerGroup* SctAnalysis::AnalysisService::workergroup [protected]
 

AnalysisWorkerGroup does the internal book-keeping, and calls the appropriate AnalysisAlgorithm.

Definition at line 69 of file AnalysisService.h.

Referenced by AnalysisService(), run(), scanResultCallback(), and testDataCallback().


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