ROOT Graphical User Interface The Graphical User Interface

  • Slides: 5
Download presentation
ROOT Graphical User Interface The Graphical User Interface (GUI) design is an important component

ROOT Graphical User Interface The Graphical User Interface (GUI) design is an important component of the ROOT framework. Two sets of classes, recently introduced in ROOT v 4. 01, are presented in this paper: the graphics editor and the GUI builder. Different Object Editors Statistics Axis Editor Pad Editor ROOT Graphics Editor The graphics editor is split into discrete units of socalled object editors. This makes the GUI easier to design and adapt to the users’ profiles. The only convention to follow is to derive the code object editor from the TGed. Frame base class, and to use as a name the class name concatenated with ‘Editor’, i. e. for TGraph objects the editor is the TGraph. Editor. TGraph Editor • They give an intuitive way to edit objects in a canvas with immediate feedback. • The three-mouse-clicks rule of navigation limits the number of levels for completing a single task. TGX 11 • The user interface gives full control to users. • Related actions work the same way and reinforce the understanding of the functions. • Complexity is reduced by hiding some GUI elements and revealing them when necessary. User Applications TH 1 Editor TGWin 32 GDK TH 2 Editor TVirtual. X The ROOT widgets (window’s gadgets) are fully cross-platform. The GUI classes interface to the platform-dependent low level graphics system via the abstract class TVirtual. X. Concrete versions of this abstract class have been implemented for X 11, Win 32, and Qt. TGQt Thanks to this single graphics interface, porting to a new platform requires only the implementation of TVirtual. X. The benefit of applications running on more than one kind of computer is obvious - it increases the program’s robustness, makes their maintenance easier and improves the reusability of the code. For more information see: http: //root. cern. ch For any questions please use following address: rootdev@pcroot. cern. ch

ROOT Graphical User Interface The ROOT framework offers considerable benefits for developing a fully

ROOT Graphical User Interface The ROOT framework offers considerable benefits for developing a fully cross platform object-oriented user interface. Two sets of classes are presented: the Object Editors and the Style Manager. Stats Editor TH 2 Editor Object Editors The ROOT graphics editor is split into discrete units of so-called object editors. Any object editor provides an object specific user interface that shows up when the corresponding object is selected. This interface design is built with a capacity for growth and can be extended easily by user-defined object editors. TF 1 Editor Pad Editor Axis Editor Pave Editor Style Manager This new Graphical User Interface is created to manage different styles in a ROOT session. It allows users to import a style from a canvas or a macro, to select a style for editing, to export it in a C++ macro, to apply a currently selected style on a selected object in a canvas or on all canvases, to set it as the g. Style. This interface is composed of two parts: - the top level interface manages a list of all available styles for the current ROOT session and shows the currently selected one; - the style editor that deals with the settings of the currently selected style. TStyle *tmp. Style = new TStyle("Imported_Style", "Imported from canvas c 1"); tmp. Style->Set. Ndivisions(510, "x"); tmp. Style->Set. Ndivisions(510, "y"); tmp. Style->Set. Ndivisions(510, "z"); tmp. Style->Set. Fill. Color(19); tmp. Style->Set. Fill. Style(1001); tmp. Style->Get. Att. Date()->Set. Text. Font(63); tmp. Style->Get. Att. Date()->Set. Text. Size(14); tmp. Style->Get. Att. Date()->Set. Text. Angle(0); tmp. Style->Get. Att. Date()->Set. Text. Align(11); A preview of the selected canvas helps for precision work. It can be updated dynamically at run-time or by request to show the edited style looks. All changes made in the style editor can be cancelled and the edited style can be restored to the last saved state in a macro. For more information see: http: //root. cern. ch For any questions please use the address: rootdev@pcroot. cern. ch

ROOT Graphical User Interface GUI Applications Examples Data Analysis The included screen captures illustrate

ROOT Graphical User Interface GUI Applications Examples Data Analysis The included screen captures illustrate the powerful Graphical User Interface capabilities of ROOT. They come from several concrete applications used in aluminium industry (ALCAN Aluminium Valais SA). The next ones are data analysis applications, using statistics, i. e. SPC (statistical Process Control) and MVR (multivariate regression). They are used for Quality Insurance and Spectrometry. Data Visualization The following applications are mainly used to visualize data coming from different facilities, on different platforms (Windows NT and QNX). Data are collected on a Windows server, converted into Root format, validated, then archived on CD once a year. The application HFViewer is the main application used in aluminium casting plant, regrouping data from : - liquid metal treatment (Ar + Cl 2). - spectrometric analysis (alloy composition). - casting process. - homogenization. It is also used for the validation of the product before expedition. The multivariable regression (MVR) calculation is an empirical correction procedure to minimise, in a multicomponent matrix, the influence of interfering elements on an analyte. The MVR's options provide facilities and flexible mathematical algorithms to compute simultaneously the basic curve polynomials and coefficients for additive and/or multiplicative corrections. The calculation is performed on the intensities and concentrations of a set of samples used as standards. The SPCLab application determines the process capability of spectrometry analysis. Here is another data visualization application, Dlg. View, used to show data coming from superplastic forming process. Superplastic forming is a process using air pressure to form metal sheets (special aluminium alloys) into specific complicated shapes (as car body parts). For more information see: http: //root. cern. ch For any questions please use following address: rootdev@pcroot. cern. ch

ROOT: 2 D Graphics This poster shows a plot gallery, illustrating the extensive 2

ROOT: 2 D Graphics This poster shows a plot gallery, illustrating the extensive 2 D graphics capabilities of ROOT.

ROOT: 3 D Graphics R. Maunder 1) , T. Pocheptsov 4) 1) CERN –

ROOT: 3 D Graphics R. Maunder 1) , T. Pocheptsov 4) 1) CERN – European Organization for Nuclear Research, Geneva, Switzerland 4) Joint Institute for Nuclear Research (JINR) GL viewer can now be used as a standalone viewer and as built in pad. TPad can render classical 2 D graphics, using X 11 or Windows graphics and 3 D graphics using Open. GL. We intend to exploit this to offer wide new range of data representation techniques. root[0] g. Style->Set. Canvas. Prefer. GL(k. TRUE); root[1]. x shapes. C Objects can be drawn as solids and solids with outlines: ROOT ‘s composite shapes (TGeo. Composite. Shape) can now be visualized with GL viewer: new TGeo. Composite. Shape("cs", "sphere + torus") + == new TGeo. Composite. Shape("cs", "sphere - torus") - == new TGeo. Composite. Shape("cs", "box * sphere") * TGeo. Composite. Shape == *cs 1 = new TGeo. Composite. Shape("cs 1", "tub 1+tub 1: r 1"); *cs 2 = new TGeo. Composite. Shape("cs 2", "tub 2+tub 2: r 1"); *cs 3 = new TGeo. Composite. Shape("cs 3", "cs 1 -cs 2"); *cs = new TGeo. Composite. Shape("cs", "cs 3*box: r 2");