00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4INTERFACE_H
00017 #define TGO4INTERFACE_H
00018
00019 #include "TGo4AbstractInterface.h"
00020 #include "TString.h"
00021
00022 class TGo4RootBrowserProxy;
00023 class TGo4AnalysisStatus;
00024 class TGo4AnalysisStepStatus;
00025 class TTimer;
00026
00027 class TGo4Interface : public TGo4AbstractInterface {
00028 protected:
00029 void ProcessEvents(Int_t timeout = -1);
00030
00031 public:
00032 TGo4Interface();
00033 TGo4Interface(const TGo4Interface&) {}
00034 virtual ~TGo4Interface();
00035
00036 void Wait(double tm_sec);
00037 void HotStart(const char* filename);
00038 void Message(const char* msg);
00039
00040
00041
00042 void LaunchAnalysis();
00043 void LaunchAnalysis(const char* ClientName,
00044 const char* ClientDir,
00045 const char* ClientExec,
00046 const char* ClientNode,
00047 Int_t ShellMode = 2,
00048 Int_t TermMode = 1);
00049 void ConnectAnalysis(const char* ServerNode,
00050 Int_t ServerPort,
00051 Int_t ControllerMode,
00052 const char* password = 0);
00053 void WaitAnalysis(Int_t delay_sec);
00054 void DisconnectAnalysis();
00055 void ShutdownAnalysis();
00056
00057 void SubmitAnalysisConfig();
00058 void StartAnalysis();
00059 void StopAnalysis();
00060
00061
00062
00063 void AnalysisAutoSave(const char* filename,
00064 Int_t interval,
00065 Int_t compression,
00066 Bool_t enabled,
00067 Bool_t overwrite);
00068
00069 void AnalysisConfigName(const char* filename);
00070
00071 void ConfigStep(const char* stepname,
00072 Bool_t enableprocess,
00073 Bool_t enablesource,
00074 Bool_t enablestore);
00075
00076 void StepFileSource(const char* stepname,
00077 const char* sourcename,
00078 int timeout);
00079
00080 void StepMbsFileSource(const char* stepname,
00081 const char* sourcename,
00082 int timeout,
00083 const char* TagFile,
00084 int start,
00085 int stop,
00086 int interval);
00087
00088 void StepMbsStreamSource(const char* stepname,
00089 const char* sourcename,
00090 int timeout);
00091
00092 void StepMbsTransportSource(const char* stepname,
00093 const char* sourcename,
00094 int timeout);
00095
00096 void StepMbsEventServerSource(const char* stepname,
00097 const char* sourcename,
00098 int timeout);
00099
00100 void StepMbsRevServSource(const char* stepname,
00101 const char* sourcename,
00102 int timeout,
00103 int port);
00104
00105 void StepRandomSource(const char* stepname,
00106 const char* sourcename,
00107 int timeout);
00108
00109 void StepUserSource(const char* stepname,
00110 const char* sourcename,
00111 int timeout,
00112 int port,
00113 const char* expr);
00114
00115 void StepFileStore(const char* stepname,
00116 const char* storename,
00117 bool overwrite,
00118 int bufsize,
00119 int splitlevel,
00120 int compression);
00121
00122 void StepBackStore(const char* stepname,
00123 const char* storename,
00124 int bufsize,
00125 int splitlevel);
00126
00127
00128 ViewPanelHandle StartViewPanel();
00129 ViewPanelHandle StartViewPanel(int x, int y, int width, int height, int mode = 1, TGo4Picture* pic = 0);
00130 TString GetViewPanelName(ViewPanelHandle handle);
00131 ViewPanelHandle FindViewPanel(const char* name);
00132 Bool_t SetViewPanelName(ViewPanelHandle handle, const char* newname);
00133 ViewPanelHandle GetActiveViewPanel();
00134 void RedrawPanel(ViewPanelHandle panel);
00135 void DivideViewPanel(ViewPanelHandle panel, Int_t numX, Int_t numY);
00136 TPad* SelectPad(ViewPanelHandle panel, Int_t number = 0);
00137
00138 Bool_t DrawItem(const char* itemname, ViewPanelHandle panel = 0, const char* drawopt = 0);
00139 void RedrawItem(const char* itemname);
00140
00141 void ProcessHotStart();
00142
00143 virtual Bool_t HandleTimer(TTimer* timer);
00144
00145 protected:
00146 TGo4AnalysisProxy* AddAnalysisProxy(Bool_t isserver);
00147 TGo4AnalysisStatus* GetAnalStatus();
00148 TGo4AnalysisStepStatus* GetStepStatus(const char* stepname);
00149
00150 TGo4RootBrowserProxy* fRootBrowser;
00151 TString fOMDataPath;
00152 TString fOMBrowserPath;
00153 TString fOMEditorsPath;
00154 Bool_t fCmdFinished;
00155 TTimer* fCmdTimer;
00156 Int_t fWaitCounter;
00157
00158
00159 ClassDef(TGo4Interface, 1);
00160
00161 };
00162 #endif
00163
00164