Mohammad AlTurany Go 4 GSI Darmstadt 13 June

  • Slides: 16
Download presentation
Mohammad Al-Turany Go 4 GSI Darmstadt 13 June 2001 M. Al-Turany/Root 2001 1

Mohammad Al-Turany Go 4 GSI Darmstadt 13 June 2001 M. Al-Turany/Root 2001 1

Go 4 Project Go 4 Requirements GSI object-oriented online-offline system • GSI: Heavy Ion

Go 4 Project Go 4 Requirements GSI object-oriented online-offline system • GSI: Heavy Ion and Atomic Physics • various (~40) DAQ systems installed • small to medium sized experiments • on-line analysis required (Non-Blocking GUI) • GUI shall control running analysis » Tasks and Threads • selected ROOT as framework 13 June 2001 M. Al-Turany/Root 2001 2

Go 4 package Overview Thread Manager Task Handler Event Display GUI Analysis 13 June

Go 4 package Overview Thread Manager Task Handler Event Display GUI Analysis 13 June 2001 M. Al-Turany/Root 2001 3

Functional overview of the Go 4 Display Task (Server) Analysis Tasks (Client 1, 2,

Functional overview of the Go 4 Display Task (Server) Analysis Tasks (Client 1, 2, . . . ) 13 June 2001 queue Data Thread Logging Thread Status Thread IP Network Data Thread Work Thread M. Al-Turany/Root 2001 Status Thread queue Command Thread queue Data Loop queue Connector Thread Command Thread queue Launch Thread Task Handler Callback Drawing Thread queue GUI Watcher Thread 4

Go 4 features • Analysis and GUI in separate tasks • Multi-threading • Communication

Go 4 features • Analysis and GUI in separate tasks • Multi-threading • Communication through socket threads • Object streaming by ROOT • Use of ROOT native GUIs as well as Qt GUIs 13 June 2001 M. Al-Turany/Root 2001 5

First Experiance with GUI Go 4 Viewer Features: 1. Remote: • Histogram API client

First Experiance with GUI Go 4 Viewer Features: 1. Remote: • Histogram API client for LEA, GOOSY and MBS servers at the GSI • Auto preview of histograms header data • Histograms can be directly imported into ROOT 2. Local: • Full functional file browser • Direct conversion of Ntuple and Hbook files to ROOT files 3. Archive: • API client for mass storage at the GSI http: //www-aix. gsi. de/~turany/Go 4 Viewer. htm 13 June 2001 M. Al-Turany/Root 2001 6

First Experiance with GUI Go 4 Viewer (Remote) 13 June 2001 M. Al-Turany/Root 2001

First Experiance with GUI Go 4 Viewer (Remote) 13 June 2001 M. Al-Turany/Root 2001 7

First Experiance with GUI Go 4 Viewer (Local) 13 June 2001 M. Al-Turany/Root 2001

First Experiance with GUI Go 4 Viewer (Local) 13 June 2001 M. Al-Turany/Root 2001 8

First Experiance with GUI Go 4 Viewer (Archive) 13 June 2001 M. Al-Turany/Root 2001

First Experiance with GUI Go 4 Viewer (Archive) 13 June 2001 M. Al-Turany/Root 2001 9

Go 4 GUI Requirements • Non Blocking GUI • Dynamical exchange of data between

Go 4 GUI Requirements • Non Blocking GUI • Dynamical exchange of data between different windows • Updating the status of a GUI window even if it is not being displayed • Possibility to restore the status of a closed windowat any time 13 June 2001 M. Al-Turany/Root 2001 10

Qt GUI Design of the Go 4 GUI Root GUI 13 June 2001 M.

Qt GUI Design of the Go 4 GUI Root GUI 13 June 2001 M. Al-Turany/Root 2001 11

Registering a slot objects 13 June 2001 M. Al-Turany/Root 2001 12

Registering a slot objects 13 June 2001 M. Al-Turany/Root 2001 12

Getting a registered slot objects pointer 13 June 2001 M. Al-Turany/Root 2001 13

Getting a registered slot objects pointer 13 June 2001 M. Al-Turany/Root 2001 13

Updating dependents objects 13 June 2001 M. Al-Turany/Root 2001 14

Updating dependents objects 13 June 2001 M. Al-Turany/Root 2001 14

Register a dependent object 13 June 2001 M. Al-Turany/Root 2001 15

Register a dependent object 13 June 2001 M. Al-Turany/Root 2001 15

Conclusions • This Design was implemented and tested with ROOT widgets and/or Qt widgets

Conclusions • This Design was implemented and tested with ROOT widgets and/or Qt widgets successfully • The Qt-ROOT interface was tested successfully in the multiand multi-threading environment of the Go 4 tasking • Base Classes for building GUIs were designed and implemented go 4. gsi. de 13 June 2001 M. Al-Turany/Root 2001 16