#include "CloverDetectorConstruction.hh" #include "CloverActionInitialization.hh" #include "CloverPhysicsList.hh" #include "G4RunManagerFactory.hh" #include "G4UImanager.hh" #include "FTFP_BERT.hh" #include "Randomize.hh" #include "G4VisExecutive.hh" #include "G4UIExecutive.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { // Detect interactive mode (if no macro provided) and define UI session // G4UIExecutive* ui = 0; if ( argc == 1 ) { ui = new G4UIExecutive(argc, argv); } // Optionally: choose a different Random engine... // G4Random::setTheEngine(new CLHEP::MTwistEngine); // Construct the default run manager auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default); // Create the world and set the B-field runManager->SetUserInitialization(new CloverDetectorConstruction()); // use build in physics G4VModularPhysicsList* physicsList = new FTFP_BERT; runManager->SetUserInitialization(physicsList); //or use custom gamma physics //runManager->SetUserInitialization(new CloverPhysicsList); //Action Initialization runManager->SetUserInitialization(new CloverActionInitialization()); // Initialize visualization auto visManager = new G4VisExecutive; // G4VisExecutive can take a verbosity argument - see /vis/verbose guidance. // G4VisManager* visManager = new G4VisExecutive("Quiet"); visManager->Initialize(); // Get the pointer to the User Interface manager auto UImanager = G4UImanager::GetUIpointer(); // Process macro or start UI session 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; } // Job termination // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not be deleted // in the main() program ! delete visManager; delete runManager; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....