イベント番号を取得したい(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
でイベント数を取得できます。