Laurent Garnier - OSUR / Geant4 Collaboration 1 Meeting - - PowerPoint PPT Presentation

laurent garnier osur geant4 collaboration 1 meeting 28
SMART_READER_LITE
LIVE PREVIEW

Laurent Garnier - OSUR / Geant4 Collaboration 1 Meeting - - PowerPoint PPT Presentation

Laurent Garnier - OSUR / Geant4 Collaboration 1 Meeting - 28 Sept 2015 - Chicago Updates on Vis and UIs since 10.1 beta


slide-1
SLIDE 1

Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡ 1 ¡

slide-2
SLIDE 2

Updates ¡on ¡Vis ¡and ¡UI’s ¡since ¡ 10.1 ¡beta ¡

— 1.Quick ¡overview ¡of ¡UI’s ¡ — 2.What’s ¡new ¡in ¡UI ¡ — 3. ¡Updates ¡on ¡Vis ¡

— Multithreading ¡in ¡Visualization ¡ — C++11 ¡ — Re-­‑implemented ¡graphics ¡system ¡fallback ¡strategy ¡ — Fix ¡a ¡problem ¡when ¡zooming ¡on ¡small ¡volumes ¡

2 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

slide-3
SLIDE 3

Quick ¡overview ¡of ¡UI’s ¡

3 ¡

— What ¡do ¡we ¡have ¡: ¡

¡ — G4UIQt, ¡the ¡ ¡most ¡up ¡to ¡date ¡viewer, ¡base ¡on ¡Qt ¡framework ¡ — G4UITerminal, ¡the ¡default ¡user ¡interface ¡of ¡Geant4, ¡ — G4UIXm, ¡G4UIWin32, ¡variations ¡of ¡the ¡upper ¡terminal ¡by ¡using ¡a ¡Motif ¡

  • r ¡Windows ¡widget ¡ ¡

— GAG, ¡a ¡fully ¡Graphical ¡User ¡Interface ¡and ¡its ¡extension ¡G4UIGainServer ¡

  • f ¡the ¡client/server ¡type. ¡

Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

slide-4
SLIDE 4

What’s ¡new ¡in ¡User ¡Interfaces ¡? ¡

4 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

  • No major new features developped
  • Bugs fixes
  • G4UIQt :
  • add methods to access user interface components
slide-5
SLIDE 5

Updates ¡on ¡G4UIQt

¡

5 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

Geant4.10.0.p5 with Qt4.8 Geant4.10.2 with Qt5.5

slide-6
SLIDE 6

Updates ¡on ¡Vis ¡: ¡Multithread ¡

(Slides ¡from ¡John ¡Allison) ¡

6 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

  • Aim:

visualisation behaviour in multithreading mode should be as close as possible to sequential mode

  • In 10.0 and 10.1

Events (default 100) are saved and displayed at end of run Clearly different to sequential, but good enough for checking

  • From 10.2

Events are queued and drawn by a separate vis thread during the run To the user, multithreaded behaves same as sequential As users adopt multithreading they require full vis features

slide-7
SLIDE 7

Vis ¡flow ¡diagram ¡-­‑ ¡multithreaded ¡mode ¡

G4 G4VisManager BeginOfRun

Launch vis thread Set runInProgress

BeginOfEvent EndOfEvent

Keep ¡event ¡and ¡push ¡to ¡Q ¡

Qsize Too big sleep

EndOfRun

Inform viewer Reset runInProgress Wait for vis thread to finish

Vis thread

end

Qsize != 0

Draw event Pop and release event

runInProgress

sleep

Inform viewer no Inform viewer

Notes:

  • Queue is std::deque<const G4Event*>
  • Appropriate locks are used to set and reset

runInProgress

  • “Keep” and “release” refer to messages to the

run manager (new feature)

slide-8
SLIDE 8

Vis ¡thread

¡

8 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

slide-9
SLIDE 9

Updates ¡on ¡Vis

¡

9 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡

  • C++11 ¡
  • Re-­‑implemented ¡graphics ¡system ¡fallback ¡strategy ¡
  • Fix ¡a ¡problem ¡when ¡zooming ¡on ¡small ¡volumes ¡
slide-10
SLIDE 10

Question ¡? ¡

10 ¡ Laurent ¡Garnier ¡-­‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ Meeting ¡-­‑ ¡28 ¡Sept ¡2015 ¡-­‑ ¡Chicago ¡