TAnalysisManager.hh Source File

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

# TAnalysisManager.hh

解説を見る。

    00001 // =====================================================================
    00002 //  $Id: TAnalysisManager.hh,v 1.2 2003/07/30 16:17:10 goiwai Exp $
    00003 //  $Name: CLDAQ-1-08-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