File indexing completed on 2025-01-18 09:16:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #include "G4UImanager.hh"
0030 #include "G4UIsession.hh"
0031
0032 #include "G4VisExecutive.hh"
0033 #include "G4UIExecutive.hh"
0034
0035 #include "ICRP110PhantomConstruction.hh"
0036 #include "ICRP110PhantomActionInitialization.hh"
0037 #include "G4ScoringManager.hh"
0038 #include "ICRP110UserScoreWriter.hh"
0039 #include "ICRP110PhantomVisAction.hh"
0040 #include "QGSP_BIC_HP.hh"
0041 #include "G4RunManagerFactory.hh"
0042
0043 int main(int argc,char** argv)
0044 {
0045 auto* runManager = G4RunManagerFactory::CreateRunManager();
0046 G4int nThreads = 4;
0047 runManager->SetNumberOfThreads(nThreads);
0048
0049
0050 G4ScoringManager* scorerManager = G4ScoringManager::GetScoringManager();
0051 scorerManager -> SetVerboseLevel(1);
0052
0053
0054
0055 scorerManager -> SetScoreWriter(new ICRP110UserScoreWriter());
0056
0057
0058
0059 auto userPhantom = new ICRP110PhantomConstruction();
0060 runManager -> SetUserInitialization(userPhantom);
0061
0062 runManager -> SetUserInitialization(new QGSP_BIC_HP());
0063
0064
0065
0066 G4VisManager* visManager = new G4VisExecutive;
0067 visManager->RegisterRunDurationUserVisAction
0068 ("phantom",new ICRP110PhantomVisAction(userPhantom));
0069 visManager -> Initialize();
0070
0071 auto actions = new ICRP110PhantomActionInitialization();
0072 runManager -> SetUserInitialization(actions);
0073
0074 G4UImanager* UImanager = G4UImanager::GetUIpointer();
0075
0076 if (argc==1)
0077 {
0078 G4cout << " UI session starts ..." << G4endl;
0079 auto ui = new G4UIExecutive(argc, argv);
0080 UImanager -> ApplyCommand("/control/execute vis.mac");
0081 ui -> SessionStart();
0082 delete ui;
0083 }
0084 else
0085 {
0086 G4String command = "/control/execute ";
0087 G4String fileName = argv[1];
0088 UImanager -> ApplyCommand(command+fileName);
0089 }
0090
0091 delete visManager;
0092
0093 delete runManager;
0094
0095 return 0;
0096 }