#include <TGo4AbstractInterface.h>
Public Member Functions | |
virtual | ~TGo4AbstractInterface () |
destructor | |
TGo4ObjectManager * | OM () const |
Returns pointer on object manager. | |
TGo4BrowserProxy * | Browser () const |
Returns pointer on browser proxy. | |
TGo4AnalysisProxy * | Analysis () |
Returns pointer on analysis proxy. | |
virtual void | HotStart (const char *filename)=0 |
Executes hotstart file, generated in go4 GUI. | |
virtual void | LoadLibrary (const char *fname) |
Load specified ROOT library. | |
virtual void | OpenFile (const char *fname) |
Open specified file in read-only mode* File and its structure should appear in browser. | |
virtual TString | FindItem (const char *objname) |
Find item with given object name. | |
virtual Bool_t | CopyItem (const char *itemname) |
Copy item to workspace. | |
virtual Bool_t | DeleteItem (const char *itemname) |
Delete item (if allowed). | |
virtual void | FetchItem (const char *itemname, Int_t wait_time=2000) |
Fetch item from data source. | |
virtual TObject * | GetObject (const char *itemname, Int_t updatelevel=1) |
Returns object, assigned to specified browser item. | |
virtual TString | SaveToMemory (const char *path, TObject *obj, Bool_t ownership=kFALSE) |
Save object in browser workspace. | |
virtual Bool_t | SaveToFile (const char *itemname, const char *filename, const char *filetitle=0) |
Save specified browser item to file. | |
virtual Bool_t | ExportToFile (const char *itemname, const char *dirpath, const char *format, const char *filetitle=0) |
Export browser item to different file formats. | |
virtual void | ConnectHServer (const char *servername, Int_t portnumber, const char *basename, const char *userpass, const char *filter) |
Connecta to GSI histogram server. | |
virtual void | Wait (double tm_sec) |
Wait specified number of seconds. | |
virtual void | Message (const char *msg) |
Dsiplay message in GUI status line. | |
virtual void | LaunchAnalysis () |
Launch analysis in client mode, using default configuration. | |
virtual void | LaunchAnalysis (const char *ClientName, const char *ClientDir, const char *ClientExec, const char *ClientNode, Int_t ShellMode=2, Int_t TermMode=1) |
Launch analysis in client mode. | |
virtual void | ConnectAnalysis (const char *ServerNode, Int_t ServerPort, Int_t UserMode, const char *password=0) |
Connect to running analysis server. | |
virtual void | WaitAnalysis (Int_t delay_sec) |
Waits, until connection to analysis is established. | |
virtual Bool_t | IsAnalysisConnected () |
Indicate, if analysis was succesfully connected. | |
virtual void | DisconnectAnalysis () |
Disconnects from running analysis. | |
virtual void | ShutdownAnalysis () |
Shutdown running analysis. | |
virtual void | ExecuteLine (const char *remotecmd) |
Execute one macro line on analysis side. | |
virtual void | RequestAnalysisConfig () |
Requests current analysis configuration. | |
virtual void | SubmitAnalysisConfig () |
Submit configuration to analysis. | |
virtual void | StartAnalysis () |
Starts (resume) analysis execution. | |
virtual void | StopAnalysis () |
Stop (suspend) analysis execution. | |
virtual void | SetAnalysisTerminalMode (int mode) |
Set analysis terminal window mode. | |
virtual void | SetAnalysisConfigMode (int mode) |
Set analysis configuration window mode. | |
virtual void | MonitorItem (const char *itemname, Bool_t on=kTRUE) |
Enable/disable monitoring of browser item. | |
virtual void | StartMonitoring (Int_t period=10) |
Start monitoring mode. | |
virtual void | StopMonitoring () |
Stop monitoring mode. | |
virtual void | AnalysisAutoSave (const char *filename, Int_t interval, Int_t compression, Bool_t enabled, Bool_t overwrite) |
Configure autosave properties of analysis. | |
virtual void | AnalysisConfigName (const char *filename) |
Configure name of file, where analysis configuration will be saved. | |
virtual void | ConfigStep (const char *stepname, Bool_t enableprocess, Bool_t enablesource, Bool_t enablestore) |
Set basic step property. | |
virtual void | StepFileSource (const char *stepname, const char *sourcename, int timeout) |
Set file source as step data source. | |
virtual void | StepMbsFileSource (const char *stepname, const char *sourcename, int timeout, const char *TagFile, int start, int stop, int interval) |
Set MBS file source as step data source. | |
virtual void | StepMbsStreamSource (const char *stepname, const char *sourcename, int timeout) |
Set MBS stream server as step data source. | |
virtual void | StepMbsTransportSource (const char *stepname, const char *sourcename, int timeout) |
Set MBS transport server as step data source. | |
virtual void | StepMbsEventServerSource (const char *stepname, const char *sourcename, int timeout) |
Set MBS event server as step data source. | |
virtual void | StepMbsRevServSource (const char *stepname, const char *sourcename, int timeout, int port) |
Set MBS remote event server as step data source. | |
virtual void | StepRandomSource (const char *stepname, const char *sourcename, int timeout) |
Set random generator as step data source. | |
virtual void | StepUserSource (const char *stepname, const char *sourcename, int timeout, int port, const char *expr) |
Set user data source as step data source. | |
virtual void | StepFileStore (const char *stepname, const char *storename, bool overwrite, int bufsize, int splitlevel, int compression) |
Set file as step data storage. | |
virtual void | StepBackStore (const char *stepname, const char *storename, int bufsize, int splitlevel) |
Set back store ss step data storage. | |
virtual ViewPanelHandle | StartViewPanel () |
Create new view panel. | |
virtual ViewPanelHandle | StartViewPanel (int x, int y, int width, int height, int mode=1, TGo4Picture *pic=0) |
Create new viewpanel with specified parameters. | |
virtual TString | GetViewPanelName (ViewPanelHandle panel) |
Return name of viewpanel. | |
virtual ViewPanelHandle | FindViewPanel (const char *name) |
Return handle on viewpanel with specified name. | |
virtual Bool_t | SetViewPanelName (ViewPanelHandle panel, const char *newname) |
Change name of viewpanel. | |
virtual ViewPanelHandle | GetActiveViewPanel () |
Return handle of last active viewpanel. | |
virtual void | RedrawPanel (ViewPanelHandle panel) |
Forces of panel redraw. | |
virtual void | DivideViewPanel (ViewPanelHandle panel, Int_t numX, Int_t numY) |
Divide viewpanel on subpads. | |
virtual TPad * | SelectPad (ViewPanelHandle panel, Int_t number=0) |
Set active pad on viewpanel. | |
virtual void | SetSuperimpose (ViewPanelHandle panel, Bool_t on=kTRUE) |
Set superimpose flag for active pad of viewpanel. | |
virtual Bool_t | DrawItem (const char *itemname, ViewPanelHandle panel=0, const char *drawopt=0) |
Draw browser item on specified viewpanel. | |
virtual void | RedrawItem (const char *itemname) |
Redraw item of given name on all viewpanels/editors. | |
Static Public Member Functions | |
static TGo4AbstractInterface * | Instance () |
Return pointer on instance of implemntation of TGo4AbstractInterface class Normally, inside CINT script one should use "go4" variable, which containes TGo4AbstractInterface::Instance() value. | |
static void | DeleteInstance () |
Delete instance of interface class. | |
Protected Member Functions | |
TGo4AbstractInterface () | |
Constructor. | |
void | Initialize (TGo4ObjectManager *om, TGo4BrowserProxy *br) |
virtual void | ProcessEvents (Int_t timeout=-1)=0 |
Bool_t | LoadHotStart (const char *filename) |
Bool_t | IsHotStart () |
const char * | NextHotStartCmd () |
void | FreeHotStartCmds () |
Static Protected Attributes | |
static TGo4AbstractInterface * | fgInstance |
Private Attributes | |
TGo4ObjectManager * | fOM |
TGo4BrowserProxy * | fBrowser |
TList | fxCommands |
Provide methods like open file, request object from analysis and so on.
Methods of that class can be used in arbitrary ROOT script inside/outside Go4 GUI. To access these methods, one should use "go4" variable, which is exported to CINT global variable space when instance of implementation of TGo4AbstractInterface class is created. One can also access such instance also via TGo4AbstractInterface::Instance() static method.
There are two implementations of TGo4AbstractInterface class: TGo4Script - used together with Go4 GUI, created automatically when GUI started TGo4Interface - can be used in non GUI mode, must be created once by user As long as these are two implementation of the same interface, macro, which uses internally only go4 instance, should work similarly in both GUI and non GUI mode.
Typicaly one should use interface, provided by that class, in macro, executed inside GUI. Simple example of such macro: { go4->OpenFile("example.root"); go4->DrawItem("example.root/hist1"); } Here one open file from disk and displays one histogram from that file.
Most of the action with objects are going via object manager, where each object (item) has unique name, which includes full path to that object in objects structures. In our example item name is "example.root/hist1". To locate object of known name in objects structure, one can use FindItem() method. In that case example will look like: { go4->OpenFile("example.root"); go4->DrawItem(go4->FindItem("hist1")); }
There are several examples of GUI macros, which can be found in $GO4SYS/Go4GUI/scripts directory. Description of each method can be seen futher in this document. Hot start feature of go4 was implemented with usage of that class, therefore one can produce hotstart files in Go4 GUI and take some generated code from it directly. For instance, displaing of complex viewpanels or starting and configuring of analysis.
Definition at line 61 of file TGo4AbstractInterface.h.
|
Constructor.
|
|
destructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Return pointer on instance of implemntation of TGo4AbstractInterface class Normally, inside CINT script one should use "go4" variable, which containes TGo4AbstractInterface::Instance() value.
|
|
Delete instance of interface class.
|
|
Returns pointer on object manager. TGo4ObjectManager class should only be used when standard interface does not provide required functionality. Can be accessed direcly via "om" variable. Definition at line 93 of file TGo4AbstractInterface.h. References fOM. |
|
Returns pointer on browser proxy. TGo4BrowserProxy class provides complete interface to Go4 browser functionality. Should only be used when interface does not provide required functionality. Can be accessed direcly via "br" variable. Definition at line 99 of file TGo4AbstractInterface.h. References fBrowser. |
|
Returns pointer on analysis proxy. TGo4AnalysisProxy class provide access to analysis controlling instance in program. Noramlly should not be used in GUI script. |
|
Executes hotstart file, generated in go4 GUI. Hot start files can not be executed as normal CINT scripts, therefore one should use this method to activate them |
|
Load specified ROOT library.
|
|
Open specified file in read-only mode* File and its structure should appear in browser.
|
|
Find item with given object name. Item name includes object name and name of all parent folders. For instance histogram of name "His1" in analysis will have item name "Analysis/Histograms/His1". |
|
Copy item to workspace. If there is subfolders with items, they also will be copied. |
|
Delete item (if allowed). Can be used to close file, delete memory object, close hiostogram server connection. |
|
Fetch item from data source. Request item from data source, to which item corresponds to. If this is file or histogram server, object will be returned immdediately. If this is an item from analysis, first request will be send and then interface will wait "wait_time" milliseconds that object is arrived. If wait_time==0, no waiting will be done and most probably, new object will be assigned to that item several seconds after method is return |
|
Returns object, assigned to specified browser item. Parameter updatelevel specifies, how object will be requested from data source, to which item correspond to. Possible values for updatelevel parameter: 0 - no request will be done, return last requested object 1 - request to data source only first time, no waiting 2 - request to data source in any case, no waiting >9 - request to data source and wait as many milliseconds as specified by updatelevel Wating required, when object requested from the analysis |
|
Save object in browser workspace. Object of any type can be saved in browser. It will appiar in browser folder "Workspace", where local memory objects are placed. Parameters: path - subpath in "Workspace" folder, where object should be placed obj - pointer ob object ownership - is browser becomes owner of that object If item of that name exists in browser, it will be overwritten by new object |
|
Save specified browser item to file. Only object, which are already fetched from the data source, will be saved. Therefore, before one call this method, one probably should use FetchItem() method to get objects from file/analysis/histogram server before save them. If item is folder and contains sub-items, they also will be saved. Only binary ROOT files (extension .root) and XML file (extension .xml) are supported. |
|
Export browser item to different file formats. One, probably, should use FetchItem() before calling this method. If item is folder and contains sub-items, they also will be exported. Parameters: itemname - name of browser, which should be exported, dirpath - directory on disk, where files should be created. format - export file format, can be "ASCII" - text format "Radware" - Radware format (Origin) "ROOT" - binary ROOT format "ROOT XML" - xml ROOT format filetitle - title of create file (only for ROOT formats) |
|
Connecta to GSI histogram server. Creates appropriate entry in browser and provides access to histogram. Parameters: servername - IP server name portnumber - socket port number basename - histogram server base name userpass - password to access histogram server filter - filter for historgams names Several connections to different histogram servers are allowed |
|
Wait specified number of seconds. Suppress macro execution, but keeps GUI functional, therefore it is different from gSystem->Sleep() call. Definition at line 210 of file TGo4AbstractInterface.h. |
|
Dsiplay message in GUI status line.
Definition at line 213 of file TGo4AbstractInterface.h. |
|
Launch analysis in client mode, using default configuration. Can only work in standard GUI mode Definition at line 219 of file TGo4AbstractInterface.h. |
|
Launch analysis in client mode. Parameters: ClientName - arbitrary name of analysis, used for diaplay ClientDir - directory, where analysis should be started ClientExec - main analysis executable ClientNode - node name, where analysis should be started ShellMode - shell, used to launch analysis: 1 - rsh, 2 - ssh [default] TermMode - terminal program: 1 - internal Qt window, 2 - xterm, 3 - KDE konsole Definition at line 229 of file TGo4AbstractInterface.h. |
|
Connect to running analysis server. Parameters: ServerNode - node to connect to, ServerPort - connection port number, UserMode - mode of user operation : 0 - observer, 1 - controller, 2 - administrator password - access password, which should correspond to specified UserMode Definition at line 242 of file TGo4AbstractInterface.h. |
|
Waits, until connection to analysis is established. Method must be called before any other action like configuration, start/stop can be done. If analysis is connected, IsAnalysisConnected() return kTRUE. delay_sec specifies, how long one should wait until analysis is connected Definition at line 252 of file TGo4AbstractInterface.h. |
|
Indicate, if analysis was succesfully connected.
|
|
Disconnects from running analysis. If analysis is running in client mode, analysis will be shutdown. Definition at line 259 of file TGo4AbstractInterface.h. |
|
Shutdown running analysis. If analysis is running in server mode, only user with administrator privilegies can do this Definition at line 264 of file TGo4AbstractInterface.h. |
|
Execute one macro line on analysis side. This allows to call any action on analysis, including execution scripts with ".x userscript.C". One should not mix scripts, written for analysis and scripts, written for GUI. |
|
Requests current analysis configuration.
|
|
Submit configuration to analysis. Configurations can be changed with following methods:
To understand more how these methods can be used together, one should launch analysis, configure it and then generate hotstart file. In this file one can find correct sequence and parameters for all these methods. Definition at line 296 of file TGo4AbstractInterface.h. |
|
Starts (resume) analysis execution.
Definition at line 299 of file TGo4AbstractInterface.h. |
|
Stop (suspend) analysis execution.
Definition at line 302 of file TGo4AbstractInterface.h. |
|
Set analysis terminal window mode. Parameters mode indicate that terminal window: -1 - closed, 0 - minimized, 1 - normal state Definition at line 307 of file TGo4AbstractInterface.h. |
|
Set analysis configuration window mode. Parameters mode indicate that configuration window: -1 - closed, 0 - minimized, 1 - normal state Definition at line 312 of file TGo4AbstractInterface.h. |
|
Enable/disable monitoring of browser item. In monitoring mode item regularly will be requested from analysis and viewpanels, where item is drawn, will be updated |
|
Start monitoring mode. Parameter "period" specifies how often (in seconds) each monitored item will be updated. |
|
Stop monitoring mode.
|
|
Configure autosave properties of analysis.
Definition at line 328 of file TGo4AbstractInterface.h. |
|
Configure name of file, where analysis configuration will be saved.
Definition at line 335 of file TGo4AbstractInterface.h. |
|
Set basic step property.
Definition at line 340 of file TGo4AbstractInterface.h. |
|
Set file source as step data source.
Definition at line 346 of file TGo4AbstractInterface.h. |
|
Set MBS file source as step data source.
Definition at line 351 of file TGo4AbstractInterface.h. |
|
Set MBS stream server as step data source.
Definition at line 360 of file TGo4AbstractInterface.h. |
|
Set MBS transport server as step data source.
Definition at line 365 of file TGo4AbstractInterface.h. |
|
Set MBS event server as step data source.
Definition at line 370 of file TGo4AbstractInterface.h. |
|
Set MBS remote event server as step data source.
Definition at line 375 of file TGo4AbstractInterface.h. |
|
Set random generator as step data source.
Definition at line 381 of file TGo4AbstractInterface.h. |
|
Set user data source as step data source.
Definition at line 386 of file TGo4AbstractInterface.h. |
|
Set file as step data storage.
Definition at line 393 of file TGo4AbstractInterface.h. |
|
Set back store ss step data storage.
Definition at line 401 of file TGo4AbstractInterface.h. |
|
Create new view panel. Handle, returned by this method, must be used for other operation, like DivideViewPanel() or SelectPad() Definition at line 411 of file TGo4AbstractInterface.h. |
|
Create new viewpanel with specified parameters. Returns handle of newly created viewpanel. Parameters: x,y - left top corner coordinate of view panel; width, height - panel size; mode - diplay view panel 0 - minimized, 1 - normal, 2 - maximized; pic - TGo4Picture object, which includes configuration of viewpanel. To understand usage of this method together with TGo4Picture class, one can create and configure viewpanel and then create hotstart file. This file will include complete TGo4Picture configuration, which contains attributes like colors, ranges, pad divisions and so on. Definition at line 423 of file TGo4AbstractInterface.h. |
|
Return name of viewpanel.
Definition at line 426 of file TGo4AbstractInterface.h. |
|
Return handle on viewpanel with specified name.
Definition at line 429 of file TGo4AbstractInterface.h. |
|
Change name of viewpanel.
Definition at line 432 of file TGo4AbstractInterface.h. |
|
Return handle of last active viewpanel.
Definition at line 435 of file TGo4AbstractInterface.h. |
|
Forces of panel redraw.
Definition at line 438 of file TGo4AbstractInterface.h. |
|
Divide viewpanel on subpads.
Definition at line 441 of file TGo4AbstractInterface.h. |
|
Set active pad on viewpanel. If number==0, main pad (canvas) will be set as active, otherwise one of subpads will be activated. Most of methods, working with viewpanel, acting with active pad of this panel. Definition at line 447 of file TGo4AbstractInterface.h. |
|
Set superimpose flag for active pad of viewpanel.
Definition at line 450 of file TGo4AbstractInterface.h. |
|
Draw browser item on specified viewpanel. Parameters: itemname - browser item name, panel - viewpanel, if panel==0, new viewpanel will be created. drawopt - draw options, used in obj->Draw() operation Definition at line 457 of file TGo4AbstractInterface.h. |
|
Redraw item of given name on all viewpanels/editors. Useful for the case, when content of object (histogram, for example) changed directly in script and after that should be updated in viewpanel. |
|
Definition at line 66 of file TGo4AbstractInterface.h. |
|
Definition at line 465 of file TGo4AbstractInterface.h. Referenced by OM(). |
|
Definition at line 466 of file TGo4AbstractInterface.h. Referenced by Browser(). |
|
Definition at line 467 of file TGo4AbstractInterface.h. |