Import Geant4 11.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2024-06-28 13:08:51 +02:00
parent f7b23877ed
commit e58e650b32
5232 changed files with 239416 additions and 244360 deletions
@@ -31,71 +31,69 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4SteppingVerbose.hh"
#include "Randomize.hh"
#include "DetectorConstruction.hh"
#include "PhysicsList.hh"
#include "PrimaryGeneratorAction.hh"
#include "G4RunManager.hh"
#include "G4SteppingVerbose.hh"
#include "G4UIExecutive.hh"
#include "G4UImanager.hh"
#include "G4VisExecutive.hh"
#include "Randomize.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
int main(int argc,char** argv) {
//detect interactive mode (if no arguments) and define UI session
int main(int argc, char** argv)
{
// detect interactive mode (if no arguments) and define UI session
G4UIExecutive* ui = nullptr;
if (argc == 1) ui = new G4UIExecutive(argc,argv);
if (argc == 1) ui = new G4UIExecutive(argc, argv);
//choose the Random engine
// choose the Random engine
CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine);
//use G4SteppingVerboseWithUnits
// use G4SteppingVerboseWithUnits
G4int precision = 4;
G4SteppingVerbose::UseBestUnit(precision);
//construct the default run manager
// construct the default run manager
auto runManager = new G4RunManager;
//set mandatory initialization classes
// set mandatory initialization classes
runManager->SetUserInitialization(new DetectorConstruction);
runManager->SetUserInitialization(new PhysicsList);
//set user action classes
// set user action classes
runManager->SetUserAction(new PrimaryGeneratorAction);
//initialize G4 kernel
// initialize G4 kernel
runManager->Initialize();
//initialize visualization
// initialize visualization
G4VisManager* visManager = nullptr;
//get the pointer to the User Interface manager
// get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (ui) {
//interactive mode
if (ui) {
// interactive mode
visManager = new G4VisExecutive;
visManager->Initialize();
///UImanager->ApplyCommand("/control/execute vis.mac");
/// UImanager->ApplyCommand("/control/execute vis.mac");
ui->SessionStart();
delete ui;
} else {
//batch mode
}
else {
// batch mode
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
UImanager->ApplyCommand(command + fileName);
}
//job termination
// job termination
delete visManager;
delete runManager;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....