形状を作成する(G4VSolid
)
1G4Box("name", half_x, half_y, half_z);
2G4Tubs("name", r_min, r_max, half_z, s_phi, d_phi);
箱型(G4Box
)、円柱型(G4Tubs
)など基本的な立体クラスが用意されています。
これらはG4VSolid
を継承したクラスになっています。
また、これらのクラスから作ったオブジェクトをブーリアン演算して、より複雑な形を作ることもできるようです。
実際に、どのような立体クラスがあり、どういう引数が必要なのかはクラスリファレンスを参照してください。
ヒント
公式のドキュメントやクラスリファレンスには、使い方の参考になるサンプルコードがありません。 基本的には、クラスリファレンスでクラス名とその引数を確認して、実際に使ってみる必要があります。
四角柱したい(G4Box
)
1auto solid = G4Box{
2 "solidBox", // 任意の名前
3 half_x, // x方向の長さ(の1/2)
4 half_y, // y方向の長さ(の1/2)
5 half_z // z方向の長さ(の1/2)
6};
G4Box
で四角柱のソリッドが作成できます。
ソリッドの名前は、あとから参照することもないため、自由に設定してよいと思います。
縦x・横y・高さzの長さには、作成したい大きさの1/2の値を設定します。
円柱したい(G4Tubs
)
1auto solid = G4Tubs{
2 "solidTube", // 任意の名前
3 r_min, // 底面の内径
4 r_max, // 底面の外径
5 half_z, // 高さ(の半分)
6 s_phi, // 中心角の始点
7 d_phi, // 中心角の終点
8}
G4Tubs
で円柱のソリッドが作成できます。
ソリッドの名前は、あとから参照することもないため、自由に設定してよいと思います。
底面の内径と外径、
円柱の高さ(の半分)、
中心角の始点と終点の角度、を設定します。
ヒント
r_min
(内径)を0より大きい値、
s_phi
とd_phi
で中心角の範囲を定めると
扇形の円柱になります。