Root-Browser.pdf - CERN Indico

26
New Root browser

Transcript of Root-Browser.pdf - CERN Indico

New Root browser

SOUQUET Thibault

[email protected]

• github.com/Falcort

• Computer Science DUT (Technical University Degree)

• French Engineering school (CESI)

Contact

Diplomas

2

Internship from : September 24 2019 to February 7 2020

JavascriptBrowser

3

Why ?

Before

After

CocoaNative

Open UI 5

• Web components

• Open source

• Responsive

OpenUI 5 Themes

SAP_BELIZE

OpenUI 5 Themes

SAP_FIORI_3

Communication

8

Websocket

Root (server)

Web browser (client)

CommunicationC++

9

CommunicationJavascript

10

Main work

12

Drawing

• Read Root file with C++

• Send the plot in JSON to JSROOT via websocket

• JSROOT draw the plot

13

Drawing Options

• Drawing options for every graphic classes

In the old GUI

14

Breadcrumbs

Breadcrumbs = Path viewer

• Click : send cd to C++

• C++ : change working dir

• C++ : Send new working dir informations

• Javascript : Update tree view

15

SplitApp

• For mobile

• Master on the left

• Detail on the right

• Master can be hide

16

SplitApp - Fullscreen

• Master hidden

17

SplitApp - Wide Master

• Master is larger

18

Tabs

• Multiple code editors

• Multiple Root 6/7 canvases

• Multiple image viewers

19

Terminal

• Javascript send the command

• C++ execute the command and output into file

• C++ send file output content

• Javascript write into the web terminal

20

Image viewer

• Drag & Drop

• Can use use anywhere

• Root browser

• Root website

• (Doxygen)

Will be used in :

21

Old GUI

22

New GUI at beginning of my internship

23

New GUI current status

Other works

• Code editor rewrite(To work with N number of code editors)

• Prototype of tests for the GUI with OpenUI 5 test framework

• Small tweaks on the new Root website

• Code reformat (new Javascript standards)

Personal conclusion

• Learned C++

• Learned OpenUI 5

• Learned a lot of physics

• Visited ALICE, and CMS

• Loved CERN

Thank you !