Main program of the parameterisations/gflash/gflash3 example.
More...
#include "G4Types.hh"
#include "G4ios.hh"
#include "G4Timer.hh"
#include "G4UImanager.hh"
#include "G4RunManager.hh"
#include "ExGflash3DetectorConstruction.hh"
#include "ExGflash3ParallelWorld.hh"
#include "ExGflashActionInitialization.hh"
#include "FTFP_BERT.hh"
#include "G4FastSimulationPhysics.hh"
#include "G4ParallelWorldPhysics.hh"
#include "G4VisExecutive.hh"
#include "G4UIExecutive.hh"
Go to the source code of this file.
|
int | main (int argc, char **argv) |
|
Main program of the parameterisations/gflash/gflash3 example.
Definition in file ExGflash3.cc.
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 58 of file ExGflash3.cc.
61 G4UIExecutive* ui =
nullptr;
63 ui =
new G4UIExecutive(argc, argv);
70 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
71 G4cout<<
"| |"<<G4endl;
72 G4cout<<
"| This is an example of Shower |"<<G4endl;
73 G4cout<<
"| Parameterization with GFLASH |"<<G4endl;
74 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
78 #ifdef G4MULTITHREADED 79 G4MTRunManager * runManager =
new G4MTRunManager;
80 runManager->SetNumberOfThreads(1);
81 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
82 G4cout<<
"| Constructing MT run manager |"<<G4endl;
83 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
85 G4RunManager * runManager =
new G4RunManager;
86 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
87 G4cout<<
"| Constructing sequential run manager |"<<G4endl;
88 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
92 G4cout<<
"# GFlash Example: Detector Construction"<<G4endl;
93 auto detector =
new ExGflash3DetectorConstruction();
94 detector->RegisterParallelWorld(
new ExGflash3ParallelWorld(
"parallelWorld"));
95 runManager->SetUserInitialization(detector);
99 G4VModularPhysicsList* physicsList =
new FTFP_BERT();
102 G4FastSimulationPhysics* fastSimulationPhysics =
new G4FastSimulationPhysics();
108 fastSimulationPhysics->ActivateFastSimulation(
"e-");
109 fastSimulationPhysics->ActivateFastSimulation(
"e+");
115 physicsList->RegisterPhysics(
new G4ParallelWorldPhysics(
"parallelWorld") );
116 physicsList->RegisterPhysics( fastSimulationPhysics );
117 runManager->SetUserInitialization(physicsList);
120 runManager->SetUserInitialization(
new ExGflashActionInitialization);
122 G4VisManager* visManager =
new G4VisExecutive;
123 visManager->Initialize();
125 G4UImanager* UImanager = G4UImanager::GetUIpointer();
126 UImanager->ApplyCommand(
"/run/verbose 0");
127 runManager->Initialize();
128 UImanager->ApplyCommand(
"/Step/Verbose 0");
132 UImanager->ApplyCommand(
"/control/execute vis.mac");
139 UImanager->ApplyCommand(
"/control/execute "+s);
147 G4cout <<
"******************************************";
149 G4cout <<
"Total Real Elapsed Time is: "<< timer.GetRealElapsed();
151 G4cout <<
"Total System Elapsed Time: " << timer.GetSystemElapsed();
153 G4cout <<
"Total GetUserElapsed Time: " << timer.GetUserElapsed();
155 G4cout <<
"******************************************";