物理ボリュームを複製したい(G4PVReplica
)
1auto physical_volume = new G4PVReplica{
2 const G4String &pName, // 名前
3 G4LogicalVolume *pLogicalVolume, // 子ボリューム
4 G4LogicalVolume *pMotherVolume, // 親ボリューム(物理ボリュームもOK)
5 const EAxis pAxis, // 複製する方向
6 const G4int nReplicas, // 複製する数
7 const G4double width, // 複製する方向の厚み
8 const G4double offset // 複製を開始する座標(原点からのオフセット)
9};
G4PVReplicaで、繰り返し構造を持つ、複数の論理物体を一度に配置できます。 論理物体の数が多い場合は、メモリ節約になるそうです。
物理ボリュームを確認したい
1auto name = physical_volume->GetName();
2auto current_volume = physical_volume->GetLogicalVolume();
3auto mother_volume = physical_volume->GetMotherLogical();
4G4int copy_number = physical_volume->GetCopyNo();
5G4bool overlaps = physical_volume->CheckOverlaps();
並べる方向
1kXAis // X方向
2kZAis // Z方向
3kRho // r方向(動径方向)
4kPhi // φ方向(極軸方向)