Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RE04.cc File Reference

Main program of the runAndEvent/RE04 example. More...

Include dependency graph for RE04.cc:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Main program of the runAndEvent/RE04 example.

Definition in file RE04.cc.

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 54 of file RE04.cc.

55 {
56  // Construct the run manager
57  //
58 #ifdef G4MULTITHREADED
59  G4MTRunManager * runManager = new G4MTRunManager;
60  //runManager->SetNumberOfThreads(4);
61 #else
62  G4RunManager * runManager = new G4RunManager;
63 #endif
64 
66 
67  G4String paraWorldName = "ParallelWorld";
68 
69  // Set mandatory initialization classes
70  //
72  RE04ParallelWorldConstruction* parallelWorld
73  = new RE04ParallelWorldConstruction(paraWorldName);
74  realWorld->RegisterParallelWorld(parallelWorld);
75  runManager->SetUserInitialization(realWorld);
76  //
77  G4VModularPhysicsList* physicsList = new FTFP_BERT;
78  physicsList->RegisterPhysics
79  (new G4ParallelWorldPhysics(paraWorldName,true));
80  runManager->SetUserInitialization(physicsList);
81 
82  // Set user action classes
83  //
85 
86 #ifdef G4VIS_USE
87  // Visualization manager
88  //
89  G4VisManager* visManager = new G4VisExecutive;
90  visManager->Initialize();
91 #endif
92 
93  // Initialize G4 kernel
94  //
95  runManager->Initialize();
96 
97  // Get the pointer to the User Interface manager
98  //
99  G4UImanager* pUImanager = G4UImanager::GetUIpointer();
100 
101  if (argc==1) // Define UI session for interactive mode
102  {
103 #ifdef G4UI_USE
104  G4UIExecutive * ui = new G4UIExecutive(argc,argv);
105 #ifdef G4VIS_USE
106  pUImanager->ApplyCommand("/control/execute vis.mac");
107 #endif
108  ui->SessionStart();
109  delete ui;
110 #endif
111  }
112  else // Batch mode
113  {
114  G4String command = "/control/execute ";
115  G4String fileName = argv[1];
116  pUImanager->ApplyCommand(command+fileName);
117  }
118 
119 #ifdef G4VIS_USE
120  delete visManager;
121 #endif
122  delete runManager;
123 
124  return 0;
125 }
virtual void SetUserInitialization(G4VUserDetectorConstruction *userInit)
void RegisterPhysics(G4VPhysicsConstructor *)
void RegisterParallelWorld(G4VUserParallelWorld *)
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:59
void Initialize()
TFTFP_BERT< G4VModularPhysicsList > FTFP_BERT
Definition: FTFP_BERT.hh:63
virtual void Initialize()
static G4ScoringManager * GetScoringManager()
G4int ApplyCommand(const char *aCommand)
Definition: G4UImanager.cc:447

Here is the call graph for this function: