6 #include "G4Element.hh" 7 #include "G4NistManager.hh" 8 #include "G4OpBoundaryProcess.hh" 12 #include "CLHEP/Units/PhysicalConstants.h" 13 using namespace CLHEP;
30 map<string, G4Material*> MMats;
33 G4double a, z, density;
42 G4Element* As =
new G4Element(
"Arsen" ,
"As", z=33, a= 74.92*g/mole);
43 G4Element* Ar =
new G4Element(
"Argon",
"Ar", z=18, a= 39.95*g/mole);
44 G4Element* Al =
new G4Element(
"Aluminum",
"Al", z=13, a= 26.982*g/mole);
45 G4Element* Ba =
new G4Element(
"Barium",
"Ba", z=56, a= 137.327*g/mole);
46 G4Element* C =
new G4Element(
"Carbon",
"C", z=6, a= 12.01*g/mole);
47 G4Element* Cr =
new G4Element(
"Chromium",
"Cr", z=24, a= 52.00*g/mole);
48 G4Element* Cl =
new G4Element(
"Chlorine",
"Cl", z=17, a= 35.453*g/mole);
49 G4Element* F =
new G4Element(
"Fluorine",
"F", z=9, a= 18.9984*g/mole);
50 G4Element* H =
new G4Element(
"Hydrogen",
"H", z=1, a= 1.01*g/mole);
51 G4Element* He =
new G4Element(
"Helium",
"He", z=2, a= 4.0026*g/mole);
52 G4Element* He3 =
new G4Element(
"Helium3",
"He3", z=2, a=3.0160293*g/mole);
53 G4Element* Mn =
new G4Element(
"Manganese",
"Mn", z=25, a= 54.94*g/mole);
54 G4Element* N =
new G4Element(
"Nitrogen",
"N", z=7, a= 14.01*g/mole);
55 G4Element* O =
new G4Element(
"Oxygen",
"O", z=8, a= 16.00*g/mole);
56 G4Element* Ox =
new G4Element(
"Ox",
"Ox", z=8, a= 16.0*g/mole);
57 G4Element* Ni =
new G4Element(
"Nickel",
"Ni", z=28, a= 58.70*g/mole);
58 G4Element* Pb =
new G4Element(
"Lead",
"Pb", z=82, a= 207.19*g/mole);
59 G4Element* Si =
new G4Element(
"Silicon",
"Si", z=14, a= 28.09*g/mole);
60 G4Element* Sr =
new G4Element(
"Strontium",
"Sr", z=38, a= 87.62*g/mole);
61 G4Element* W =
new G4Element(
"Tungsten",
"W", z=74, a= 183.85*g/mole);
62 G4Element* Wf =
new G4Element(
"Wf",
"Wf", z=74, a= 183.85*g/mole);
64 G4NistManager* matman = G4NistManager::Instance();
68 G4Material *Air =
new G4Material(
"Air", density= 1.29*mg/cm3, nel=2);
69 Air->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
70 Air->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
72 G4Material *Air_Opt =
new G4Material(
"Air_Opt", density= 1.29*mg/cm3, nel=2);
73 Air_Opt->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
74 Air_Opt->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
76 G4Material *Air_Opt2 =
new G4Material(
"Air_Opt2", density= 1.29*mg/cm3, nel=2);
77 Air_Opt2->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
78 Air_Opt2->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
81 G4Material *Kryptonite =
new G4Material(
"Kryptonite", density= 0.00000001*mg/cm3, nel=1);
82 Kryptonite->AddElement(Ar, 100.*perCent);
110 G4Element* elH =
new G4Element(
"Hydrogen",symbol=
"H" , 1., 1.01*g/mole);
111 G4Element* elC =
new G4Element(
"Carbon" ,symbol=
"C" , 6., 12.01*g/mole);
112 G4Element* elN =
new G4Element(
"Nitrogen",symbol=
"N" , 7., 14.01*g/mole);
113 G4Element* elO =
new G4Element(
"Oxygen" ,symbol=
"O" , 8., 16.00*g/mole);
117 G4Material *Epoxy =
new G4Material(
"Epoxy", density = 1.16*g/cm3, nel=4);
118 Epoxy->AddElement(elH, 32);
119 Epoxy->AddElement(elN, 2);
120 Epoxy->AddElement(elO, 4);
121 Epoxy->AddElement(elC, 15);
122 MMats[
"Epoxy"] = Epoxy;
128 G4Material *EpoxyPolyI =
new G4Material(
"EpoxyPolyI", density = 3.608*g/cm3, nel=2);
129 EpoxyPolyI->AddMaterial(Epoxy, 83*perCent);
130 EpoxyPolyI->AddMaterial(matman->FindOrBuildMaterial(
"G4_POLYETHYLENE"), 17*perCent);
131 MMats[
"EpoxyPolyI"] = EpoxyPolyI;
136 G4Material *SilverEpoxy =
new G4Material(
"SilverEpoxy", density = 3.608*g/cm3, nel=2);
137 SilverEpoxy->AddMaterial(Epoxy, 70*perCent);
138 SilverEpoxy->AddMaterial(matman->FindOrBuildMaterial(
"G4_Ag"), 30*perCent);
139 MMats[
"SilverEpoxy"] = SilverEpoxy;
150 G4Material *BusCable =
new G4Material(
"BusCable", density=2.692*g/cm3, nel=2);
151 BusCable->AddMaterial(matman->FindOrBuildMaterial(
"G4_Cu"), 21.9*perCent);
152 BusCable->AddMaterial(matman->FindOrBuildMaterial(
"G4_POLYETHYLENE"), 78.1*perCent);
153 MMats[
"BusCable"] = BusCable;
170 G4Material *BusCableCopperAndNickelAndGold =
new G4Material(
"BusCableCopperAndNickelAndGold", density=5.16*g/cm3, nel=4);
171 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Cu"), 55.2*perCent);
172 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Ni"), 7.2*perCent);
173 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Au"), 0.9*perCent);
174 BusCableCopperAndNickelAndGold->AddMaterial(SilverEpoxy, 36.7*perCent);
175 MMats[
"BusCableCopperAndNickelAndGold"] = BusCableCopperAndNickelAndGold;
182 G4Material *CarbonFiber =
new G4Material(
"CarbonFiber", density = 1.750*g/cm3, nel=2);
183 CarbonFiber->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 74.5*perCent);
184 CarbonFiber->AddMaterial(Epoxy, 25.50*perCent);
185 MMats[
"CarbonFiber"] = CarbonFiber;
187 G4Material *PCBoardM =
new G4Material(
"PCBoardM", density = 1.860*g/cm3, nel=3);
188 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 30*perCent);
189 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 40*perCent);
190 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 30*perCent);
191 MMats[
"PCBoardM"] = PCBoardM ;
193 G4Material *Rohacell =
new G4Material(
"Rohacell", density = 100*mg/cm3, nel=4);
194 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 64.65*perCent);
195 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 7.84*perCent);
196 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 8.39*perCent);
197 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 19.14*perCent);
198 MMats[
"Rohacell"] = Rohacell ;
218 G4Material *Peek =
new G4Material(
"Peek", density = 1.31*g/cm3, nel=3);
219 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 76*perCent);
220 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 8*perCent);
221 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 16*perCent);
222 MMats[
"Peek"] = Peek ;
232 const G4int nEntries_HTCCGas = 47;
233 const G4int nEntries_HTCCmirr = 46;
236 G4double PhotonEnergy_HTCCGas[nEntries_HTCCGas] =
237 { 1.9074494*eV, 1.9372533*eV, 1.9680033*eV, 1.9997453*eV, 2.0325280*eV,
238 2.0664035*eV, 2.1014273*eV, 2.1376588*eV, 2.1751616*eV, 2.2140038*eV,
239 2.2542584*eV, 2.2960039*eV, 2.3393247*eV, 2.3843117*eV, 2.4310630*eV,
240 2.4796842*eV, 2.5302900*eV, 2.5830044*eV, 2.6379619*eV, 2.6953089*eV,
241 2.7552047*eV, 2.8178230*eV, 2.8833537*eV, 2.9520050*eV, 3.0240051*eV,
242 3.0996053*eV, 3.1790823*eV, 3.2627424*eV, 3.3509246*eV, 3.4440059*eV,
243 3.5424060*eV, 3.6465944*eV, 3.7570973*eV, 3.8745066*eV, 3.9994907*eV,
244 4.1328070*eV, 4.2753176*eV, 4.4280075*eV, 4.5920078*eV, 4.7686235*eV,
245 4.9593684*eV, 5.1660088*eV, 5.3906179*eV, 5.6356459*eV, 5.9040100*eV,
246 6.1992105*eV, 6.5254848*eV };
249 G4double IndexOfRefraction_HTCCGas[nEntries_HTCCGas] =
250 { 1.0004473, 1.0004475, 1.0004477, 1.0004480, 1.0004483,
251 1.0004486, 1.0004489, 1.0004492, 1.0004495, 1.0004498,
252 1.0004502, 1.0004506, 1.0004510, 1.0004514, 1.0004518,
253 1.0004523, 1.0004528, 1.0004534, 1.0004539, 1.0004545,
254 1.0004552, 1.0004559, 1.0004566, 1.0004574, 1.0004583,
255 1.0004592, 1.0004602, 1.0004613, 1.0004625, 1.0004638,
256 1.0004652, 1.0004668, 1.0004685, 1.0004704, 1.0004724,
257 1.0004748, 1.0004773, 1.0004803, 1.0004835, 1.0004873,
258 1.0004915, 1.0004964, 1.0005021, 1.0005088, 1.0005167,
259 1.0005262, 1.0005378 };
263 G4double AbsorptionLength_HTCCGas[nEntries_HTCCGas] =
264 { 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
265 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
266 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
267 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
268 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
269 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
270 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
271 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
272 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 82.8323273*m,
273 4.6101432*m, 0.7465970*m };
276 G4double QuantumEfficiency_HTCCPMT[nEntries_HTCCGas] =
277 { 0.0000000, 0.0014000, 0.0024000, 0.0040000, 0.0065000,
278 0.0105000, 0.0149000, 0.0216000, 0.0289000, 0.0376000,
279 0.0482000, 0.0609000, 0.0753000, 0.0916000, 0.1116000,
280 0.1265000, 0.1435000, 0.1602000, 0.1725000, 0.1892000,
281 0.2017000, 0.2122000, 0.2249000, 0.2344000, 0.2401000,
282 0.2418000, 0.2394000, 0.2372000, 0.2309000, 0.2291000,
283 0.2275000, 0.2301000, 0.2288000, 0.2236000, 0.2268000,
284 0.2240000, 0.2219000, 0.2219000, 0.2223000, 0.2189000,
285 0.2158000, 0.2093000, 0.2038000, 0.1950000, 0.1836000,
286 0.1612000, 0.1305000 };
289 G4double Rindex_HTCCPMT[nEntries_HTCCGas] =
290 { 1.5420481, 1.5423678, 1.5427003, 1.5430465, 1.5434074,
291 1.5437840, 1.5441775, 1.5445893, 1.5450206, 1.5454731,
292 1.5459484, 1.5464485, 1.5469752, 1.5475310, 1.5481182,
293 1.5487396, 1.5493983, 1.5500977, 1.5508417, 1.5516344,
294 1.5524807, 1.5533859, 1.5543562, 1.5553983, 1.5565202,
295 1.5577308, 1.5590402, 1.5604602, 1.5620045, 1.5636888,
296 1.5655313, 1.5675538, 1.5697816, 1.5722449, 1.5749797,
297 1.5780296, 1.5814472, 1.5852971, 1.5896593, 1.5946337,
298 1.6003470, 1.6069618, 1.6146902, 1.6238138, 1.6347145,
299 1.6479224, 1.6641955 };
302 G4double Reflectivity_HTCCMirror[nEntries_HTCCGas] =
303 { 0.8860000, 0.8880000, 0.8890000, 0.8900000, 0.8930000,
304 0.8960000, 0.8970000, 0.9000000, 0.9010000, 0.9020000,
305 0.9030000, 0.9040000, 0.9040000, 0.9040000, 0.9040000,
306 0.9040000, 0.9040000, 0.9040000, 0.9050000, 0.9050000,
307 0.9050000, 0.9050000, 0.9040000, 0.9040000, 0.9040000,
308 0.9040000, 0.9030000, 0.9030000, 0.9030000, 0.9020000,
309 0.9020000, 0.9010000, 0.9010000, 0.9000000, 0.8970000,
310 0.8930000, 0.8890000, 0.8830000, 0.8780000, 0.8660000,
311 0.8520000, 0.8360000, 0.8190000, 0.7950000, 0.7660000,
312 0.7370000, 0.6950000 };
318 G4double PhotonEnergy_HTCC_mirr[nEntries_HTCCmirr] =
319 { 1.907449*eV, 1.937253*eV, 1.968003*eV, 1.999745*eV, 2.032528*eV,
320 2.066404*eV, 2.101427*eV, 2.137659*eV, 2.175162*eV, 2.214004*eV,
321 2.254258*eV, 2.296004*eV, 2.339325*eV, 2.384312*eV, 2.431063*eV,
322 2.479684*eV, 2.53029*eV, 2.583004*eV, 2.637962*eV, 2.695309*eV,
323 2.755205*eV, 2.817823*eV, 2.883354*eV, 2.952005*eV, 3.024005*eV,
324 3.099605*eV, 3.179082*eV, 3.262742*eV, 3.350925*eV, 3.444006*eV,
325 3.542406*eV, 3.646594*eV, 3.757097*eV, 3.874507*eV, 3.999491*eV,
326 4.132807*eV, 4.275318*eV, 4.428008*eV, 4.592008*eV, 4.768623*eV,
327 4.959368*eV, 5.166009*eV, 5.390618*eV, 5.635646*eV, 5.90401*eV,
331 G4double Reflectivity_HTCC_AlMgF2_mirr[nEntries_HTCCmirr] =
332 { 0.8722925, 0.8725418, 0.8724854, 0.8719032, 0.8735628,
333 0.8733527, 0.8728732, 0.8769834, 0.8794382, 0.8790207,
334 0.8762184, 0.8800928, 0.8808256, 0.8812256, 0.8801459,
335 0.876982, 0.8786141, 0.8790666, 0.8786467, 0.8802601,
336 0.8824032, 0.8805016, 0.8733517, 0.8705232, 0.8753389,
337 0.8739763, 0.87137, 0.8754125, 0.8802811, 0.8616457,
338 0.8677598, 0.8684776, 0.8629656, 0.856517, 0.8539165,
339 0.8502238, 0.8450355, 0.8342837, 0.8257114, 0.8160133,
340 0.8036618, 0.783193, 0.7541341, 0.7498343, 0.6969729,
344 G4double Reflectivity_HTCC_AlMgF2_WC[nEntries_HTCCmirr] =
345 { 0.8331038, 0.8309071, 0.8279127, 0.8280742, 0.8322623,
346 0.837572, 0.8396875, 0.8481834, 0.8660284, 0.8611336,
347 0.8566167, 0.8667431, 0.86955, 0.8722481, 0.8728122,
348 0.8771635, 0.879907, 0.879761, 0.8831943, 0.8894673,
349 0.8984234, 0.9009531, 0.8910166, 0.8887382, 0.8869093,
350 0.8941976, 0.8948479, 0.8877356, 0.9026919, 0.8999685,
351 0.9101617, 0.8983005, 0.8991694, 0.8990987, 0.9000493,
352 0.9065833, 0.9028855, 0.8985184, 0.9009736, 0.9086968,
353 0.9015145, 0.8914838, 0.8816829, 0.8666895, 0.8496298,
360 G4Material *HTCCGas =
new G4Material(
"HTCCGas", density = 0.00184*g/cm3, nel=1);
361 HTCCGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_CARBON_DIOXIDE"), 100.0*perCent);
362 MMats[
"HTCCGas"] = HTCCGas;
365 G4MaterialPropertiesTable* HTCCGas_MPT =
new G4MaterialPropertiesTable();
366 HTCCGas_MPT->AddProperty(
"RINDEX", PhotonEnergy_HTCCGas, IndexOfRefraction_HTCCGas, nEntries_HTCCGas );
367 HTCCGas_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_HTCCGas, AbsorptionLength_HTCCGas, nEntries_HTCCGas );
368 MMats[
"HTCCGas"]->SetMaterialPropertiesTable(HTCCGas_MPT);
380 G4Material *HTCCAlMgF2 =
new G4Material(
"HTCCAlMgF2", density = 2.9007*g/cm3, nel = 3);
381 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
382 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
383 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
384 MMats[
"HTCCAlMgF2"] = HTCCAlMgF2;
385 G4MaterialPropertiesTable* HTCCAlMgF2_MPT =
new G4MaterialPropertiesTable();
386 HTCCAlMgF2_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCCGas, Reflectivity_HTCCMirror, nEntries_HTCCGas );
387 MMats[
"HTCCAlMgF2"]->SetMaterialPropertiesTable(HTCCAlMgF2_MPT);
395 G4Material *Rohacell31 =
new G4Material(
"Rohacell31", density = 0.032*g/cm3, nel=4);
396 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 64.63*perCent);
397 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 7.84*perCent);
398 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 8.39*perCent);
399 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 19.14*perCent);
400 MMats[
"Rohacell31"] = Rohacell31;
413 G4Material *HTCCPMTquartz =
new G4Material(
"HTCCPMTquartz", density=2.32*g/cm3, nel=1);
414 HTCCPMTquartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_SILICON_DIOXIDE"), 100.0*perCent );
415 MMats[
"HTCCPMTquartz"] = HTCCPMTquartz;
416 G4MaterialPropertiesTable* HTCCPMTquartz_MPT =
new G4MaterialPropertiesTable();
417 HTCCPMTquartz_MPT->AddProperty(
"EFFICIENCY", PhotonEnergy_HTCCGas, QuantumEfficiency_HTCCPMT, nEntries_HTCCGas );
418 HTCCPMTquartz_MPT->AddProperty(
"RINDEX", PhotonEnergy_HTCCGas, Rindex_HTCCPMT, nEntries_HTCCGas );
419 MMats[
"HTCCPMTquartz"]->SetMaterialPropertiesTable(HTCCPMTquartz_MPT);
427 G4Material *HTCC_ECI_Mirr =
new G4Material(
"HTCC_ECI_Mirr", density = 2.9007*g/cm3, nel = 3);
428 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
429 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
430 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
431 MMats[
"HTCC_ECI_Mirr"] = HTCC_ECI_Mirr;
432 G4MaterialPropertiesTable *HTCC_ECI_Mirr_MPT =
new G4MaterialPropertiesTable();
433 HTCC_ECI_Mirr_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCC_mirr, Reflectivity_HTCC_AlMgF2_mirr, nEntries_HTCCmirr );
434 MMats[
"HTCC_ECI_Mirr"]->SetMaterialPropertiesTable( HTCC_ECI_Mirr_MPT );
440 G4Material *HTCC_ECI_WC =
new G4Material(
"HTCC_ECI_WC", density = 2.9007*g/cm3, nel = 3);
441 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
442 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
443 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
444 MMats[
"HTCC_ECI_WC"] = HTCC_ECI_WC;
445 G4MaterialPropertiesTable *HTCC_ECI_WC_MPT =
new G4MaterialPropertiesTable();
446 HTCC_ECI_WC_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCC_mirr, Reflectivity_HTCC_AlMgF2_WC, nEntries_HTCCmirr );
447 MMats[
"HTCC_ECI_WC"]->SetMaterialPropertiesTable( HTCC_ECI_WC_MPT );
488 G4Material *Aerogel =
new G4Material(
"Aerogel", density= 0.14*g/cm3, nel=2);
489 Aerogel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 30.*perCent);
490 Aerogel->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 70.*perCent);
492 G4Material *CCGas =
new G4Material(
"CCGas", density= 0.01012*g/cm3, nel=2);
493 CCGas->AddElement(F, 70.*perCent);
494 CCGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 30.*perCent);
503 G4Isotope* D =
new G4Isotope(
"Deuteron", zz=1, nn=2, a= 2.0141018*g/mole);
504 G4Element* elD =
new G4Element(
"Deuterium",symbol=
"elD", nIso = 1);
505 elD->AddIsotope(D, abundance=100.*perCent);
507 G4Material *Carbon =
new G4Material(
"Carbon", z=6, a= 12.011*g/mole, density = 2.265*g/cm3);
508 G4Material *LHe =
new G4Material(
"LHe", z=2, a= 4.0026*g/mole, density = 0.125*g/cm3);
511 G4Material *AlHoneycomb =
new G4Material(
"AlHoneycomb", z=13, a= 26.982*g/mole, density = 0.13*g/cm3);
514 G4Material *AlHoneycomb2 =
new G4Material(
"AlHoneycomb2", z=13, a= 26.982*g/mole, density = 1.00*g/cm3);
517 G4Material *Densimet =
new G4Material(
"Densimet", density = 18.0*g/cm3, nel=3);
518 Densimet->AddElement(W, 90*perCent);
519 Densimet->AddElement(Ni, 5*perCent);
520 Densimet->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 5*perCent);
525 G4Material *LeadTungsten =
new G4Material(
"LeadTungsten", density = 8.28*g/cm3, nel=3);
526 LeadTungsten->AddElement(Pb,1);
527 LeadTungsten->AddElement(W, 1);
528 LeadTungsten->AddElement(O, 4);
531 G4Material* LeadOxide = matman->FindOrBuildMaterial(
"G4_LEAD_OXIDE");
532 G4Material* SilicOxide = matman->FindOrBuildMaterial(
"G4_SILICON_DIOXIDE");
533 G4Material* PotasOxide = matman->FindOrBuildMaterial(
"G4_POTASSIUM_OXIDE");
534 G4Material* SodMonOxide = matman->FindOrBuildMaterial(
"G4_SODIUM_MONOXIDE");
536 G4Material* As2O3 =
new G4Material(
"As2O3", density= 3.738*g/cm3, nel=2);
537 As2O3->AddElement( As, 2 );
538 As2O3->AddElement( O, 3 );
540 G4Material* LgTF1 =
new G4Material(
"LgTF1", density= 3.86*g/cm3 , nel=5 );
541 LgTF1->AddMaterial( LeadOxide , 0.5120 );
542 LgTF1->AddMaterial( SilicOxide , 0.4130 );
543 LgTF1->AddMaterial( PotasOxide , 0.0422 );
544 LgTF1->AddMaterial( SodMonOxide , 0.0278 );
545 LgTF1->AddMaterial( As2O3 , 0.0050 );
559 G4Material *ScintillatorB =
new G4Material(
"ScintillatorB", density = 1.032*g/cm3, nel=2);
560 ScintillatorB->AddElement(C, 9);
561 ScintillatorB->AddElement(H, 10);
562 ScintillatorB->GetIonisation()->SetBirksConstant(0.126*mm/MeV);
569 G4Material *StainlessSteel =
new G4Material(
"StainlessSteel", density = 8.02*g/cm3, nel=5);
570 StainlessSteel->AddElement(Mn, 0.02);
571 StainlessSteel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 0.01);
572 StainlessSteel->AddElement(Cr, 0.19);
573 StainlessSteel->AddElement(Ni, 0.10);
574 StainlessSteel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 0.68);
576 G4Material *Kapton =
new G4Material(
"Kapton", density = 1.42*g/cm3, nel=4);
577 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.026362);
578 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.691133);
579 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 0.073270);
580 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 0.209235);
583 G4Material *OptScint =
new G4Material(
"OptScint", density = 1.032*g/cm3, nel=2);
584 OptScint->AddElement(C, 9);
585 OptScint->AddElement(H, 10);
587 G4Material *DCgas =
new G4Material(
"DCgas", density = 1.8*mg/cm3, nel=3);
588 DCgas->AddElement(Ar, 90*perCent);
589 DCgas->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 6.6*perCent);
590 DCgas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 3.4*perCent);
594 G4Material *FTinsfoam =
new G4Material(
"FTinsfoam", density = 34*kg/m3, nel=4);
595 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 60.*perCent);
596 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 10.*perCent);
597 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 10.*perCent);
598 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 20.*perCent);
600 G4Material *Noryl =
new G4Material(
"Noryl", density = 1.06*g/cm3, nel=3);
601 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 47.06*perCent );
602 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 47.06*perCent );
603 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 5.88*perCent );
606 G4Material *svtwirebond =
new G4Material(
"svtwirebond", density = 2.69*g/cm3, nel=2);
607 svtwirebond->AddElement(Al, 99*perCent);
608 svtwirebond->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1*perCent);
610 G4Material *MMGas =
new G4Material(
"MMGas", density = (1.662*0.95+2.489*0.05)*mg/cm3, nel=3);
611 MMGas->AddElement(Ar, 95.0*perCent);
612 MMGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.173414*5.0*perCent);
613 MMGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.826586*5.0*perCent);
633 G4double MMStripTransparency = 300./400.;
634 G4Material *MMStrips =
new G4Material(
"Copper", z=29, a= 63.55*g/mole, density = 8.960*MMStripTransparency*g/cm3);
637 G4double MMMeshTransparency = 1.0;
639 G4Material *MMMesh =
new G4Material(
"MMMesh", density = 8.02*MMMeshTransparency*g/cm3, nel=5);
640 MMMesh->AddElement(Mn, 0.02);
641 MMMesh->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 0.01);
642 MMMesh->AddElement(Cr, 0.19);
643 MMMesh->AddElement(Ni, 0.10);
644 MMMesh->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 0.68);
650 G4Material *MMMylar =
new G4Material(
"MMMylar", density = 1.40*g/cm3, nel=3);
651 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.041958);
652 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.625017);
653 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 0.333025);
664 G4Material* He4_1atm =
new G4Material(
"He4_1atm", density = 1.*0.1786*mg/cm3, nel=1 );
665 He4_1atm->AddElement( He, 100.0*perCent );
666 G4Material* He4_2atm =
new G4Material(
"He4_2atm", density = 2.*0.1786*mg/cm3, nel=1 );
667 He4_2atm->AddElement( He, 100.0*perCent );
668 G4Material* He4_3atm =
new G4Material(
"He4_3atm", density = 3.*0.1786*mg/cm3, nel=1 );
669 He4_3atm->AddElement( He, 100.0*perCent );
670 G4Material* He4_7atm =
new G4Material(
"He4_7atm", density = 7.*0.1786*mg/cm3, nel=1 );
671 He4_7atm->AddElement( He, 100.0*perCent );
673 G4Material* PbWO4 =
new G4Material(
"PbWO4", density = 8.28*g/cm3, nel=3 );
674 PbWO4->AddElement( Pb, 1./6.*100.*perCent );
675 PbWO4->AddElement( Wf, 1./6.*100.*perCent );
676 PbWO4->AddElement( Ox, 4./6.*100.*perCent );
678 G4Material* SemiMirror =
new G4Material(
"SemiMirror", density = 8.28*g/cm3, nel=3 );
679 SemiMirror->AddElement( Pb, 1./6.*100.*perCent );
680 SemiMirror->AddElement( Wf, 1./6.*100.*perCent );
681 SemiMirror->AddElement( Ox, 4./6.*100.*perCent );
685 G4Material* He3_10amg =
new G4Material(
"He3_10amg", density = 10.*0.1345*mg/cm3, nel=1 );
687 He3_10amg->AddElement( He3, 100.0*perCent );
690 G4Material *BariumOxide =
new G4Material(
"BariumOxide", density=5.72*g/cm3, nel=2);
691 BariumOxide->AddElement(Ba, 1);
692 BariumOxide->AddElement(O, 1);
694 G4Material *StrontiumOxide =
new G4Material(
"StrontiumOxide", density=4.7*g/cm3, nel=2);
695 StrontiumOxide->AddElement(Sr, 1);
696 StrontiumOxide->AddElement(O, 1);
698 G4Material *AluminiumOxide = matman->FindOrBuildMaterial(
"G4_ALUMINUM_OXIDE");
699 G4Material *CalciumOxide = matman->FindOrBuildMaterial(
"G4_CALCIUM_OXIDE");
701 G4Material *Glass_GE180 =
new G4Material(
"Glass_GE180", density=2.76*g/cm3, nel=5);
702 Glass_GE180->AddMaterial(SilicOxide, 60.8*perCent);
703 Glass_GE180->AddMaterial(BariumOxide, 18.2*perCent);
704 Glass_GE180->AddMaterial(AluminiumOxide, 14.3*perCent);
705 Glass_GE180->AddMaterial(CalciumOxide, 6.5*perCent);
706 Glass_GE180->AddMaterial(StrontiumOxide, 0.25*perCent);
719 G4double density_NH3_solid = 0.817*g/cm3;
720 G4Material *NH3_solid =
new G4Material(
"NH3_solid", density_NH3_solid, nel=2);
721 NH3_solid->AddElement(H, 3);
722 NH3_solid->AddElement(N, 1);
724 G4Material *He4_liquid =
new G4Material(
"He4_liquid", density = 0.145*g/cm3, nel=1 );
725 He4_liquid->AddElement( He, 100.0*perCent );
730 G4double density_NH3He = (0.817*0.55+0.145*0.45)*g/cm3;
731 G4Material *NH3He =
new G4Material(
"NH3He", density_NH3He, nel=2);
732 NH3He->AddMaterial(NH3_solid, 0.8732);
733 NH3He->AddMaterial(He4_liquid, 1-0.8732);
736 G4Material *BerylliumOxide = matman->FindOrBuildMaterial(
"G4_BERYLLIUM_OXIDE");
742 G4Material* NOMEX_pure =
new G4Material(
"NOMEX_pure", density = 1.38*g/cm3, 5);
743 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_H"),0.04);
744 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_C"),0.54);
745 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_N"),0.09);
746 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_O"),0.10);
747 NOMEX_pure -> AddElement(Cl,0.23);
749 G4Material* NOMEX =
new G4Material(
"NOMEX",density = 0.04*g/cm3, 2);
750 NOMEX -> AddMaterial(NOMEX_pure,0.45);
751 NOMEX -> AddMaterial(Air,0.55);
754 G4Material* NEMAG10 =
new G4Material(
"NEMAG10", 1.70*g/cm3, nel=4);
755 NEMAG10 -> AddElement(Si, 1);
756 NEMAG10 -> AddElement(O , 2);
757 NEMAG10 -> AddElement(C , 3);
758 NEMAG10 -> AddElement(H , 3);
761 G4double density_Ar = 1.7823*mg/cm3 ;
762 G4Material* Argon =
new G4Material(
"Argon" , density_Ar, nel=1);
763 Argon->AddElement(Ar, 1);
765 G4double density_CO2 = 1.977*mg/cm3;
766 G4Material* CO2 =
new G4Material(
"CO2", density_CO2, nel=2);
767 CO2->AddElement(C, 1);
768 CO2->AddElement(O, 2);
770 G4double density_ArCO2 = .7*density_Ar + .3*density_CO2;
771 G4Material *ArCO2 =
new G4Material(
"GEMgas", density_ArCO2, nel=2);
772 ArCO2->AddMaterial(Argon, 0.7*density_Ar/density_ArCO2) ;
773 ArCO2->AddMaterial(CO2, 0.3*density_CO2/density_ArCO2) ;
777 G4Material *C6F14 =
new G4Material(
"C6F14", density=1.680*g/cm3, nel=2);
778 C6F14->AddElement(C, 6);
779 C6F14->AddElement(F, 14);
781 G4Material *C5F12 =
new G4Material(
"C5F12", density=1.680*g/cm3, nel=2);
782 C5F12->AddElement(C , 5);
783 C5F12->AddElement(F , 12);
785 G4Material* H2O =
new G4Material(
"H20", density=1.000*g/cm3, nel=2);
786 H2O->AddElement(H, 2);
787 H2O->AddElement(O, 1);
789 G4Material *AerogelQuartz =
new G4Material(
"AerogelQuartz", density=2.200*g/cm3, nel=2);
790 AerogelQuartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1);
791 AerogelQuartz->AddElement(O, 2);
793 G4Material *RichAerogel3 =
new G4Material(
"RichAerogel3", density=0.158*g/cm3, nel=2);
794 RichAerogel3->AddMaterial(AerogelQuartz, 97.0*perCent);
795 RichAerogel3->AddMaterial(H2O, 3.0*perCent);
797 G4Material *RichAerogel5 =
new G4Material(
"RichAerogel5", density=0.25*g/cm3, nel=2);
798 RichAerogel5->AddMaterial(AerogelQuartz, 97.0*perCent);
799 RichAerogel5->AddMaterial(H2O, 3.0*perCent);
801 G4Material *Quartz =
new G4Material(
"Quartz", density= 4.400*g/cm3, nel=2);
802 Quartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1);
803 Quartz->AddElement(O, 2);
807 G4Material *Methane =
new G4Material(
"Methane", density= 0.667*kg/m3, nel=2);
808 Methane->AddElement(C, 1);
809 Methane->AddElement(H, 4);
811 G4Material *Alumi =
new G4Material(
"Alumi", density=2.7*g/cm3, nel=1);
812 Alumi->AddElement(Al, 1);
814 G4Material *Glass =
new G4Material(
"Glass", density=1.032*g/cm3, nel=2);
815 Glass->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 91.533*perCent);
816 Glass->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 8.467*perCent);
825 G4Material *vacuum_m9 =
new G4Material(
"vacuum_m9", density= 1.68e-12*mg/cm3, nel=2);
826 vacuum_m9->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
827 vacuum_m9->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
829 G4Material *vacuum_m3 =
new G4Material(
"vacuum_m3", density= 1.68e-6*mg/cm3, nel=2);
830 vacuum_m3->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
831 vacuum_m3->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
837 MMats[
"AerogelQuartz"] = AerogelQuartz;
839 MMats[
"Air_Opt"] = Air_Opt;
840 MMats[
"Air_Opt2"] = Air_Opt2;
841 MMats[
"Alumi"] = Alumi;
842 MMats[
"Aluminum"] = matman->FindOrBuildMaterial(
"G4_Al");
843 MMats[
"Aerogel"] = Aerogel;
844 MMats[
"C5F12"] = C5F12;
845 MMats[
"C6F14"] = C6F14;
846 MMats[
"Carbon"] = Carbon;
847 MMats[
"CCGas"] = CCGas;
848 MMats[
"Concrete"] = matman->FindOrBuildMaterial(
"G4_CONCRETE");
849 MMats[
"Copper"] = matman->FindOrBuildMaterial(
"G4_Cu");
850 MMats[
"DCgas"] = DCgas;
851 MMats[
"FTinsfoam"] = FTinsfoam;
852 MMats[
"Glass"] = Glass;
853 MMats[
"Glass_GE180"] = Glass_GE180;
854 MMats[
"Gold"] = matman->FindOrBuildMaterial(
"G4_Au");
856 MMats[
"He4_1atm"] = He4_1atm ;
857 MMats[
"He4_2atm"] = He4_2atm ;
858 MMats[
"He4_3atm"] = He4_3atm ;
859 MMats[
"He4_7atm"] = He4_7atm ;
860 MMats[
"He3_10amg"] = He3_10amg ;
861 MMats[
"Iron"] = matman->FindOrBuildMaterial(
"G4_Fe");
862 MMats[
"Kapton"] = Kapton;
863 MMats[
"Kryptonite"] = matman->FindOrBuildMaterial(
"Kryptonite");
864 MMats[
"Lead"] = matman->FindOrBuildMaterial(
"G4_Pb");
865 MMats[
"LeadTungsten"] = LeadTungsten;
866 MMats[
"LgTF1"] = LgTF1;
867 MMats[
"LH2"] = matman->FindOrBuildMaterial(
"G4_lH2");;
869 MMats[
"Methane"] = Methane;
870 MMats[
"MMGas"] = MMGas;
871 MMats[
"MMStrips"] = MMStrips;
872 MMats[
"MMMesh"] = MMMesh;
873 MMats[
"MMMylar"] = MMMylar;
874 MMats[
"Nickel"] = matman->FindOrBuildMaterial(
"G4_Ni");
875 MMats[
"Noryl"] = Noryl ;
876 MMats[
"PbWO4"] = PbWO4 ;
877 MMats[
"Quartz"] = Quartz;
878 MMats[
"OptScint"] = OptScint;
879 MMats[
"RichAerogel3"] = RichAerogel3;
880 MMats[
"RichAerogel5"] = RichAerogel5;
882 MMats[
"ScintillatorB"] = ScintillatorB;
883 MMats[
"SemiMirror"] = SemiMirror ;
884 MMats[
"Silicium"] = matman->FindOrBuildMaterial(
"G4_Si");
885 MMats[
"Silicon"] = matman->FindOrBuildMaterial(
"G4_Si");
886 MMats[
"StainlessSteel"] = StainlessSteel;
887 MMats[
"svtwirebond"] = svtwirebond;
888 MMats[
"Teflon"] = matman->FindOrBuildMaterial(
"G4_TEFLON");
889 MMats[
"Tungsten"] = matman->FindOrBuildMaterial(
"G4_W");
890 MMats[
"Vacuum"] = matman->FindOrBuildMaterial(
"G4_Galactic");
891 MMats[
"vacuum_m9"] = vacuum_m9;
892 MMats[
"vacuum_m3"] = vacuum_m3;
893 MMats[
"Water"] = matman->FindOrBuildMaterial(
"G4_WATER");
894 MMats[
"AlHoneycomb"] = AlHoneycomb;
895 MMats[
"AlHoneycomb2"] = AlHoneycomb2;
896 MMats[
"Densimet"] = Densimet;
897 MMats[
"NOMEX_pure"] = NOMEX_pure;
898 MMats[
"NOMEX"] = NOMEX;
899 MMats[
"NEMAG10"] = NEMAG10;
900 MMats[
"Argon"] = Argon;
902 MMats[
"ArCO2"] = ArCO2;
903 MMats[
"NH3_solid"] = NH3_solid;
904 MMats[
"He4_liquid"] = He4_liquid;
905 MMats[
"NH3He"] = NH3He;
906 MMats[
"BerylliumOxide"] = BerylliumOxide;
914 const G4int nEntries_OptScint = 2;
916 G4double PhotonEnergy_OptScint[nEntries_OptScint] = { 2.034*eV , 4.136*eV };
917 G4double RefractiveIndex_OptScint[nEntries_OptScint] = { 1.49 , 1.49 };
918 G4double Absorption_OptScint[nEntries_OptScint] = { 4.5*m , 4.5*m };
919 G4double ScintilFast_OptScint[nEntries_OptScint] = { 1.00 , 1.00 };
920 G4double ScintilSlow_OptScint[nEntries_OptScint] = { 10.00 , 10.00 };
922 G4MaterialPropertiesTable* OptScint_MPT =
new G4MaterialPropertiesTable();
923 OptScint_MPT->AddProperty(
"RINDEX", PhotonEnergy_OptScint, RefractiveIndex_OptScint, nEntries_OptScint);
924 OptScint_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_OptScint, Absorption_OptScint, nEntries_OptScint);
925 OptScint_MPT->AddProperty(
"FASTCOMPONENT", PhotonEnergy_OptScint, ScintilFast_OptScint, nEntries_OptScint);
926 OptScint_MPT->AddProperty(
"SLOWCOMPONENT", PhotonEnergy_OptScint, ScintilSlow_OptScint, nEntries_OptScint);
928 OptScint_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 1./MeV);
929 OptScint_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
930 OptScint_MPT->AddConstProperty(
"FASTTIMECONSTANT", 2.1*ns);
931 OptScint_MPT->AddConstProperty(
"SLOWTIMECONSTANT", 10.*ns);
932 OptScint_MPT->AddConstProperty(
"YIELDRATIO", 0.1);
933 MMats[
"OptScint"]->SetMaterialPropertiesTable(OptScint_MPT);
936 const G4int nEntries = 15;
937 G4double PhotonEnergyTF1[nEntries] =
938 { 1.99988723*eV, 2.06655002*eV, 2.13781047*eV,
939 2.21416092*eV, 2.29616666*eV, 2.38448095*eV,
940 2.47986007*eV, 2.58318758*eV, 2.69550014*eV,
941 2.81802297*eV, 2.95221448*eV, 3.09982514*eV,
942 3.26297379*eV, 3.44425011*eV, 3.64685321*eV };
944 G4double RefractiveIndex1[nEntries] =
945 { 1.6436, 1.6454, 1.6474, 1.6496, 1.6521,
946 1.6548, 1.6579, 1.6614, 1.6653, 1.6697,
947 1.6748, 1.6806, 1.6874, 1.6952, 1.7045 };
949 G4double Absorption1[nEntries] =
950 { 7.0*m, 7.0*m, 7.0*m, 7.0 *m, 7.0 *m,
951 7.0*m, 6.0*m, 5.0*m, 3.5 *m, 2.75*m,
952 1.8*m, 1.0*m, 0.5*m, 0.15*m, 0.08*m };
954 G4MaterialPropertiesTable* TF1glass =
new G4MaterialPropertiesTable();
955 TF1glass->AddProperty(
"RINDEX", PhotonEnergyTF1, RefractiveIndex1, nEntries);
956 TF1glass->AddProperty(
"ABSLENGTH", PhotonEnergyTF1, Absorption1, nEntries);
957 MMats[
"LgTF1"]->SetMaterialPropertiesTable(TF1glass);
961 const G4int nEntries_Air = 2;
962 G4double PhotonEnergy_Air[nEntries_Air] = { 2.034*eV , 4.136*eV };
963 G4double RefractiveIndex_Air[nEntries_Air] = { 1.00, 1.00 };
965 G4MaterialPropertiesTable* Air_MPT =
new G4MaterialPropertiesTable();
966 Air_MPT->AddProperty(
"RINDEX", PhotonEnergy_Air, RefractiveIndex_Air, nEntries_Air);
967 MMats[
"Air_Opt"]->SetMaterialPropertiesTable(Air_MPT);
972 G4double RefractiveIndex_Air2[nEntries_Air] = { 1.00, 1.00 };
973 G4double Absorption_Air2[nEntries_Air] = { 0.0*mm , 0.0*mm };
975 G4MaterialPropertiesTable* Air_MPT2 =
new G4MaterialPropertiesTable();
976 Air_MPT2->AddProperty(
"RINDEX", PhotonEnergy_Air, RefractiveIndex_Air2, nEntries_Air);
977 Air_MPT2->AddProperty(
"ABSLENGTH", PhotonEnergy_Air, Absorption_Air2, nEntries_Air);
978 MMats[
"Air_Opt2"]->SetMaterialPropertiesTable(Air_MPT2);
980 G4double PhotonEnergy_SemiMirror[nEntries_Air] = { 2.034*eV , 4.136*eV };
981 G4double RefractiveIndex_SemiMirror[nEntries_Air] = { 5.00, 5.00 };
982 G4double Absorption_SemiMirror[nEntries_Air] = { 100.0*m , 100.0*m };
984 G4MaterialPropertiesTable* SemiMirrorMPT =
new G4MaterialPropertiesTable();
985 SemiMirrorMPT->AddProperty(
"RINDEX", PhotonEnergy_SemiMirror, RefractiveIndex_SemiMirror, 2);
986 SemiMirrorMPT->AddProperty(
"ABSLENGTH", PhotonEnergy_SemiMirror, Absorption_SemiMirror, 2);
987 MMats[
"SemiMirror"]->SetMaterialPropertiesTable(SemiMirrorMPT);
993 const G4int nEntries_Water = 32;
994 G4double PhotonEnergy_Water[nEntries_Water] =
995 { 2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV,
996 2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV,
997 2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV,
998 2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV,
999 2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV,
1000 3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV,
1001 3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV,
1002 3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV };
1004 G4double RefractiveIndex_Water[nEntries_Water] =
1005 { 1.3435 , 1.344 , 1.3445 , 1.345 ,
1006 1.3455 , 1.346 , 1.3465 , 1.347 ,
1007 1.3475 , 1.348 , 1.3485 , 1.3492 ,
1008 1.35 , 1.3505 , 1.351 , 1.3518 ,
1009 1.3522 , 1.3530 , 1.3535 , 1.354 ,
1010 1.3545 , 1.355 , 1.3555 , 1.356 ,
1011 1.3568 , 1.3572 , 1.358 , 1.3585 ,
1012 1.359 , 1.3595 , 1.36 , 1.3608 };
1014 G4double Absorption_Water[nEntries_Water] =
1015 { 3.448*m , 4.082*m, 6.329*m, 9.174*m,
1016 12.346*m , 13.889*m, 15.152*m, 17.241*m,
1017 18.868*m , 20.000*m, 26.316*m, 35.714*m,
1018 45.455*m , 47.619*m, 52.632*m, 52.632*m,
1019 55.556*m , 52.632*m, 52.632*m, 47.619*m,
1020 45.455*m , 41.667*m, 37.037*m, 33.333*m,
1021 30.000*m , 28.500*m, 27.000*m, 24.500*m,
1022 22.000*m , 19.500*m, 17.500*m, 14.500*m };
1024 G4double ScintilFast_Water[nEntries_Water] =
1025 { 1.00 , 1.00 , 1.00 , 1.00 ,
1026 1.00 , 1.00 , 1.00 , 1.00 ,
1027 1.00 , 1.00 , 1.00 , 1.00 ,
1028 1.00 , 1.00 , 1.00 , 1.00 ,
1029 1.00 , 1.00 , 1.00 , 1.00 ,
1030 1.00 , 1.00 , 1.00 , 1.00 ,
1031 1.00 , 1.00 , 1.00 , 1.00 ,
1032 1.00 , 1.00 , 1.00 , 1.00 };
1034 G4double ScintilSlow_Water[nEntries_Water] =
1035 { 0.01 , 1.00 , 2.00 , 3.00 ,
1036 4.00 , 5.00 , 6.00 , 7.00 ,
1037 8.00 , 9.00 , 8.00 , 7.00 ,
1038 6.00 , 4.00 , 3.00 , 2.00 ,
1039 1.00 , 0.01 , 1.00 , 2.00 ,
1040 3.00 , 4.00 , 5.00 , 6.00 ,
1041 7.00 , 8.00 , 9.00 , 8.00 ,
1042 7.00 , 6.00 , 5.00 , 4.00 };
1045 G4MaterialPropertiesTable* Water_MPT =
new G4MaterialPropertiesTable();
1046 Water_MPT->AddProperty(
"RINDEX", PhotonEnergy_Water, RefractiveIndex_Water, nEntries_Water);
1047 Water_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Water, Absorption_Water, nEntries_Water);
1048 Water_MPT->AddProperty(
"FASTCOMPONENT", PhotonEnergy_Water, ScintilFast_Water, nEntries_Water);
1049 Water_MPT->AddProperty(
"SLOWCOMPONENT", PhotonEnergy_Water, ScintilSlow_Water, nEntries_Water);
1051 Water_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1052 Water_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1053 Water_MPT->AddConstProperty(
"FASTTIMECONSTANT", 1.*ns);
1054 Water_MPT->AddConstProperty(
"SLOWTIMECONSTANT", 10.*ns);
1055 Water_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1057 MMats[
"Water"]->SetMaterialPropertiesTable(Water_MPT);
1058 MMats[
"H2O"]->SetMaterialPropertiesTable(Water_MPT);
1062 const G4int nEntries_CCGas = 2;
1063 G4double PhotonEnergy_CCGas[nEntries_CCGas] = { 2.034*eV, 4.136*eV };
1064 G4double RefractiveIndex_CCGas[nEntries_CCGas] = { 1.001331 , 1.00143 };
1065 G4double Absorption_CCGas[nEntries_CCGas] = { 10*m , 3*m };
1067 G4MaterialPropertiesTable* CCGas_MPT =
new G4MaterialPropertiesTable();
1068 CCGas_MPT->AddProperty(
"RINDEX", PhotonEnergy_CCGas, RefractiveIndex_CCGas, nEntries_CCGas);
1069 CCGas_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_CCGas, Absorption_CCGas, nEntries_CCGas);
1070 CCGas_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1071 CCGas_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1072 CCGas_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1073 MMats[
"CCGas"]->SetMaterialPropertiesTable(CCGas_MPT);
1077 const G4int nEntries_Aerogel = 2;
1078 G4double PhotonEnergy_Aerogel[nEntries_Aerogel] = { 2.034*eV, 4.136*eV };
1079 G4double RefractiveIndex_Aerogel[nEntries_Aerogel] = { 1.03 , 1.03 };
1080 G4double Absorption_Aerogel[nEntries_Aerogel] = { 10*m , 3*cm };
1082 G4MaterialPropertiesTable* Aerogel_MPT =
new G4MaterialPropertiesTable();
1083 Aerogel_MPT->AddProperty(
"RINDEX", PhotonEnergy_Aerogel, RefractiveIndex_Aerogel, nEntries_Aerogel);
1084 Aerogel_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Aerogel, Absorption_Aerogel, nEntries_Aerogel);
1085 Aerogel_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1086 Aerogel_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1087 Aerogel_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1088 MMats[
"Aerogel"]->SetMaterialPropertiesTable(Aerogel_MPT);
1092 const G4int nEntries_Rich = 14;
1094 G4double PhotonEnergy_Rich[nEntries_Rich] =
1095 { 2.21*eV, 2.30*eV, 2.38*eV, 2.48*eV,
1096 2.58*eV, 2.70*eV, 2.82*eV, 2.95*eV,
1097 3.10*eV, 3.26*eV, 3.44*eV, 3.65*eV,
1101 G4double C5F12_Rind[nEntries_Rich] =
1102 { 1.23862, 1.23884, 1.23906, 1.23933,
1103 1.23962, 1.23998, 1.24035, 1.24078,
1104 1.24130, 1.24189, 1.24259, 1.24346,
1107 G4double C5F12_Abs[nEntries_Rich] =
1108 { 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1109 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1110 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1111 2000.*mm, 2000.*mm};
1114 G4MaterialPropertiesTable* C5F12_MPT =
new G4MaterialPropertiesTable();
1115 C5F12_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, C5F12_Rind, nEntries_Rich);
1116 C5F12_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, C5F12_Abs, nEntries_Rich);
1117 MMats[
"C5F12"]->SetMaterialPropertiesTable(C5F12_MPT);
1119 const G4int RichAerogel_Len=50;
1120 G4double RichAerogel_PhoE[RichAerogel_Len]=
1121 { 1.87855*eV, 1.96673*eV, 2.05490*eV, 2.14308*eV, 2.23126*eV,
1122 2.31943*eV, 2.40761*eV, 2.49579*eV, 2.58396*eV, 2.67214*eV,
1123 2.76032*eV, 2.84849*eV, 2.93667*eV, 3.02485*eV, 3.11302*eV,
1124 3.20120*eV, 3.28938*eV, 3.37755*eV, 3.46573*eV, 3.55391*eV,
1125 3.64208*eV, 3.73026*eV, 3.81844*eV, 3.90661*eV, 3.99479*eV,
1126 4.08297*eV, 4.17114*eV, 4.25932*eV, 4.34750*eV, 4.43567*eV,
1127 4.52385*eV, 4.61203*eV, 4.70020*eV, 4.78838*eV, 4.87656*eV,
1128 4.96473*eV, 5.05291*eV, 5.14109*eV, 5.22927*eV, 5.31744*eV,
1129 5.40562*eV, 5.49380*eV, 5.58197*eV, 5.67015*eV, 5.75833*eV,
1130 5.84650*eV, 5.93468*eV, 6.02286*eV, 6.11103*eV, 6.19921*eV };
1131 G4double RichAerogel_Rind3[RichAerogel_Len]=
1132 { 1.02825, 1.02829, 1.02834, 1.02839, 1.02844,
1133 1.02849, 1.02854, 1.02860, 1.02866, 1.02872,
1134 1.02878, 1.02885, 1.02892, 1.02899, 1.02906,
1135 1.02914, 1.02921, 1.02929, 1.02938, 1.02946,
1136 1.02955, 1.02964, 1.02974, 1.02983, 1.02993,
1137 1.03003, 1.03014, 1.03025, 1.03036, 1.03047,
1138 1.03059, 1.03071, 1.03084, 1.03096, 1.03109,
1139 1.03123, 1.03137, 1.03151, 1.03166, 1.03181,
1140 1.03196, 1.03212, 1.03228, 1.03244, 1.03261,
1141 1.03279, 1.03297, 1.03315, 1.03334, 1.03354 };
1142 G4double RichAerogel_Abs[RichAerogel_Len]=
1143 { 17.5000*cm, 17.7466*cm, 17.9720*cm, 18.1789*cm, 18.3694*cm,
1144 18.5455*cm, 18.7086*cm, 18.8602*cm, 19.0015*cm, 19.1334*cm,
1145 19.2569*cm, 19.3728*cm, 19.4817*cm, 19.5843*cm, 19.6810*cm,
1146 19.7725*cm, 19.8590*cm, 19.9410*cm, 20.0188*cm, 20.0928*cm,
1147 18.4895*cm, 16.0174*cm, 13.9223*cm, 12.1401*cm, 10.6185*cm,
1148 9.3147*cm, 8.1940*cm, 7.2274*cm, 6.3913*cm, 5.6659*cm,
1149 5.0347*cm, 4.4841*cm, 4.0024*cm, 3.5801*cm, 3.2088*cm,
1150 2.8817*cm, 2.5928*cm, 2.3372*cm, 2.1105*cm, 1.9090*cm,
1151 1.7296*cm, 1.5696*cm, 1.4266*cm, 1.2986*cm, 1.1837*cm,
1152 1.0806*cm, 0.9877*cm, 0.9041*cm, 0.8286*cm, 0.7603*cm };
1153 G4double RichAerogel_Scat[RichAerogel_Len]=
1154 { 23.4256*cm, 19.4987*cm, 16.3612*cm, 13.8302*cm, 11.7702*cm,
1155 10.0798*cm, 8.6823*cm, 7.5188*cm, 6.5439*cm, 5.7219*cm,
1156 5.0251*cm, 4.4312*cm, 3.9225*cm, 3.4847*cm, 3.1064*cm,
1157 2.7780*cm, 2.4919*cm, 2.2417*cm, 2.0221*cm, 1.8288*cm,
1158 1.6580*cm, 1.5067*cm, 1.3723*cm, 1.2525*cm, 1.1455*cm,
1159 1.0497*cm, 0.9637*cm, 0.8864*cm, 0.8166*cm, 0.7536*cm,
1160 0.6965*cm, 0.6448*cm, 0.5977*cm, 0.5549*cm, 0.5159*cm,
1161 0.4802*cm, 0.4475*cm, 0.4176*cm, 0.3901*cm, 0.3649*cm,
1162 0.3417*cm, 0.3203*cm, 0.3005*cm, 0.2822*cm, 0.2653*cm,
1163 0.2497*cm, 0.2352*cm, 0.2217*cm, 0.2092*cm, 0.1975*cm };
1165 G4double RichAerogel_Rind5[RichAerogel_Len];
1166 for (
int iii=0; iii<RichAerogel_Len; iii++)
1167 RichAerogel_Rind5[iii]=RichAerogel_Rind3[iii]+(1.05-1.03);
1169 G4MaterialPropertiesTable* RichAerogel3_MPT =
new G4MaterialPropertiesTable();
1170 RichAerogel3_MPT->AddProperty(
"RINDEX", RichAerogel_PhoE, RichAerogel_Rind3, RichAerogel_Len);
1171 RichAerogel3_MPT->AddProperty(
"ABSLENGTH", RichAerogel_PhoE, RichAerogel_Abs, RichAerogel_Len);
1172 RichAerogel3_MPT->AddProperty(
"RAYLEIGH", RichAerogel_PhoE, RichAerogel_Scat, RichAerogel_Len);
1173 MMats[
"RichAerogel3"]->SetMaterialPropertiesTable(RichAerogel3_MPT);
1175 G4MaterialPropertiesTable* RichAerogel5_MPT =
new G4MaterialPropertiesTable();
1176 RichAerogel5_MPT->AddProperty(
"RINDEX", RichAerogel_PhoE, RichAerogel_Rind5, RichAerogel_Len);
1177 RichAerogel5_MPT->AddProperty(
"ABSLENGTH", RichAerogel_PhoE, RichAerogel_Abs, RichAerogel_Len);
1178 RichAerogel5_MPT->AddProperty(
"RAYLEIGH", RichAerogel_PhoE, RichAerogel_Scat, RichAerogel_Len);
1179 MMats[
"RichAerogel5"]->SetMaterialPropertiesTable(RichAerogel5_MPT);
1182 G4double C6F14_Rind[nEntries_Rich] =
1183 { 1.21501, 1.21656, 1.21794, 1.21966,
1184 1.22138, 1.22344, 1.22550, 1.22774,
1185 1.23032, 1.23307, 1.23617, 1.23978,
1188 G4double C6F14_Abs[nEntries_Rich] =
1189 { 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1190 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1191 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1192 2000.*mm, 2000.*mm};
1194 G4MaterialPropertiesTable* C6F14_MPT =
new G4MaterialPropertiesTable();
1195 C6F14_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, C6F14_Rind, nEntries_Rich);
1196 C6F14_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, C6F14_Abs, nEntries_Rich);
1197 MMats[
"C6F14"]->SetMaterialPropertiesTable(C6F14_MPT);
1200 G4double Quartz_Rind[nEntries_Rich] =
1201 { 1.505, 1.509, 1.511, 1.515,
1202 1.520, 1.525, 1.528, 1.527,
1203 1.522, 1.512, 1.505, 1.492,
1206 G4double Quartz_Abs[nEntries_Rich] =
1207 { 550.7*mm, 530.7*mm, 590.1*mm, 490.7*mm,
1208 470.7*mm, 520.3*mm, 500.0*mm, 470.7*mm,
1209 450.5*mm, 270.5*mm, 190.1*mm, 60.9*mm,
1212 G4MaterialPropertiesTable* Quartz_MPT =
new G4MaterialPropertiesTable();
1213 Quartz_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Quartz_Rind, nEntries_Rich);
1214 Quartz_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Quartz_Abs, nEntries_Rich);
1215 MMats[
"Quartz"]->SetMaterialPropertiesTable(Quartz_MPT);
1217 G4double Methane_Rind[nEntries_Rich] =
1218 { 1., 1., 1., 1., 1., 1., 1.,
1219 1., 1., 1., 1., 1., 1., 1.};
1221 G4double Methane_Abs[nEntries_Rich] =
1222 {4000.*cm,4000.*cm,4000.*cm, 4000.*cm,
1223 4000.*cm,4000.*cm,4000.*cm, 4000.*cm,
1227 G4MaterialPropertiesTable* Methane_MPT =
new G4MaterialPropertiesTable();
1228 Methane_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Methane_Rind, nEntries_Rich);
1229 Methane_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Methane_Abs, nEntries_Rich);
1230 MMats[
"Methane"]->SetMaterialPropertiesTable(Methane_MPT);
1233 G4double Alumi_Rind[nEntries_Rich] =
1234 { 1., 1., 1., 1., 1., 1., 1.,
1235 1., 1., 1., 1., 1., 1., 1.};
1237 G4double Alumi_Abs[nEntries_Rich] =
1238 {0., 0., 0., 0., 0., 0., 0.,
1239 0., 0., 0., 0., 0., 0., 0.};
1241 G4double Alumi_Effi[nEntries_Rich] =
1242 {0., 1., 1., 1., 1., 1., 1.,
1243 1., 1., 1., 1., 1., 1., 0.};
1245 G4double Alumi_Refl[nEntries_Rich] =
1246 {0., 0., 0., 0., 0., 0., 0.,
1247 0., 0., 0., 0., 0., 0., 0.};
1249 G4MaterialPropertiesTable* Alumi_MPT =
new G4MaterialPropertiesTable();
1250 Alumi_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Alumi_Rind, nEntries_Rich);
1251 Alumi_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Alumi_Abs, nEntries_Rich);
1252 Alumi_MPT->AddProperty(
"EFFICIENCY", PhotonEnergy_Rich, Alumi_Effi, nEntries_Rich);
1253 Alumi_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_Rich, Alumi_Refl, nEntries_Rich);
1254 MMats[
"Alumi"]->SetMaterialPropertiesTable(Alumi_MPT);
1256 G4double Glass_Rind[nEntries_Rich] =
1257 {1.49, 1.49, 1.49, 1.49,
1258 1.49, 1.49, 1.49, 1.49,
1259 1.49, 1.49, 1.49, 1.49,
1262 G4double Glass_Abs[nEntries_Rich] =
1263 {4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1264 4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1265 4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1266 4200.0*mm, 4200.0*mm};
1269 G4MaterialPropertiesTable* Glass_MPT =
new G4MaterialPropertiesTable();
1270 Glass_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Glass_Rind, nEntries_Rich);
1271 Glass_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Glass_Abs, nEntries_Rich);
1272 MMats[
"Glass"]->SetMaterialPropertiesTable(Glass_MPT);
map< string, G4Material * > initMaterials(runConditions, goptions)