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

Scavenger example. More...

#include "DetectorConstruction.hh"
#include "PhysicsList.hh"
#include "ActionInitialization.hh"
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Scavenger example.

Definition in file scavenger.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 46 of file scavenger.cc.

47{
48 G4UIExecutive* pUi = nullptr;
49 if ( argc == 1 ) { pUi = new G4UIExecutive(argc, argv); }
50
51 if(argc > 2)
52 {
53 G4int change_seed(0);
54 change_seed = std::stoi(argv[2]);
55 long enterseed = change_seed;
56 G4Random::setTheSeed(enterseed);
57 G4Random::showEngineStatus();
58 G4cout<<"Used seed : "<<change_seed<<G4endl;
59 }
60
61#ifdef G4MULTITHREADED
62 std::unique_ptr<G4MTRunManager> pRunManager(new G4MTRunManager);
63 pRunManager->SetNumberOfThreads(2);//by default
64#else
65 std::unique_ptr<G4RunManager> pRunManager(new G4RunManager);
66#endif
67
68 // Set mandatory initialization classes
69 pRunManager->SetUserInitialization(new PhysicsList());
70 pRunManager->SetUserInitialization(new DetectorConstruction());
71 pRunManager->SetUserInitialization(new ActionInitialization());
72
73 //visualization
74 std::unique_ptr<G4VisManager> pVisuManager(new G4VisExecutive);
75 pVisuManager->Initialize();
76
77 // Get the pointer to the User Interface manager
78 auto pUImanager = G4UImanager::GetUIpointer();
79
80 // Bash mode : define UI session
81 if ( pUi == nullptr )
82 {
83 // batch mode
84 pUImanager->ApplyCommand("/control/macroPath ../");
85 G4String command = "/control/execute ";
86 G4String fileName = argv[1];
87 pUImanager->ApplyCommand(command+fileName);
88 }
89 else
90 {
91 // interactive mode
92 pUImanager->ApplyCommand("/control/execute vis.mac");
93 pUi->SessionStart();
94 delete pUi;
95 }
96 return 0;
97}
Instantiates and registers to Geant4 kernel all user action classes.
Defines the geometry and scorers for calculating chemical species yields.
Geant4 modular physics list using G4EmDNAPhysics_option2 and EmDNAChemistry constructors.

Applications | User Support | Publications | Collaboration