マクロしたい
1int main(int argc, char** argv)
2{
3 // Construct the default run manager
4 auto runManager = G4RunManagerFactory::CreateRunManager();
5
6 // Set mandatory initialization classes
7 runManager->SetUserInitialization(new DetectorConstruction);
8 runManager->SetUserInitialization(new FTFP_BERT);
9 runManager->SetUserInitialization(new ActionInitialization);
10
11 // Initialize G4 kernel
12 runManager->Initialize();
13
14 //read a macro file of commands
15 G4UImanager* uiManager = G4UImanager::GetUIpointer();
16 G4String command = "/control/execute ";
17 G4String fileName = argv[1];
18 uiManager->ApplyCommand(command+fileName);
19
20 // job termination
21 delete runManager;
22 return 0;
23}
実行プログラムの引数で、マクロファイルを読み込めるようにしたメイン関数です。
G4UImanager
でマクロを読み込めるようにしています。