Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 1 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
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 ¡ Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 2 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Quick ¡overview ¡of ¡UI’s ¡ 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 ¡ or ¡Windows ¡widget ¡ ¡ GAG, ¡a ¡fully ¡Graphical ¡User ¡Interface ¡and ¡its ¡extension ¡ G4UIGainServer ¡ of ¡the ¡client/server ¡type. ¡ Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 3 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
What’s ¡new ¡in ¡User ¡Interfaces ¡? ¡ • No major new features developped • Bugs fixes • G4UIQt : • add methods to access user interface components Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 4 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Updates ¡on ¡G4UIQt ¡ Geant4.10.0.p5 with Qt4.8 Geant4.10.2 with Qt5.5 Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 5 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Updates ¡on ¡Vis ¡: ¡Multithread ¡ (Slides ¡from ¡John ¡Allison) ¡ • 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 Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 6 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Vis ¡flow ¡diagram ¡-‑ ¡multithreaded ¡mode ¡ G4 G4VisManager Vis thread Inform viewer BeginOfRun Launch vis thread Pop and release event Inform viewer Draw event Set runInProgress != 0 Qsize BeginOfEvent EndOfEvent no runInProgress sleep Qsize Too big sleep Inform viewer Keep ¡event ¡and ¡push ¡to ¡Q ¡ EndOfRun end Notes: Reset runInProgress • Queue is std::deque<const G4Event*> • Appropriate locks are used to set and reset Wait for vis thread to finish runInProgress • “Keep” and “release” refer to messages to the run manager (new feature)
Vis ¡thread ¡ Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 8 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Updates ¡on ¡Vis ¡ • C++11 ¡ • Re-‑implemented ¡graphics ¡system ¡fallback ¡strategy ¡ • Fix ¡a ¡problem ¡when ¡zooming ¡on ¡small ¡volumes ¡ Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 9 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Question ¡? ¡ Laurent ¡Garnier ¡-‑ ¡OSUR ¡/ ¡Geant4 ¡Collaboration ¡ 10 ¡ Meeting ¡-‑ ¡28 ¡Sept ¡2015 ¡-‑ ¡Chicago ¡
Recommend
More recommend