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