水を作りたい(G4_WATER
)
1G4NistManager *nm = G4NistManager::Instance()
2G4Material *water = nm->FindOrBuildMaterial("G4_WATER")
G4_WATER
でNISTデータにある水を生成できます。
水蒸気したい(GA_WATER_VAPOR
)
1G4NistManager *nm = G4NistManager::Instance()
2G4Material *vapor = nm->FindOrBuildMaterial("G4_WATER_VAPOR")
G4_WATER_VAPOR
で水蒸気を生成できます。
密度が 0.000756182*g/cm3
に設定された水です。
カスタマイズしたい
1G4double a, z, density;
2G4int nelements;
3
4G4Element *H = new G4Element("Hydrogen", "H", z=1, a=1.00794*g/mole);
5G4Element *O = new G4Element("Oxygen", "O", z=8, a=15.9994*g/mole);
6G4Material *fWater = new G4Material("Water", density=1.0*g/cm3, nelements=2);
7Water->AddElement(H, 2);
8Water->AddElement(O, 1);
G4Element
とG4Material
を使ってカスタマイズした水を生成できます。
質量数や密度は適切な文献を参照してください。
光学特性したい
1// Optical Photonのエネルギー
2std::vector<G4double> photon_energy{
3 2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV,
4 2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV,
5 2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV,
6 2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV,
7 2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV,
8 3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV,
9 3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV,
10 3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV,
11 4.275*eV, 4.427*eV, 4.591*eV
12 };
13
14// エネルギーごとの反射率
15std::vector<G4double> refractive_index{
16 1.3435, 1.344, 1.3445, 1.345, 1.3455,
17 1.346, 1.3465, 1.347, 1.3475, 1.348,
18 1.3485, 1.3492, 1.35, 1.3505, 1.351,
19 1.3518, 1.3522, 1.3530, 1.3535, 1.354,
20 1.3545, 1.355, 1.3555, 1.356, 1.3568,
21 1.3572, 1.358, 1.3585, 1.359, 1.3595,
22 1.36, 1.3608, 1.3608, 1.3608, 1.3608
23 };
24
25// エネルギーごとの吸収長
26std::vector<G4double> absorption_length{
27 3.448*m, 4.082*m, 6.329*m, 9.174*m, 12.346*m, 13.889*m,
28 15.152*m, 17.241*m, 18.868*m, 20.000*m, 26.316*m, 35.714*m,
29 45.455*m, 47.619*m, 52.632*m, 52.632*m, 55.556*m, 52.632*m,
30 52.632*m, 47.619*m, 45.455*m, 41.667*m, 37.037*m, 33.333*m,
31 30.000*m, 28.500*m, 27.000*m, 24.500*m, 22.000*m, 19.500*m,
32 17.500*m, 14.500*m, 14.500*m, 14.500*m, 14.500*m
33 };
34
35G4MaterialPropertiesTable *mpt = new G4MaterialPropertiesTable();
36mpt->AddProperty("RINDEX", photon_energy, refractive_index);
37mpt->AddProperty("ABSLENGTH", photon_energy, absorption_length);
38
39fWater->SetMaterialPropertiesTable(mpt)
G4MaterialPropetiesTableで、材料の特性を追加できます。 G4Material自体は材料の特性を持たないため、自分で追加する必要があります。 光子の波長(を変換したエネルギー)ごとの屈折率と吸収長は、文献値を参考にしたり、自分で測定したりして定義します。