Loading...
Searching...
No Matches
Functions
gdml_ext.cc File Reference

Main program of the persistency/gdml/G03 example. More...

#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "globals.hh"
#include "QGSP_BERT.hh"
#include "G03DetectorConstruction.hh"
#include "G03PrimaryGeneratorAction.hh"
#include "G03RunAction.hh"
#include "G4VisExecutive.hh"
#include "G4UIExecutive.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Main program of the persistency/gdml/G03 example.

Definition in file gdml_ext.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 58 of file gdml_ext.cc.

59{
60
61 // Construct a serial run manager
62 //
63 auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly);
64
65 // Set mandatory initialization and user action classes
66 //
68 runManager->SetUserInitialization(detector);
69 runManager->SetUserInitialization(new QGSP_BERT);
70 runManager->SetUserAction(new G03PrimaryGeneratorAction);
71 G03RunAction* runAction = new G03RunAction;
72 runManager->SetUserAction(runAction);
73
74 // Initialisation of runManager via macro for the interactive mode
75 // This gives possibility to give different names for GDML file to READ
76
77 // Initialize visualization
78 //
79 G4VisManager* visManager = new G4VisExecutive;
80 visManager->Initialize();
81
82 // Run initialisation macro
83 //
84 G4UImanager* UImanager = G4UImanager::GetUIpointer();
85
86 if ( argc==1 ) // Define UI session for interactive mode.
87 {
88 G4UIExecutive* ui = new G4UIExecutive(argc, argv);
89 UImanager->ApplyCommand("/control/execute vis.mac");
90 ui->SessionStart();
91 delete ui;
92 }
93 else // Batch mode
94 {
95 G4UIExecutive* ui = new G4UIExecutive(argc, argv);
96 G4String command = "/control/execute ";
97 G4String fileName = argv[1];
98 UImanager->ApplyCommand(command+fileName);
99 ui->SessionStart();
100 delete ui;
101 }
102
103 // Job termination
104 //
105 delete visManager;
106 delete runManager;
107
108 return 0;
109}
Detector construction for the GDML extensions example.
Primary generator action for the GDML extension example.
Run action for the GDML extension example.

Applications | User Support | Publications | Collaboration