User Interface The full set of lecture notes of this Geant4 Course is available at

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

Physicist Interfaces Project an overview Physicist Interfaces Project an overview Jakub T. Moscicki CERN June 2003.
Maria Grazia Pia, INFN Genova 1 Data analysis with R in an experimental physics environment Andreas Pfeiffer (CERN) and Maria Grazia Pia (INFN Genova)
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
First Step on User Commands Makoto Asai (SLAC) Geant4 Users CERN Nov. 11th, 2002.
Geant4 v9.2p02 User Interface I Makoto Asai (SLAC) Geant4 Tutorial Course.
June 4-8, 2007 G4ParisAnalysis 2 P. Gueye1 Analysis 2 Histograms and ntuples Paul Guèye Hampton University Hampton VA
User Interface I Makoto Asai (SLAC) Geant4 Tutorial Course Geant4 v8.3.
G.Barrand / LAL / IN2P3 / CNRS AIDA analysis tools and Geant4 A user roadmap.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Geant4 v9.4 User Interface I Makoto Asai (SLAC) Geant4 Tutorial Course.
Guide To UNIX Using Linux Third Edition
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Software Installation, release 4.0 Geant4 Users’ Workshop Tutorial SLAC February 18-22, 2002 Takashi Sasaki, Gabriele Cosmo,
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
Susanna GuatelliGeant4 Workshop 2004 Use of Analysis Tools Geant4 Workshop 2004, Catania Susanna Guatelli, INFN Genova.
PART A Emac Lisp   Emac Lisp is a programming language  Emacs Lisp is a dialect.
Software Installation The full set of lecture notes of this Geant4 Course is available at
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
(G)UI status and developments Geant4 Workshop at CERN Oct. 02, 2002 Hajime Yoshida.
Improvements in Interface, Intercoms and environments Koichi Murakami (KEK/CRC) Koichi Murakami Geant4 Collaboration Workshop (18/Sep/2007) 1.
CS110/CS119 Introduction to Computing (Java)
IEEE Nuclear Science Symposium and Medical Imaging Conference Short Course The Geant4 Simulation Toolkit Sunanda Banerjee (Saha Inst. Nucl. Phys., Kolkata,
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
JAS/Wired + Geant 4 Tony Johnson July Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to.
Java Root IO Part of the FreeHEP Java Library Tony Johnson Mark Dönszelmann
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Definition The framework is a library that controls the flow of events and data through well-defined interface points defined by user-written algorithm.
WDO-It! 102 Workshop: Using an abstraction of a process to capture provenance UTEP’s Trust Laboratory NDR HP MP.
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Sung-Dong Kim Dept. of Computer Engineering, Hansung University Chapter 3 Programming Tools.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
 CSC 215 : Procedural Programming with C C Compilers.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Java Interview Questions
Chapter 2: Operating-System Structures
Getting Started with R.
Event loops 16-Jun-18.
The full set of lecture notes of this Geant4 Course is available at
GUI Parallel Session Hajime Yoshida
UI & Interfaces : latest updates
User Documents and Examples I
Visualisation and (G)UI
User Interface
Chapter 2: System Structures
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
Event loops.
Introduction to Algorithm Design
Makoto Asai (SLAC) Geant4 Tutorial Course
Software Installation
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Event loops 8-Apr-19.
Chapter 2: Operating-System Structures
Software Installation, release 4.0
Event loops.
Visualisation and (G)UI
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

User Interface The full set of lecture notes of this Geant4 Course is available at

Contents Setting up user interfaces Analysis User commands 1

Steering the Simulation A Geant4 simulation can be steered by a batch session or by commands captured from an interactive session Setting up batch mode is easy: –In your main() G4UImanager* UI = G4UImanager::GetUIpointer(); G4String command = “/control/execute”; G4String fileName = argv[1]; UI -> applyCommand(command+fileName); Setting up interactive mode is also easy – but there are many choices of interface –All must be derived from the abstract class G4UIsession –Geant4 provides several implementations 1

User Interface Choices G4UIterminal – C-shell-like character terminal –runs on all Geant4-supported platforms G4UItcsh – tcsh-like character terminal with command completion, history, etc. –runs only on Solaris and Linux G4UIXm, G4UIXaw, G4UIXWin32 – G4UIterminal implemented over Motif, Athena and WIN32 libraries –runs on Unix/linux and Windows, respectively G4UIGAG – Java-based GUI –runs on all Geant4 platforms 1

How to Use the Interface In your main() add the lines: #include “G4UIxxx.hh” // xxx = terminal, Xm, Xaw, Win32, GAG G4UISession* session = new G4UIxxx; UI->ApplyCommand(“/control/execute somefile.mac”); // optional session->SessionStart(); delete session; For a tcsh session, the second line must be G4UIsession* session = new G4UIterminal(new G4UItcsh); Many examples in –examples/novice/N01, N02, N03,.... 1

Environment Variables None required in order to use G4UIterminal, G4UItcsh, G4UIGAG –these sessions do not need external libraries, so they are automatically built and linked To build G4UIXm, G4UIXaw, or G4UIXWin32 setenv G4UI_USE_XM 1, or setenv G4UI_USE_XAW 1, or setenv G4UI_USE_WIN32 1 1

Useful GUI Tools Released by Geant4 Developers GGE: Geometry editor based on Java GUI – GPE: Physics editor based on Java GUI – OpenScientist: interactive environment for analysis – 1

Analysis Interface Geant4 does not endorse or support particular analysis packages However an abstract analysis interface is provided –AIDA (Abstract Interfaces for Data Analysis) –will be built and linked to your application if enviroment variable G4ANALYSIS_USE is set –AIDA headers must be installed in code where analysis is set up  #include AIDA/AIDA.h –must use AIDA-compliant analysis tools More AIDA information: – 1

Some AIDA-compliant Analysis Packages Anaphe – Open Scientist Lab – –an example using Open Scientist can be found in examples/extended/analysis/AnaEx01 JAS (Java Analysis Studio) – –for analysis example using JAS/AIDA see examples/extended/analysis/A01 1

Built-in User Commands Geant4 provides a number of user interface commands which can be used: –interactively via a (G)UI –in a macro file via /control/execute –within C++ code using the ApplyCommand method of G4UImanager A complete list of built-in commands, roughly organized according to Geant4 categories is available in the Geant4 Application Developers Guide, Chapter 7.1 1

User-defined Commands If built-in commands are not enough, you can make your own Geant4 provides several command classes, all derived from G4UIcommand: –G4UIcmdWithoutParameter –G4UIcmdWithABool –G4UIcmdWithADouble –and many more Example energyCmd = new G4UIcmdWithADoubleAndUnit(“/gun/energy”, this); energyCmd->SetParameterName(“Energy”,true,true); energyCmd->SetDefaultUnit(GeV); See also Application Developers Guide, Chapter 7.2 1