ランアクションしたい(G4UserRunAction

ランごとのデータを収集したい場合は、 G4UserRunActionクラスを継承したクラスを作成します。

 1#include "G4UserRunAction.hh"
 2
 3class RunAction: public G4UserRunAction
 4{
 5    public:
 6        RunAction();
 7        ~RunAction() override = default;
 8
 9        void BeginOfRunAction(const G4Run *aRun) override;
10        void EndOfRunAction(const G4Run *aRun) override;
11    private:
12        fEnergyDeposit = -1;
13}

ラン開始したい(BeginOfRunAction

1void RunAction::BeginOfRunAction(const G4Run *aRun)
2{
3    // 内部変数(プライベート変数など)の初期化など
4    fEnergyDeposit = 0;
5}

BeginOfRunActionはラン開始に実行されるメソッドです。 ランごとのデータを代入するために用意した変数は、ここで初期化できます。

ラン終了したい(EndOfRunAction

1void RunAction::EndOfRunAction(const G4Run *aRun)
2{
3
4
5}

EndOfRunActionはランの終わりに実行されるメソッドです。 すべてのイベントのデータを集計して、ランサマリーを表示できたりします。