Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4Interface.h

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
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       // analysis start and configuration
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,      // 1 = rsh  2 = ssh
00048                           Int_t TermMode = 1);      // 1 = Qt   2 = Xterm 3 = konsole
00049       void ConnectAnalysis(const char* ServerNode,
00050                            Int_t ServerPort,
00051                            Int_t ControllerMode,  // 0 - obsrver, 1- controller, 2 - administrator
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       // steps configuration
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      // windows management
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 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:28 2008 for Go4-v3.04-1 by  doxygen 1.4.2