Laurent Garnier OSUR Geant 4 Collaboration Meeting 28
Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 1
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 / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 2
Quick overview of UI’s What do we have : G 4 UIQt, the most up to date viewer, base on Qt framework G 4 UITerminal, the default user interface of Geant 4, G 4 UIXm, G 4 UIWin 32, variations of the upper terminal by using a Motif or Windows widget GAG, a fully Graphical User Interface and its extension G 4 UIGain. Server of the client/server type. Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 3
What’s new in User Interfaces ? • No major new features developped • Bugs fixes • G 4 UIQt : • add methods to access user interface components Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 4
Updates on G 4 UIQt Geant 4. 10. 0. p 5 with Qt 4. 8 Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago Geant 4. 10. 2 with Qt 5. 5 5
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 / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 6
Vis flow diagram - multithreaded mode G 4 Vis. Manager Vis thread Inform viewer Begin. Of. Run Launch vis thread Pop and release event Inform viewer Draw event Set run. In. Progress Qsize Begin. Of. Event End. Of. Event Qsize sleep Too big Keep event and push to Q End. Of. Run Reset run. In. Progress Wait for vis thread to finish run. In. Progress sleep != 0 no Inform viewer end Notes: • Queue is std: : deque<const G 4 Event*> • Appropriate locks are used to set and reset run. In. Progress • “Keep” and “release” refer to messages to the run manager (new feature)
Vis thread Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 8
Updates on Vis • C++11 • Re-implemented graphics system fallback strategy • Fix a problem when zooming on small volumes Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 9
Question ? Laurent Garnier - OSUR / Geant 4 Collaboration Meeting - 28 Sept 2015 - Chicago 10
- Slides: 10