Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4RunMessenger.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// G4RunMessenger
27//
28// Class description:
29//
30// This is a messenger class for G4RunManager.
31// Implemented commands are following;
32//
33// beamOn * Start a Run.
34// verbose * Set the Verbose level of G4RunManager.
35// printProgress * Set the frequency of printing out progress of a run.
36// dumpRegion * Dump information of a region.
37// dumpCouples * Dump information of material-cuts-couples.
38// optimizeGeometry * Set the optimization flag of closing geometry.
39// breakAtBeginOfEvent * Set a break point at the beginning of every event.
40// breakAtEndOfEvent * Set a break point at the end of every event.
41// abort * Abort current run processing.
42// Initialize * Initialise G4 kernel.
43// geometryModified * Force geometry to be closed again.
44// physicsModified * Force cross-section tables to be calculated again
45// (and rebuilding physics table will be invoked).
46// constructScoringWorlds * Construct scoring world(s) if defined.
47
48// Original author: M.Asai, 1997
49// --------------------------------------------------------------------
50#ifndef G4RunMessenger_hh
51#define G4RunMessenger_hh 1
52
53#include "globals.hh"
54#include "G4UImessenger.hh"
55
56class G4RunManager;
57class G4UIdirectory;
62class G4UIcommand;
64
66{
67 public:
68
71
72 void SetNewValue(G4UIcommand* command, G4String newValues);
74
75 private:
76
77 G4RunManager* runManager = nullptr;
78 G4String macroFileName = "***NULL***"; // internal use only!!!
79
80 G4UIdirectory* runDirectory = nullptr;
81 G4UIcommand* beamOnCmd = nullptr;
82 G4UIcmdWithAnInteger* verboseCmd = nullptr;
83 G4UIcmdWithAnInteger* printProgCmd = nullptr;
84 G4UIcmdWithAnInteger* nThreadsCmd = nullptr;
85 G4UIcmdWithoutParameter* maxThreadsCmd = nullptr;
86 G4UIcmdWithAnInteger* pinAffinityCmd = nullptr;
87 G4UIcommand* evModCmd = nullptr;
88 G4UIcmdWithAString* dumpRegCmd = nullptr;
89 G4UIcmdWithoutParameter* dumpCoupleCmd = nullptr;
90 G4UIcmdWithABool* optCmd = nullptr;
91 G4UIcmdWithABool* brkBoECmd = nullptr;
92 G4UIcmdWithABool* brkEoECmd = nullptr;
93 G4UIcmdWithABool* abortCmd = nullptr;
94 G4UIcmdWithoutParameter* abortEventCmd = nullptr;
95 G4UIcmdWithoutParameter* initCmd = nullptr;
96 G4UIcmdWithoutParameter* geomCmd = nullptr;
97 G4UIcmdWithABool* geomRebCmd = nullptr;
98 G4UIcmdWithoutParameter* physCmd = nullptr;
99 G4UIcmdWithAnInteger* randEvtCmd = nullptr;
100 G4UIcommand* procUICmds = nullptr;
101
102 G4UIdirectory* randomDirectory = nullptr;
103 G4UIcmdWithAString* seedCmd = nullptr;
104 G4UIcmdWithAString* randDirCmd = nullptr;
105 G4UIcmdWithABool* savingFlagCmd = nullptr;
106 G4UIcmdWithoutParameter* saveThisRunCmd = nullptr;
107 G4UIcmdWithoutParameter* saveThisEventCmd = nullptr;
108 G4UIcmdWithAString* restoreRandCmd = nullptr;
109 G4UIcmdWithABool* saveEachEventCmd = nullptr;
110 G4UIcmdWithABool* restoreRandCmdMT = nullptr;
111
112 G4UIcmdWithoutParameter* constScoreCmd = nullptr;
113
114 G4MaterialScanner* materialScanner = nullptr;
115};
116
117#endif
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValues)