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

TAnalysisManager.hh

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

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