乱数シードを取得したい(G4Event::GetRandomNumberStatus
)
1void MyEventAction::BeginOfEventAction(const G4Event* aEvent) {
2 G4String status = aEvent->GetRandomNumberStatus();
3 G4debug << "Random number status at the start of the event: " << status << G4endl;
4}
G4Event::GetRandomNumberStatus
で、それぞれのイベントの乱数状態を取得できます。
この状態値を使うと、同じシミュレーション結果を再現できます。
1void MyEventAction::EndOfEventAction(const G4Event* aEvent) {
2 G4String status = aEvent->GetRandomNumberStatus();
3
4 // ファイルに追記
5 std::ofstream fout("randomStatus.txt", std::ios::app);
6 fout << "EventID," << aEvent->GetEventID() << "," << status << "\n";
7 fout.close();
8}
EndOfEventAction
で、この状態値を保存するのが一般的です。