
GEANT4 School: Understanding UI Commands and Interfaces for Particle Transport Simulation
Explore the use of interfaces and UI commands in GEANT4 for developing particle transport simulation applications. Learn how to describe and solve simulation problems step-by-step while utilizing the necessary components provided by GEANT4. Enhance your understanding of application development and user interfaces in the context of particle transport simulations.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Basic on UI commands Ruhani Khanna (INFN-LNS) VIII International GEANT4 school Tuesday 19thNovember, 2019 Belgrade, Serbia 1 softwareschool.infnlns@gmail.com
Lesson outline What interfaces are used for Methods to use UI commands Universal approach softwareschool.infnlns@gmail.com
What are interfaces used for 3 GEANT4 Provides necessary components to describe and solve particle transport simulation problems - Problem description = geometry, particles, physics - Problem solution = step-by- step particle transport computation while providing interaction points - softwareschool.infnlns@gmail.com
What are interfaces used for Application programmer 4 GEANT4 Provides necessary components to describe and solve particle transport simulation problems - Develops simulation application using components in the toolkit - Requires knowledge of both the C++ and simulation toolkit - Problem description = geometry, particles, physics - Problem solution = step-by- step particle transport computation while providing interaction points - softwareschool.infnlns@gmail.com
What are interfaces used for Application programmer 5 GEANT4 Provides necessary components to describe and solve particle transport simulation problems - Develops simulation application using components in the toolkit - Requires knowledge of both the C++ and simulation toolkit - Problem description = geometry, particles, physics - Problem solution = step-by- step particle transport computation while providing interaction points - User interfaces enables the running of GEANT4 application without using c++ language softwareschool.infnlns@gmail.com
UI commands /run/verbose 1 softwareschool.infnlns@gmail.com
UI commands command /run/verbose 1 Command directory Parameter(s) can be string, boolean, integer, omitted for default runManager -> SetVerboseLevel(1) Sets how much output the run manager will print softwareschool.infnlns@gmail.com
UI commands other examples Initializes the run (constructing geometry, physics and preparing user actions) /run/initialize /run/beamOn 100 Starts a run with 100 events /control/execute macroName Run all commands contained in a macro file List of built List of built- -in commands: in commands: GEANT4 Application Developers Guide, Chapter 7.1 softwareschool.infnlns@gmail.com
Methods 9 Ways of steering the simulation Hard coded Batch Interactive softwareschool.infnlns@gmail.com
Methods 10 Ways of steering the simulation Hard coded Batch No user interaction Everything specified in C++ source Re-compile needed to apply changes - - - Interactive softwareschool.infnlns@gmail.com
Methods 11 Ways of steering the simulation Hard coded Batch - Commands in external macro file Interactive softwareschool.infnlns@gmail.com
Methods 12 Ways of steering the simulation Hard coded Batch Interactive - Real time command input by user Textual, graphical (network-based) - softwareschool.infnlns@gmail.com
Methods 13 Ways of steering the simulation Hard coded Batch Interactive - Real time command input by user Textual, graphical (network-based) - softwareschool.infnlns@gmail.com
Method 1: Hard coded C++ /run/beamOn Must initialise and start the run by Number of events must be specified softwareschool.infnlns@gmail.com
Method 2: Batch session This example gets the file name of the macro from the command-line argument ./myApplication my- macro.mac softwareschool.infnlns@gmail.com
Method 3: Interactive session Commands processed one-by-one through G4 User Interface session (many different types inheriting from G4UIsession class Qt-GUI GAG-GUI (java based) Interfaces: Xm-GUI (motif based) C-shell (tsch, csh) Concrete UI session Class enabling selection of appropriate session at runtime based on environmental variables (recommended) G4UIQt session G4UIExecutive softwareschool.infnlns@gmail.com
Method 3: Interactive session Concrete UI session softwareschool.infnlns@gmail.com
Method 3: Interactive session G4UIQt session Visualisaiton softwareschool.infnlns@gmail.com
Method 3: Interactive session G4UIExecutive softwareschool.infnlns@gmail.com
Universal approach Batch/interactive (based on application argument) No argument -> interactive mode One argument -> batch mode ??? softwareschool.infnlns@gmail.com
Executing macros ASCII file containing UI commands Macro files can be executed: exampleB1.mac # comment line Interactively /control/execute macro_filename Batch session Command inputted in macro file Hard coded softwareschool.infnlns@gmail.com
Thank you softwareschool.infnlns@gmail.com
Tasks to do: Exercise 0.1: Find and understand the GEANT4 environment file Exercise 0.2: Check your Geant4 environment Exercise 0.3: compile and run the basic example B1 http://geant4.lngs.infn.it/belgrade2019/introduction /index.html softwareschool.infnlns@gmail.com