LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
Hadr04.cc File Reference

Main program of the hadronic/Hadr04 example. More...

#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
#include "DetectorConstruction.hh"
#include "PhysicsList.hh"
#include "ActionInitialization.hh"
#include "SteppingVerbose.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Main program of the hadronic/Hadr04 example.

Definition in file Hadr04.cc.

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 59 of file Hadr04.cc.

59  {
60 
61  //choose the Random engine
62  G4Random::setTheEngine(new CLHEP::RanecuEngine);
63 
64  // Construct the default run manager
65 #ifdef G4MULTITHREADED
66  G4MTRunManager* runManager = new G4MTRunManager;
67  runManager->SetNumberOfThreads(G4Threading::G4GetNumberOfCores());
68 #else
69  //my Verbose output class
70  G4VSteppingVerbose::SetInstance(new SteppingVerbose);
71  G4RunManager* runManager = new G4RunManager;
72 #endif
73 
74  // set mandatory initialization classes
76  runManager->SetUserInitialization(det);
77 
78  PhysicsList* phys = new PhysicsList;
79  runManager->SetUserInitialization(phys);
80 
81  runManager->SetUserInitialization(new ActionInitialization(det));
82 
83  // get the pointer to the User Interface manager
84  G4UImanager* UI = G4UImanager::GetUIpointer();
85 
86  if (argc!=1) // batch mode
87  {
88  G4String command = "/control/execute ";
89  G4String fileName = argv[1];
90  UI->ApplyCommand(command+fileName);
91  }
92 
93  else //define visualization and UI terminal for interactive mode
94  {
95 #ifdef G4VIS_USE
96  G4VisManager* visManager = new G4VisExecutive;
97  visManager->Initialize();
98 #endif
99 
100 #ifdef G4UI_USE
101  G4UIExecutive * ui = new G4UIExecutive(argc,argv);
102  ui->SessionStart();
103  delete ui;
104 #endif
105 
106 #ifdef G4VIS_USE
107  delete visManager;
108 #endif
109  }
110 
111  // job termination
112  //
113  delete runManager;
114 
115  return 0;
116 }
TConfigurablePhysicsList< ModularPhysicsList > PhysicsList
Definition: PhysicsList.h:86