バッチモードしたい
1#include "G4RunManager.hh"
2
3#include "MYDetectorConstruction.hh"
4#include "MYPhysicsList.hh"
5#include "MYActionInitialization.hh"
6
7int main()
8{
9 // RunManagerを作成
10 G4RunManager *runManager = new G4RunManager;
11
12 // 必須ユーザークラスを設定
13 runManager->SetUserInitialization(new MYDetectorConstruction);
14 runManager->SetUserInitialization(new MYPhysicsList);
15 runManager->SetUserInitialization(new MYActionInitialization);
16
17 // Geant4のカーネルを初期化
18 runManager->Initialize()
19
20 // ランを開始
21 G4int numberOfEvent = 10
22 runManager->BeamOn(numberOfEvent);
23
24 // RunManagerを削除
25 delete runManager;
26 return 0;
27}
バッチモードで実行する場合の必要最低限のmain()
関数です。
これをビルドして実行します。
$ cd プロジェクト名
$ mkdir build
$ cd build
$ cmake ..
$ make -j8
$ ./実行ファイル
実行時の引数は必要ありません。 イベント数はハードコードしてあるので、変更した場合は再ビルドが必要です。