水を作りたい(G4_WATER

1G4NistManager *nist = G4NistManager::Instance()
2G4Material *fWater = nist->FindOrBuildMaterial("G4_WATER")

G4_WATERでNISTデータにある水を生成できます。

水蒸気したい(GA_WATER_VAPOR

1G4Material *fWaterVapor = nist->FindOrBuildMaterial("G4_WATER")

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);

G4ElementG4Materialを使ってカスタマイズした水を生成できます。 質量数や密度は適切な文献を参照してください。

光学特性したい

 1const G4int entries = 35;
 2
 3// Optical Photonのエネルギー
 4G4double photon_energy[entries] = {
 5    2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV,
 6    2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV,
 7    2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV,
 8    2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV,
 9    2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV,
10    3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV,
11    3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV,
12    3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV,
13    4.275*eV, 4.427*eV, 4.591*eV
14    };
15
16// エネルギーごとの反射率
17G4double refractive_index[entries] = {
18    1.3435, 1.344,  1.3445, 1.345,  1.3455,
19    1.346,  1.3465, 1.347,  1.3475, 1.348,
20    1.3485, 1.3492, 1.35,   1.3505, 1.351,
21    1.3518, 1.3522, 1.3530, 1.3535, 1.354,
22    1.3545, 1.355,  1.3555, 1.356,  1.3568,
23    1.3572, 1.358,  1.3585, 1.359,  1.3595,
24    1.36,   1.3608, 1.3608, 1.3608, 1.3608
25    };
26
27// エネルギーごとの吸収長
28G4double absorption_length[nEntries] = {
29    3.448*m,  4.082*m,  6.329*m,  9.174*m, 12.346*m, 13.889*m,
30    15.152*m, 17.241*m, 18.868*m, 20.000*m, 26.316*m, 35.714*m,
31    45.455*m, 47.619*m, 52.632*m, 52.632*m, 55.556*m, 52.632*m,
32    52.632*m, 47.619*m, 45.455*m, 41.667*m, 37.037*m, 33.333*m,
33    30.000*m, 28.500*m, 27.000*m, 24.500*m, 22.000*m, 19.500*m,
34    17.500*m, 14.500*m, 14.500*m, 14.500*m, 14.500*m
35    };
36
37// AddConstProperty(キー, 特性値, 数)
38// AddProperty(キー, 光子のエネルギー, 特性値, 数)
39G4MaterialPropertiesTable *mpt = new G4MaterialPropertiesTable();
40mpt->AddProperty("RINDEX", photon_energy, refractive_index, entries);
41mpt->AddProperty("ABSLENGTH", photon_energy, absorption_length, entries);
42fWater->SetMaterialPropertiesTable(mpt)

G4MaterialPropetiesTableで、材料の特性を追加できます。 G4Material自体は材料の特性を持たないため、自分で追加する必要があります。 光子の波長(を変換したエネルギー)ごとの屈折率と吸収長は、文献値を参考にしたり、自分で測定したりして定義します。