2.13.  Intercoms

2.13.1.  Design Philosophy

The intercoms category implements an expandable command interpreter which is the key mechanism in Geant4 for realizing customizable and state-dependent user interactions with all categories without being perturbed by the dependencies among classes. The capturing of commands is handled by a C++ abstract class G4UIsession. Various concrete implementations of the command capturer are contained in the [user] interfaces category. Taking into account the rapid evolution of graphical user interface (GUI) technology and consequent dependence on external facilities, plural and extensible GUIs are offered.

Programmers need only know how to register the commands and parameters appropriate to their problem domain; no knowledge of GUI programming is required to allow an application to use them through one of the available GUIs.

The intercoms category also provides the virtual base classes

  • G4VVisManager,
  • G4VGraphicsScene, and
  • G4VGlobalFastSimulationManager.

2.13.2.  Class Design

  • G4UISession -
  • G4UIBatch -
  • G4UICommand -
  • G4UIparameter -
  • G4UImessenger -
  • G4UIExecutive: A concrete interface manager. It will register the UI selected by the environment variable set. It will take first by defaul the following order : G4UI_USE_QT, G4UI_USE_XM, G4UI_USE_WIN32, G4UI_USE_TCSH, Terminal

The object-oriented design of the 'user interface' related classes is shown in the class diagram Figure 2.24. The diagram is described in the Booch notation.

Overview of intercom classes

Figure 2.24.  Overview of intercom classes