diff --git a/CODE/sim.cc b/CODE/sim.cc new file mode 100644 index 0000000000000000000000000000000000000000..dae2a6774c2e8b4783255298c2890c837e58f496 --- /dev/null +++ b/CODE/sim.cc @@ -0,0 +1,46 @@ +#include <iostream> + +#include "G4RunManager.hh" +#include "G4MTRunManager.hh" +#include "G4UImanager.hh" +#include "QGSP_BERT.hh" +#include "G4UImanager.hh" + +#include "construction.hh" +#include "physics.hh" +#include "action.hh" + +int main(int argc, char** argv) +{ + + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + + #ifdef G4MULTITHREADED + G4MTRunManager* runManager = new G4MTRunManager; + #else + G4RunManager* runManager = new G4RunManager; + #endif + runManager->SetUserInitialization(new MyDetectorConstruction()); + runManager->SetUserInitialization(new MyPhysicsList()); + runManager->SetUserInitialization(new MyActionInitialization()); + + G4VModularPhysicsList* physics = new QGSP_BERT(); + physics->RegisterPhysics(new G4DecayPhysics()); + runManager->SetUserInitialization(physics); + + runManager->Initialize(); + + if (argc > 1) + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + G4UImanager::GetUIpointer()->ApplyCommand(command + fileName); + } + + G4String command = "/control/execute input.in"; + UImanager->ApplyCommand(command); + delete runManager; + + return 0; +} +