ステップ操作したい(G4Step

G4Stepはステップ情報を管理するクラスです。

1// G4Step *aStep
2
3// ステップの始点
4auto pre_step = aStep->GetPreStepPoint()
5
6// ステップの終点
7auto post_step = aStep->GetPostStepPoint()

ステップ はGeant4が粒子輸送のシミュレーションを進行する基本単位で、このステップを進める処理をステッピングと呼びます。

ステップは 始点PreStepPoint)と 終点PostStepPoint)で構成されていて、 ステッピングすると前のステップの終点が、次のステップの始点になります。

始点と終点はそれぞれG4StepPointクラスのオブジェクトになっています。 現在のステップの情報は、基本的に始点(PreStepPoint)から取得できます。 次のステップの情報は終点(PostStepPoint)から取得できます。

注釈

ステップの終点は、 そのステップの粒子輸送が終わったとき、もしくは、 ジオメトリの境界に到達したときに作成されます。

始点/終点ともにG4StepPointオブジェクトなので、 同じ名前のメソッドが使えますが、取得できる情報が異なることがあるため留意が必要です。

ユーザーアクション設定の UserSteppingActionSensitiveDetectorのProcessHitsなどで 以下のようなステップおよびステップポイントに紐づいた物理量を取得したいときに使います。

ヒント

「ステップを制するものは、Geant4を制す」 ・・・とは言われていませんが、それくらい重要なコンセプトだと思っています。

リファレンス