物理ボリュームを複製したい(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   // φ方向(極軸方向)