36 #include "G4UImanager.hh" 38 #ifdef G4MULTITHREADED 39 #include "G4MTRunManager.hh" 41 #include "G4RunManager.hh" 45 #include "ExGflash3DetectorConstruction.hh" 46 #include "ExGflash3ParallelWorld.hh" 47 #include "ExGflashActionInitialization.hh" 49 #include "FTFP_BERT.hh" 50 #include "G4FastSimulationPhysics.hh" 51 #include "G4ParallelWorldPhysics.hh" 53 #include "G4VisExecutive.hh" 54 #include "G4UIExecutive.hh" 58 int main(
int argc,
char** argv)
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 <<
"******************************************";
int main(int argc, char **argv)