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

TAnalysisManager.hh

解説を見る。
00001 // =====================================================================
00024 // =====================================================================
00025 #ifndef CLDAQ__TANALYSISMANAGER_HH
00026 #define CLDAQ__TANALYSISMANAGER_HH
00027 
00028 #include "Tglobals.h"
00029 #include "TAnalyser.hh"
00030 #include "TAnalysisStatusTable.hh"
00031 #include "TAnalysisAction.hh"
00032 
00033 class TExtractor;
00034 
00035 
00055 class TAnalysisManager
00056 {
00057 
00058   protected:
00059     static TAnalysisManager* theAnalysisManager;
00060 
00061   protected:
00062     TAnalysisStatusTable theStatusTable;
00063     TAnalyser* theAnalyser;
00064     TAnalysisAction* theAnalysisAction;
00065 
00066   public:
00067     TAnalysisManager( TAnalyser* analyser = 0 );
00068     virtual ~TAnalysisManager();
00069 
00070   public:
00071     virtual Tvoid StartAnalysis( const Tstring& id );
00072     virtual Tvoid StopAnalysis( const Tstring& id );
00073     virtual Tvoid UpdateAnalysis( const Tstring& id );
00074     virtual Tvoid SuspendAnalysis( const Tstring& id );
00075     virtual Tvoid ResumeAnalysis( const Tstring& id );
00076     virtual Tvoid StartAnalysis();
00077     virtual Tvoid StopAnalysis();
00078     virtual Tvoid UpdateAnalysis();
00079     virtual Tvoid SuspendAnalysis();
00080     virtual Tvoid ResumeAnalysis();
00081 
00082   public:
00083     virtual Tvoid ShowStatus() const;
00084 
00085   public:
00086     TAnalyser* GetAnalyser() const;
00087     Tvoid SetAnalyser( TAnalyser* analyser );
00088     Tvoid SetExtractor( TExtractor* extractor );
00089     const TAnalysisStatusTable& GetStatusTable() const;
00090     TAnalysisStatusTable& GetStatusTable();
00091     Tvoid SetStatusTable( const TAnalysisStatusTable& table );
00092     TAnalysisAction* GetAnalysisAction() const;
00093     Tvoid SetAnalysisAction( TAnalysisAction* action );
00094 
00095   public:
00096     virtual Tvoid GoAnalysisLoop( const Tstring& id );
00097     virtual Tvoid WaitReturnFromAnalysisLoop( const Tstring& id );
00098 
00099   protected:
00100     static Tvoid* doAnalysisLoop( Tvoid* arguments );
00101 
00102   public:
00103     static TAnalysisManager* GetAnalysisManager();
00104 
00105 };
00106 
00107 inline TAnalysisManager* TAnalysisManager::GetAnalysisManager()
00108 {
00109   if ( theAnalysisManager == 0 )
00110     return 0;
00111   return theAnalysisManager;
00112 }
00113 
00114 inline TAnalyser* TAnalysisManager::GetAnalyser() const
00115 {
00116   return theAnalyser;
00117 }
00118 
00119 inline const TAnalysisStatusTable& TAnalysisManager::GetStatusTable() const
00120 {
00121   return theStatusTable;
00122 }
00123 
00124 inline TAnalysisStatusTable& TAnalysisManager::GetStatusTable()
00125 {
00126   return theStatusTable;
00127 }
00128 
00129 inline Tvoid TAnalysisManager::SetStatusTable( const TAnalysisStatusTable& table )
00130 {
00131   theStatusTable = table;
00132   return;
00133 }
00134 
00135 inline Tvoid TAnalysisManager::SetExtractor( TExtractor* extractor )
00136 {
00137   if ( theAnalyser != 0 )
00138     theAnalyser -> AddExtractor( extractor );
00139   return;
00140 }
00141 
00142 inline TAnalysisAction* TAnalysisManager::GetAnalysisAction() const
00143 {
00144   return theAnalysisAction;
00145 }
00146 
00147 #endif

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