36 #include "FTFP_BERT.hh" 37 #include "G4RunManager.hh" 38 #include "G4UImanager.hh" 40 #include "ExN04DetectorConstruction.hh" 41 #include "ExN04EventAction.hh" 42 #include "ExN04PrimaryGeneratorAction.hh" 43 #include "ExN04RunAction.hh" 44 #include "ExN04StackingAction.hh" 45 #include "ExN04SteppingAction.hh" 46 #include "ExN04SteppingVerbose.hh" 47 #include "ExN04TrackingAction.hh" 49 #include "G4VisExecutive.hh" 50 #include "G4UIExecutive.hh" 52 int main(
int argc,
char** argv)
55 G4UIExecutive* ui =
nullptr;
57 ui =
new G4UIExecutive(argc, argv);
62 G4VSteppingVerbose* verbosity =
new ExN04SteppingVerbose;
63 G4VSteppingVerbose::SetInstance(verbosity);
67 G4RunManager* runManager =
new G4RunManager;
71 G4VUserDetectorConstruction* detector =
new ExN04DetectorConstruction;
72 runManager->SetUserInitialization(detector);
74 G4VUserPhysicsList* physics =
new FTFP_BERT;
75 runManager->SetUserInitialization(physics);
77 runManager->Initialize();
81 G4VUserPrimaryGeneratorAction* gen_action =
new ExN04PrimaryGeneratorAction;
82 runManager->SetUserAction(gen_action);
84 G4UserRunAction* run_action =
new ExN04RunAction;
85 runManager->SetUserAction(run_action);
87 G4UserEventAction* event_action =
new ExN04EventAction;
88 runManager->SetUserAction(event_action);
90 G4UserStackingAction* stacking_action =
new ExN04StackingAction;
91 runManager->SetUserAction(stacking_action);
93 G4UserTrackingAction* tracking_action =
new ExN04TrackingAction;
94 runManager->SetUserAction(tracking_action);
96 G4UserSteppingAction* stepping_action =
new ExN04SteppingAction;
97 runManager->SetUserAction(stepping_action);
99 G4VisManager* visManager =
new G4VisExecutive;
100 visManager->Initialize();
103 G4UImanager* UImanager = G4UImanager::GetUIpointer();
107 visManager->SetVerboseLevel(
"quiet");
108 G4String command =
"/control/execute ";
110 UImanager->ApplyCommand(command+fileName);
int main(int argc, char **argv)