メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ  

TAnalysisManager.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TAnalysisManager.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $
00003 //  $Name: CLDAQ-1-06-00 $
00004 // =====================================================================
00005 #ifndef __TANALYSISMANAGER_HH
00006 #define __TANALYSISMANAGER_HH
00007 
00008 #include "Tglobals.h"
00009 #include "TAnalyser.hh"
00010 #include "TAnalysisStatusTable.hh"
00011 #include "TAnalysisAction.hh"
00012 
00013 class TExtractor;
00014 
00015 class TAnalysisManager
00016 {
00017 
00018   protected:
00019     static TAnalysisManager* theAnalysisManager;
00020 
00021   protected:
00022     TAnalysisStatusTable theStatusTable;
00023     TAnalyser* theAnalyser;
00024     TAnalysisAction* theAnalysisAction;
00025 
00026   public:
00027     TAnalysisManager( TAnalyser* analyser = 0 );
00028     virtual ~TAnalysisManager();
00029 
00030   public:
00031     virtual Tvoid StartAnalysis( const Tstring& id );
00032     virtual Tvoid StopAnalysis( const Tstring& id );
00033     virtual Tvoid UpdateAnalysis( const Tstring& id );
00034     virtual Tvoid SuspendAnalysis( const Tstring& id );
00035     virtual Tvoid ResumeAnalysis( const Tstring& id );
00036     virtual Tvoid StartAnalysis();
00037     virtual Tvoid StopAnalysis();
00038     virtual Tvoid UpdateAnalysis();
00039     virtual Tvoid SuspendAnalysis();
00040     virtual Tvoid ResumeAnalysis();
00041 
00042   public:
00043     virtual Tvoid ShowStatus() const;
00044 
00045   public:
00046     TAnalyser* GetAnalyser() const;
00047     Tvoid SetAnalyser( TAnalyser* analyser );
00048     Tvoid SetExtractor( TExtractor* extractor );
00049     const TAnalysisStatusTable& GetStatusTable() const;
00050     TAnalysisStatusTable& GetStatusTable();
00051     Tvoid SetStatusTable( const TAnalysisStatusTable& table );
00052     TAnalysisAction* GetAnalysisAction() const;
00053     Tvoid SetAnalysisAction( TAnalysisAction* action );
00054 
00055   public:
00056     virtual Tvoid GoAnalysisLoop( const Tstring& id );
00057     virtual Tvoid WaitReturnFromAnalysisLoop( const Tstring& id );
00058 
00059   protected:
00060     static Tvoid* doAnalysisLoop( Tvoid* arguments );
00061 
00062   public:
00063     static TAnalysisManager* GetAnalysisManager();
00064 
00065 };
00066 
00067 inline TAnalysisManager* TAnalysisManager::GetAnalysisManager()
00068 {
00069   if ( theAnalysisManager == 0 )
00070     return( 0 );
00071   return( theAnalysisManager );
00072 }
00073 
00074 inline TAnalyser* TAnalysisManager::GetAnalyser() const
00075 {
00076   return( theAnalyser );
00077 }
00078 
00079 inline const TAnalysisStatusTable& TAnalysisManager::GetStatusTable() const
00080 {
00081   return( theStatusTable );
00082 }
00083 
00084 inline TAnalysisStatusTable& TAnalysisManager::GetStatusTable()
00085 {
00086   return( theStatusTable );
00087 }
00088 
00089 inline Tvoid TAnalysisManager::SetStatusTable( const TAnalysisStatusTable& table )
00090 {
00091   theStatusTable = table;
00092   return;
00093 }
00094 
00095 inline Tvoid TAnalysisManager::SetExtractor( TExtractor* extractor )
00096 {
00097   if ( theAnalyser != 0 )
00098     theAnalyser -> AddExtractor( extractor );
00099   return;
00100 }
00101 
00102 inline TAnalysisAction* TAnalysisManager::GetAnalysisAction() const
00103 {
00104   return( theAnalysisAction );
00105 }
00106 
00107 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.6.0)
Go IWAI <goiwai@users.sourceforge.jp>