Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
radioprotection.cc File Reference
#include "G4RunManager.hh"
#include "DetectorConstruction.hh"
#include "PhysicsList.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#include "G4VisExecutive.hh"
#include "G4MTRunManager.hh"
#include "AnalysisManager.hh"
#include "ActionInitialization.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 41 of file radioprotection.cc.

References G4UImanager::ApplyCommand(), G4UImanager::GetUIpointer(), G4VisManager::Initialize(), G4UIsession::SessionStart(), G4MTRunManager::SetNumberOfThreads(), and G4RunManager::SetUserInitialization().

42 {
43 
44 #ifdef G4MULTITHREADED
45  G4MTRunManager* pRunManager = new G4MTRunManager;
46  pRunManager->SetNumberOfThreads(4); // Is equal to 2 by default
47 #else
48  G4RunManager* pRunManager = new G4RunManager;
49 #endif
50 
51  AnalysisManager* analysis = new AnalysisManager();
52 
53  DetectorConstruction* detector = new DetectorConstruction(analysis);
54 
55  pRunManager -> SetUserInitialization(detector);
56 
57  G4VUserPhysicsList* physics = new PhysicsList();
58 
59  pRunManager -> SetUserInitialization(physics);
60 
61  // User action initialization
62 
63  ActionInitialization* actions = new ActionInitialization(analysis);
64  pRunManager->SetUserInitialization(actions);
65 
66  G4VisManager* visManager = new G4VisExecutive();
67  visManager->Initialize();
68 
69  // Get the pointer to the User Interface manager
70  //
72 
73  if(argc == 1){
74 
75  /*this sets up the user interface to run in interactive mode */
76  G4UIsession* session = new G4UIterminal(new G4UItcsh);
77  UI->ApplyCommand("/control/execute vis.mac");
78  //now, we run in interactive mode so tell the UI manager to read the vis.mac macro file and
79  //UI->ApplyCommand("/control/execute vis.mac");
80  session->SessionStart();
81 
82  delete session;
83  } else {
84  //otherwise we run in batch mode
85  G4String command = "/control/execute ";//create first part of command
86  G4String fileName = argv[1];//second part is the file name that was typed at the command line
87  UI->ApplyCommand(command+fileName);//join the two and pass to the UI manager for interpretation
88  }
89 
90  delete visManager;
91  delete analysis;
92  delete pRunManager;
93 
94  return 0;
95 }
virtual void SetUserInitialization(G4VUserDetectorConstruction *userInit)
void SetNumberOfThreads(G4int n)
virtual G4UIsession * SessionStart()
Definition: G4UIsession.cc:38
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:58
void Initialize()
G4int ApplyCommand(const char *aCommand)
Definition: G4UImanager.cc:419