G4RunMessenger.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 // 
00030 //      GEANT 4 class header file 
00031 
00032 // class description:
00033 //
00034 //      This is a messenger class for G4RunManager.
00035 //      Implemented commands are following;
00036 //
00037 //  Commands : 
00038 //    BeamOn *              Start a Run.
00039 //    Verbose *             Set the Verbose level of G4RunManager.
00040 //    dumpRegion *          Dump information of a region.
00041 //    dumpCouples *         Dump information of material-cuts-couples.
00042 //    optimizeGeometry *    Set the optimization flag of closing geometry.
00043 //    breakAtBeginOfEvent * Set a break point at the begining of every event.
00044 //    breakAtEndOfEvent *   Set a break point at the end of every event.
00045 //    abort *               Abort current run processing.
00046 //    Initialize *          Initialize G4 kernel.
00047 //    geometryModified *    Force geometry to be closed again.
00048 //    physicsModified *     Force cross-section tables to be calculated again.
00049 //           (and rebuilding physics table will be invoked)
00050 //    constructScoringWorlds * Constrct scoring world(s) if defined
00051 // 
00052 
00053 #ifndef G4RunMessenger_h
00054 #define G4RunMessenger_h 1
00055 
00056 class G4RunManager;
00057 class G4UIdirectory;
00058 class G4UIcmdWithoutParameter;
00059 class G4UIcmdWithAString;
00060 class G4UIcmdWithAnInteger;
00061 class G4UIcmdWithABool;
00062 class G4UIcommand;
00063 class G4MaterialScanner;
00064 
00065 #include "G4UImessenger.hh"
00066 #include "globals.hh"
00067 
00068 class G4RunMessenger: public G4UImessenger
00069 {
00070   public:
00071     G4RunMessenger(G4RunManager* runMgr);
00072     ~G4RunMessenger();
00073 
00074   public:
00075     void SetNewValue(G4UIcommand * command,G4String newValues);
00076     G4String GetCurrentValue(G4UIcommand * command);
00077 
00078   private:
00079     G4RunManager * runManager;
00080     G4String macroFileName; // internal use only!!!
00081     
00082   private: //commands
00083     G4UIdirectory *             runDirectory;
00084     G4UIcommand *               beamOnCmd;
00085     G4UIcmdWithAnInteger *      verboseCmd;
00086     G4UIcmdWithAString *        dumpRegCmd;
00087     G4UIcmdWithoutParameter *   dumpCoupleCmd;
00088     G4UIcmdWithABool *          optCmd;
00089     G4UIcmdWithABool *          brkBoECmd;
00090     G4UIcmdWithABool *          brkEoECmd;
00091     G4UIcmdWithABool *          abortCmd;
00092     G4UIcmdWithoutParameter *   abortEventCmd;
00093     G4UIcmdWithoutParameter *   initCmd;
00094     G4UIcmdWithoutParameter *   geomCmd;
00095     G4UIcmdWithoutParameter *   physCmd;
00096     G4UIcmdWithoutParameter *   cutCmd;
00097     G4UIcmdWithAnInteger *      randEvtCmd;
00098 
00099     G4UIdirectory *             randomDirectory;
00100     G4UIcmdWithAString *        seedCmd;
00101     G4UIcmdWithAString *        randDirCmd;
00102     G4UIcmdWithABool *          savingFlagCmd;
00103     G4UIcmdWithoutParameter *   saveThisRunCmd;
00104     G4UIcmdWithoutParameter *   saveThisEventCmd;
00105     G4UIcmdWithAString *        restoreRandCmd;
00106     
00107     G4UIcmdWithAString *        randDirOld;
00108     G4UIcmdWithAnInteger *      storeRandOld;
00109     G4UIcmdWithAString *        restoreRandOld;  
00110 
00111     G4UIcmdWithoutParameter *   constScoreCmd;
00112 
00113     G4MaterialScanner *         materialScanner;
00114 };
00115 
00116 #endif
00117 
00118 

Generated on Mon May 27 17:49:47 2013 for Geant4 by  doxygen 1.4.7