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

Main program of the exoticphysics/phonon example. More...

#include "G4Types.hh"
#include "G4UImanager.hh"
#include "G4UserSteppingAction.hh"
#include "G4RunManagerFactory.hh"
#include "G4VisExecutive.hh"
#include "G4UIExecutive.hh"
#include "XActionInitialization.hh"
#include "XDetectorConstruction.hh"
#include "XPhysicsList.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Main program of the exoticphysics/phonon example.

Definition in file XGeBox.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 48 of file XGeBox.cc.

48 {
49
50 // Instantiate G4UIExecutive if interactive mode
51 G4UIExecutive* ui = nullptr;
52 if ( argc == 1 ) {
53 ui = new G4UIExecutive(argc, argv);
54 }
55
56 // Construct the run manager
57 //
58 auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default);
59
60 // Set mandatory initialization classes
61 //
63 runManager->SetUserInitialization(detector);
64 //
65 G4VUserPhysicsList* physics = new XPhysicsList();
66 physics->SetCuts();
67 runManager->SetUserInitialization(physics);
68
69 // Set user action classes
70 //
71 runManager->SetUserInitialization(new XActionInitialization);
72
73 // Visualization manager
74 //
75 G4VisManager* visManager = new G4VisExecutive;
76 visManager->Initialize();
77
78 // Initialize G4 kernel (replaces /run/initialize macro command)
79 //
80 runManager->Initialize();
81
82 // Get the pointer to the User Interface manager
83 //
84 G4UImanager* UImanager = G4UImanager::GetUIpointer();
85
86 if (ui) // Define UI session for interactive mode
87 {
88 UImanager->ApplyCommand("/control/execute vis.mac");
89 ui->SessionStart();
90 delete ui;
91 }
92 else // Batch mode
93 {
94 G4String command = "/control/execute ";
95 G4String fileName = argv[1];
96 UImanager->ApplyCommand(command+fileName);
97 }
98
99 delete visManager;
100 delete runManager;
101
102 return 0;
103}

Applications | User Support | Publications | Collaboration