ステップ情報したい(G4Step
)
1aStep->GetTotalEnergyDeposit();
G4Stepはステップ情報を管理するクラスです。 ユーザーアクション設定のSteppingActionでステップ情報を取得したいときに使います。
ステップはGeant4シミュレーションの基本単位で、
始点(PreStepPoint
)と
終点(PostStepPoint
)で構成されています。
始点と終点はG4StepPointクラスのオブジェクトになっており、それぞれの点での粒子の状態を取り出すことができます。
座標をしりたい(GetPosition
)
1G4ThreeVector position = aStep->GetPreStepPoint()->GetPosition();
2G4ThreeVector position = aStep->GetPreStepPoint()->GetPosition();
ステップ点の座標を取得できます。 座標の原点はワールドボリュームの中心です。
時刻をしりたい(GetLocalTime
)
1G4double local_time = aStep->GetPreStepPoint()->GetLocalTime();
2G4double global_time = aStep->GetPreStepPoint()->GetGlobalTime();
3G4double proper_time = aStep->GetPreStepPoint()->GetProperTime();
GetLocalTime
でトラックが生成されてからの経過時間、
GetGlobalTime
でトラックが含まれるイベントが生成されてからの経過時間、
GetProperTime
で固有時間(トラックが生成されてからの経過時間の静止系の時刻)を取得できます。
運動量をしりたい(GetMomentum
)
1G4ThreeVector momentum = aStep->GetPreStepPoint()->GetMomentumDirection();
2G4double total_momentum = aStep->GetPreStepPoint()->GetMomentum();
GetMomentumDirection
で運動量の単位ベクトル成分、
GetMomentum
で運動量の合計を取得できます。
エネルギーをしりたい(GetTotalEnergy
)
1G4double energy = aStep->GetPreStepPoint()->GetTotalEnergy();
2G4double kinetic_energy = aStep->GetPreStepPoint()->GetKineticEnergy();
GetTotalEnergy
でエネルギーの合計、
GetKineticEnergy
で運動エネルギーの合計を取得できます。
速度をしりたい(GetVelocity
)
1G4double velocity = aStep->GetPreStepPoint()->GetVelocity();
2G4double beta = aStep->GetPreStepPoint()->GetBeta();
3G4double gamma = aStep->GetPreStepPoint()->GetGamma();
GetVelocity
で速度、
GetBeta
でβ、
GetGamma
でγファクターを取得できます。
電荷をしりたい(GetCharge
)
1G4double charge = aStep->GetPreStepPoint()->GetCharge();
GetCharge
で電荷を取得できます。
ボリュームをしりたい(GetPhysicalVolume
)
1G4VPhysicalVolume *physical_volume = aStep->GetPhysicalVolume();
2G4int copy_number = physical_volume->GetCopyNumber();
3G4String name = physical_volume->GetName();
4G4LogicalVolume *logical_volume = physical_volume->GetLogicalVolume();
5G4Material *material = logical_volume->GetMaterial();
GetPhysicalVolume
でステップ点の物理ボリュームを取得できます。
論理ボリュームは物理ボリュームを介して取得できます。
ステップの状態をしりたい(GetStepStatus
)
1G4StepStatus status = aStep->GetPreStepPoint()->GetStepStatus();
2G4StepStatus status = aStep->GetPostStepPoint()->GetStepStatus();
GetStepStatus
で、ステップ点の境界の状態を取得できます。
fWorldBoundary
はステップ点がワールド境界に到達した状態、
fGeomBoundary
はステップ点が物質の境界に到達した状態です。
他の状態はenum G4StepStatusで確認できます。