36 #include "G4UImanager.hh" 38 #ifdef G4MULTITHREADED 39 #include "G4MTRunManager.hh" 41 #include "G4RunManager.hh" 45 #include "ExGflash2DetectorConstruction.hh" 46 #include "ExGflash2ParallelWorld.hh" 47 #include "ExGflashActionInitialization.hh" 49 #include "FTFP_BERT.hh" 50 #include "G4FastSimulationPhysics.hh" 52 #include "G4VisExecutive.hh" 53 #include "G4UIExecutive.hh" 57 int main(
int argc,
char** argv)
60 G4UIExecutive* ui =
nullptr;
62 ui =
new G4UIExecutive(argc, argv);
69 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
70 G4cout<<
"| |"<<G4endl;
71 G4cout<<
"| This is an example of Shower |"<<G4endl;
72 G4cout<<
"| Parameterization with GFLASH |"<<G4endl;
73 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
77 #ifdef G4MULTITHREADED 78 G4MTRunManager * runManager =
new G4MTRunManager;
79 runManager->SetNumberOfThreads(1);
80 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
81 G4cout<<
"| Constructing MT run manager |"<<G4endl;
82 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
84 G4RunManager * runManager =
new G4RunManager;
85 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
86 G4cout<<
"| Constructing sequential run manager |"<<G4endl;
87 G4cout<<
"+-------------------------------------------------------+"<<G4endl;
91 G4cout<<
"# GFlash Example: Detector Construction"<<G4endl;
92 auto detector =
new ExGflash2DetectorConstruction();
93 detector->RegisterParallelWorld(
new ExGflash2ParallelWorld(
"parallelWorld"));
94 runManager->SetUserInitialization(detector);
98 G4VModularPhysicsList* physicsList =
new FTFP_BERT();
101 G4FastSimulationPhysics* fastSimulationPhysics =
new G4FastSimulationPhysics();
107 fastSimulationPhysics->ActivateFastSimulation(
"e-",
"parallelWorld");
108 fastSimulationPhysics->ActivateFastSimulation(
"e+",
"parallelWorld");
114 physicsList->RegisterPhysics( fastSimulationPhysics );
115 runManager->SetUserInitialization(physicsList);
118 runManager->SetUserInitialization(
new ExGflashActionInitialization);
120 G4VisManager* visManager =
new G4VisExecutive;
121 visManager->Initialize();
123 G4UImanager* UImanager = G4UImanager::GetUIpointer();
124 UImanager->ApplyCommand(
"/run/verbose 0");
125 runManager->Initialize();
126 UImanager->ApplyCommand(
"/Step/Verbose 0");
130 UImanager->ApplyCommand(
"/control/execute vis.mac");
137 UImanager->ApplyCommand(
"/control/execute "+s);
145 G4cout <<
"******************************************";
147 G4cout <<
"Total Real Elapsed Time is: "<< timer.GetRealElapsed();
149 G4cout <<
"Total System Elapsed Time: " << timer.GetSystemElapsed();
151 G4cout <<
"Total GetUserElapsed Time: " << timer.GetUserElapsed();
153 G4cout <<
"******************************************";
int main(int argc, char **argv)