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

TAnalysisManager.hh

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

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