Warning, file /geant4/examples/advanced/underground_physics/src/DMXDetectorMaterial.icc was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 G4double density,
0037 a,
0038 z;
0039 G4String name,
0040 symbol;
0041 G4int ncomponents,
0042 iz,
0043 in;
0044 G4double abundance,
0045 temperature,
0046 pressure;
0047
0048
0049
0050 G4Material* vacuum = new G4Material
0051 (name="Vacuum", z=1., a=1.*g/mole, density=1.e-20*g/cm3,
0052 kStateGas, temperature=0.1*kelvin, pressure=1.e-20*bar);
0053
0054
0055 G4Element* elementXe = new G4Element( "Xenon", "Xe", 54., 131.29*g/mole );
0056 G4Material* LXe = new G4Material
0057 ("LXe", 3.02*g/cm3, 1, kStateLiquid, 173.15*kelvin, 1.5*atmosphere );
0058 G4Material* GXe = new G4Material
0059 ("GXe", 0.005887*g/cm3, 1, kStateGas, 173.15*kelvin, 1.5*atmosphere );
0060 LXe->AddElement( elementXe, 1);
0061 GXe->AddElement( elementXe, 1);
0062
0063
0064 std::vector<G4double> LXe_PP = { 7.0*eV , 7.07*eV, 7.14*eV };
0065 std::vector<G4double> LXe_SCINT = { 0.1, 1.0, 0.1 };
0066 std::vector<G4double> LXe_RIND = { 1.59 , 1.57, 1.54 };
0067 std::vector<G4double> LXe_ABSL = { 35.*cm, 35.*cm, 35.*cm};
0068 std::vector<G4double> LXe_scint_e = { 0.*MeV, 10.*MeV };
0069 std::vector<G4double> LXe_scint_default = { 0., 120000.};
0070 std::vector<G4double> LXe_scint_alpha = { 0., 132000.};
0071 std::vector<G4double> LXe_scint_ion = { 0., 24000.};
0072 G4MaterialPropertiesTable *LXe_mt = new G4MaterialPropertiesTable();
0073 LXe_mt->AddProperty("SCINTILLATIONCOMPONENT1", LXe_PP, LXe_SCINT);
0074 LXe_mt->AddProperty("SCINTILLATIONCOMPONENT2", LXe_PP, LXe_SCINT);
0075 LXe_mt->AddProperty("RINDEX", LXe_PP, LXe_RIND);
0076 LXe_mt->AddProperty("ABSLENGTH", LXe_PP, LXe_ABSL);
0077 LXe_mt->AddProperty("ELECTRONSCINTILLATIONYIELD", LXe_scint_e, LXe_scint_default);
0078
0079
0080
0081
0082 LXe_mt->AddConstProperty("ELECTRONSCINTILLATIONYIELD1", 0.);
0083 LXe_mt->AddConstProperty("ELECTRONSCINTILLATIONYIELD2", 1.);
0084
0085 LXe_mt->AddProperty("ALPHASCINTILLATIONYIELD", LXe_scint_e, LXe_scint_alpha);
0086 LXe_mt->AddConstProperty("ALPHASCINTILLATIONYIELD1", 1.);
0087 LXe_mt->AddConstProperty("ALPHASCINTILLATIONYIELD2", 0.);
0088
0089 LXe_mt->AddProperty("IONSCINTILLATIONYIELD", LXe_scint_e, LXe_scint_ion);
0090 LXe_mt->AddConstProperty("IONSCINTILLATIONYIELD1", 1.);
0091 LXe_mt->AddConstProperty("IONSCINTILLATIONYIELD2", 0.);
0092
0093 LXe_mt->AddConstProperty("RESOLUTIONSCALE",1.0);
0094 LXe_mt->AddConstProperty("SCINTILLATIONTIMECONSTANT1",20.*ns);
0095 LXe_mt->AddConstProperty("SCINTILLATIONTIMECONSTANT2",45.*ns);
0096 LXe->SetMaterialPropertiesTable(LXe_mt);
0097
0098 std::vector<G4double> GXe_PP = { 7.0*eV, 7.07*eV, 7.14*eV };
0099 std::vector<G4double> GXe_SCINT = { 0.1, 1.0, 0.1 };
0100 std::vector<G4double> GXe_RIND = { 1.00, 1.00, 1.00 };
0101 std::vector<G4double> GXe_ABSL = { 100*m, 100*m, 100*m};
0102 std::vector<G4double> GXe_scint_e = { 0.*MeV, 10.*MeV };
0103 std::vector<G4double> GXe_scint_default = { 0., 120000.};
0104 std::vector<G4double> GXe_scint_alpha = { 0., 132000.};
0105 std::vector<G4double> GXe_scint_ion = { 0., 24000.};
0106 G4MaterialPropertiesTable *GXe_mt = new G4MaterialPropertiesTable();
0107 GXe_mt->AddProperty("SCINTILLATIONCOMPONENT1", GXe_PP, GXe_SCINT);
0108 GXe_mt->AddProperty("SCINTILLATIONCOMPONENT2", GXe_PP, GXe_SCINT);
0109 GXe_mt->AddProperty("RINDEX", GXe_PP, GXe_RIND);
0110 GXe_mt->AddProperty("ABSLENGTH", GXe_PP, GXe_ABSL);
0111 GXe_mt->AddConstProperty("SCINTILLATIONYIELD",12000./MeV);
0112
0113 GXe_mt->AddProperty("ELECTRONSCINTILLATIONYIELD", GXe_scint_e, GXe_scint_default);
0114 GXe_mt->AddConstProperty("ELECTRONSCINTILLATIONYIELD1", 0.);
0115 GXe_mt->AddConstProperty("ELECTRONSCINTILLATIONYIELD2", 1.);
0116
0117 GXe_mt->AddProperty("ALPHASCINTILLATIONYIELD", GXe_scint_e, GXe_scint_alpha);
0118 GXe_mt->AddConstProperty("ALPHASCINTILLATIONYIELD1", 1.);
0119 GXe_mt->AddConstProperty("ALPHASCINTILLATIONYIELD2", 0.);
0120
0121 GXe_mt->AddProperty("IONSCINTILLATIONYIELD", LXe_scint_e, LXe_scint_ion);
0122 GXe_mt->AddConstProperty("IONSCINTILLATIONYIELD1", 1.);
0123 GXe_mt->AddConstProperty("IONSCINTILLATIONYIELD2", 0.);
0124
0125 GXe_mt->AddConstProperty("RESOLUTIONSCALE",1.0);
0126 GXe_mt->AddConstProperty("SCINTILLATIONTIMECONSTANT1",20.*ns);
0127 GXe_mt->AddConstProperty("SCINTILLATIONTIMECONSTANT2",45.*ns);
0128 GXe->SetMaterialPropertiesTable(GXe_mt);
0129
0130
0131 G4Element* O = new G4Element
0132 (name="Oxygen" ,symbol="O" , z= 8., a=16.00*g/mole);
0133 G4Element* Si = new G4Element
0134 (name="Silicon",symbol="Si" , z= 14., a=28.09*g/mole);
0135 G4Material* quartz = new G4Material
0136 (name="quartz", density=2.200*g/cm3, ncomponents=2);
0137 quartz->AddElement(Si, 1);
0138 quartz->AddElement(O , 2);
0139
0140 std::vector<G4double> quartz_PP = { 5.0*eV, 6.69*eV, 7.50*eV };
0141 std::vector<G4double> quartz_RIND = { 1.51, 1.57, 1.61 };
0142 std::vector<G4double> quartz_ABSL = { 3.0*cm, 3.0*cm, 3.0*cm };
0143 G4MaterialPropertiesTable *quartz_mt = new G4MaterialPropertiesTable();
0144 quartz_mt->AddProperty("RINDEX", quartz_PP, quartz_RIND);
0145 quartz_mt->AddProperty("ABSLENGTH", quartz_PP, quartz_ABSL);
0146 quartz->SetMaterialPropertiesTable(quartz_mt);
0147
0148
0149
0150 G4Element* Al = new G4Element
0151 (name="Aluminium" ,symbol="Al" , z= 13., a=26.98*g/mole);
0152 G4Material* metalAl = new G4Material
0153 (name="MetalAluminium", density=2.700*g/cm3, ncomponents=1);
0154 metalAl->AddElement(Al, 1);
0155
0156
0157
0158 G4Material* cathmetalAl = new G4Material
0159 (name="CathodeMetalAluminium", density=2.700*g/cm3, ncomponents=1);
0160 cathmetalAl->AddElement(Al, 1);
0161
0162 std::vector<G4double> cathmetal_PP = { 5.0*eV, 6.69*eV, 7.50*eV };
0163 std::vector<G4double> cathmetal_RIND = { 1.51, 1.57, 1.61 };
0164 std::vector<G4double> cathmetal_ABSL = { 1.e-20*m, 1.e-20*m, 1.e-20*m };
0165 G4MaterialPropertiesTable *cathmetal_mt = new G4MaterialPropertiesTable();
0166 cathmetal_mt->AddProperty("RINDEX", cathmetal_PP, cathmetal_RIND);
0167 cathmetal_mt->AddProperty("ABSLENGTH", cathmetal_PP, cathmetal_ABSL);
0168 cathmetalAl->SetMaterialPropertiesTable(cathmetal_mt);
0169
0170
0171
0172 G4Element* Fe = new G4Element
0173 (name="Iron" ,symbol="Fe" , z= 26., a=55.85*g/mole);
0174 G4Material* metalFe = new G4Material
0175 (name="MetalIron", density=7.874*g/cm3, ncomponents=1);
0176 metalFe->AddElement(Fe, 1);
0177
0178
0179
0180 G4Element* C = new G4Element( "Carbon", "C", 6. , 12.011*g/mole);
0181 G4Element* Co = new G4Element( "Cobalt", "Co", 27. , 58.9332*g/mole);
0182 G4Material* ssteel = new G4Material
0183 (name="Steel", density=7.7*g/cm3, ncomponents=3);
0184 ssteel->AddElement(C, 0.04);
0185 ssteel->AddElement(Fe, 0.88);
0186 ssteel->AddElement(Co, 0.08);
0187
0188
0189
0190 G4Element* Cu = new G4Element
0191 (name="Copper" ,symbol="Cu" , z= 29., a=63.55*g/mole);
0192 G4Material* metalCu = new G4Material
0193 (name="MetalCopper", density=8.960*g/cm3, ncomponents=1);
0194 metalCu->AddElement(Cu, 1);
0195
0196
0197 G4Element* Pb = new G4Element
0198 (name="Lead",symbol="Pb" , z= 82., a=207.2*g/mole);
0199 G4Material* metalPb = new G4Material
0200 (name="MetalLead", density=11.340*g/cm3, ncomponents=1);
0201 metalPb->AddElement(Pb, 1);
0202
0203
0204
0205
0206
0207
0208
0209
0210
0211
0212
0213
0214
0215
0216
0217
0218 G4Isotope* U235 = new G4Isotope
0219 (name="Uranium235", iz= 92, in=235, a=235.0*g/mole);
0220 G4Element* U = new G4Element
0221 (name="Uranium", "U", ncomponents=1);
0222 U->AddIsotope(U235, abundance=1);
0223 G4Material* sourceAm = new G4Material
0224 (name="UraniumSource", density=13.61*g/cm3, ncomponents=1);
0225 sourceAm->AddElement(U, 1);
0226
0227
0228 G4Element* N = new G4Element
0229 (name="Nitrogen",symbol="N" , z= 7., a=14.00674*g/mole);
0230 G4Material* Air = new G4Material
0231 ("AIR", 1.2929*kg/m3, 2, kStateGas, 300.00*kelvin, 1.0*atmosphere);
0232 Air->AddElement(N, 0.8);
0233 Air->AddElement(O , 0.2);
0234
0235
0236 G4Material* LN2 = new G4Material
0237 ("LN2", 0.8*g/cm3, 1, kStateLiquid, 77.*kelvin, 1.0*atmosphere);
0238 LN2->AddElement(N, 1);
0239
0240
0241 G4Element* H = new G4Element
0242 (name="Hydrogen",symbol="H" , z= 1., a=1.00794*g/mole);
0243 G4Element* Ca = new G4Element
0244 (name="Calcium",symbol="Ca" , z= 20., a=40.078*g/mole);
0245 G4Material* concrete = new G4Material
0246 (name="Concrete", density=2.3*g/cm3, ncomponents=6);
0247 concrete->AddElement(Si, 0.227915);
0248 concrete->AddElement(O, 0.60541);
0249 concrete->AddElement(H, 0.09972);
0250 concrete->AddElement(Ca, 0.04986);
0251 concrete->AddElement(Al, 0.014245);
0252 concrete->AddElement(Fe, 0.00285);
0253
0254
0255
0256 G4Material* water = new G4Material
0257 (name="water", density=1.00*g/cm3, ncomponents=2);
0258 water->AddElement(H , 2);
0259 water->AddElement(O , 1);
0260
0261
0262
0263 G4Material* wood = new G4Material
0264 (name="wood", density=0.9*g/cm3, ncomponents=3);
0265 wood->AddElement(H , 4);
0266 wood->AddElement(O , 1);
0267 wood->AddElement(C , 2);
0268
0269
0270
0271
0272
0273
0274
0275 world_mat = concrete;
0276 lab_mat = Air;
0277 cupboard_mat = wood;
0278 glass_mat = quartz;
0279 panel_mat = metalAl;
0280 door_mat = wood;
0281 desk_mat = wood;
0282 crate_mat = metalAl;
0283 LN2jacket_mat = ssteel;
0284 LN2_mat = LN2;
0285 jacket_mat = ssteel;
0286 jacketflange_mat = ssteel;
0287 vacuum_mat = vacuum;
0288 copper_mat = metalCu;
0289 vessel_mat = ssteel;
0290
0291 GXe_mat = LXe;
0292 CuShield_mat = metalCu;
0293 LXe_mat = LXe;
0294 alpha_mat = metalPb;
0295 americium_mat = sourceAm;
0296 ring_mat = ssteel;
0297 mirror_mat = metalAl;
0298 grid_mat = LXe;
0299 pmt_mat = quartz;
0300 phcath_mat = cathmetalAl;