TAnalysisManager.hh Source File

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

# 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