#include "DetectorConstruction.hh" #include "primarygenerator.hh" #include "G4UIsession.hh" #include "G4RunManager.hh" #include "myphysiclist.hh" #include "G4UImanager.hh" #include "G4VisExecutive.hh" #include "G4UIExecutive.hh" #include "G4UIterminal.hh" #include "G4VModularPhysicsList.hh" #include "G4EmStandardPhysics.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { G4RunManager* runManager = new G4RunManager(); runManager->SetUserInitialization(new DetectorConstruction()); runManager->SetUserInitialization(new myphysiclist()); runManager->SetUserAction(new primarygenerator); G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); runManager->Initialize(); int numberOfEvent = 5; runManager->BeamOn(numberOfEvent); G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4UIExecutive* ui = 0; if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } if ( ! ui ) { // batch mode G4String command = "/control/execute "; G4String fileName = argv[1]; UImanager->ApplyCommand(command+fileName); } else { // interactive mode UImanager->ApplyCommand("/control/execute init_vis.mac"); ui->SessionStart(); delete ui; } delete visManager; delete runManager; return 0; }