#define _GLIBCXX_USE_CXX11_ABI 0 #include //#include //#include #include "G4RunManager.hh" #include "G4UIExecutive.hh" #include "G4VisManager.hh" #include "G4VisExecutive.hh" #include "G4UImanager.hh" #include "Randomize.hh" #include "G4PhysListFactory.hh" #include "src/CENNSActionInitialization.hh" #include "src/CENNSPrimaryGeneratorAction.hh" #include "src/CENNSDetectorConstruction.hh" #include "src/CENNSPhysicsList.hh" int main(int argc,char** argv) { G4String macro; G4String CENNSPhysListmacro = ""; //G4int seed = 123; G4int seed = time(0); // returns time in seconds as an int time_t start_time = seed; for(G4int i = 1; i < argc; i = i + 2) { if(G4String(argv[i]) == "-m") macro = argv[i+1]; if(G4String(argv[i]) == "-s") seed = atoi(argv[i+1]); } // choose the Random engine G4Random::setTheEngine(new CLHEP::RanecuEngine); G4Random::setTheSeed(seed); G4cout << "SEED: "<SetUserInitialization(new CENNSDetectorConstruction); runManager->SetUserInitialization(new CENNSPhysicsList(CENNSPhysListmacro)); runManager->SetUserInitialization(new CENNSActionInitialization()); // visualization manager G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); // get the pointer to the User Interface manager G4UImanager* UImanager = G4UImanager::GetUIpointer(); // Batch mode if(macro.size()) { G4String command = "/control/execute "; UImanager->ApplyCommand(command+macro); } //Define UI session for interactive mode else { G4UIExecutive* ui = new G4UIExecutive(argc, argv); UImanager->ApplyCommand("/control/execute run.mac"); ui->SessionStart(); delete ui; } // } if(visManager) delete visManager; delete runManager; G4cout<<"Simulation took "<