イベント番号を取得したい(G4Event::EventID

1void MyEventAction::BeginOfEventAction(const G4Event* event) {
2    G4int event_id = aEvent->GetEventID();
3    G4cout << "=== Begin Event #" << event_id << G4endl;
4}

G4Event::GetEventID()で、現在のイベント番号を取得できます。 イベント番号は0から始まる整数になっています。

BeginOfEventAction()の中では進捗確認用に表示、 EndOfEventAction()の中では記録用に取得するとよいです。

イベント番号を出力したい(G4Event::Print

1// G4Event *aEvent
2aEvent->Print();

G4Event::Print()でイベント番号などの基本情報を出力できます。

参考

G4Stepからイベント番号を取得したい

1void MySteppingAction::UserSteppingAction(const G4Step* step) {
2    G4EventManager* em = G4EventManager::GetEventManager();
3    const G4Event* event = em->GetConstCurrentEvent();
4    if (event) {
5        G4int event_id = event->GetEventID();
6        G4cout << "Current Event ID: " << event_id <<G4endl;
7    }
8}

G4Stepオブジェクトから、現在のG4Eventには直接アクセスできません。 そのためG4EventManagerを介して現在のイベントを取得します。

G4Trackからイベント番号を取得したい

1void MyTrackingAction::PreUserTrackingAction(const G4Track* track) {
2    G4EventManager *em = G4EventManager::GetEventManager();
3    const G4Event* event = em->GetConstCurrentEvent();
4    if (event) {
5        G4int event_id = event->GetEventID();
6        G4cout << "Current Event ID: " << event_id <<G4endl;
7    }
8}

G4Trackオブジェクトから、現在のG4Eventには直接アクセスできません。 そのためG4EventManagerを介して現在のイベントを取得します。

G4Runからイベント番号を取得したい

1void MyRunAction::EndOfRunAction(const G4Run* aRun) {
2    G4int n_events = aRun->GetNumberOfEvent();
3    G4cout << "Total events processed in this run: " << n_events << G4endl;
4}

G4Runは「イベントの集合」を表すオブジェクトです。 すでに完了したイベントたちのイベントIDを取得することはできません。 代わりにGetNumberOfEventsでイベント数を取得できます。