10 #include "G4Element.hh" 11 #include "G4NistManager.hh" 12 #include "G4OpBoundaryProcess.hh" 30 map<string, G4Material*> MMats;
33 G4double a, z, density;
43 G4Element* As =
new G4Element(
"Arsen" ,
"As", z=33, a= 74.92*g/mole);
44 G4Element* Ar =
new G4Element(
"Argon",
"Ar", z=18, a= 39.95*g/mole);
45 G4Element* Al =
new G4Element(
"Aluminum",
"Al", z=13, a= 26.982*g/mole);
46 G4Element* Ba =
new G4Element(
"Barium",
"Ba", z=56, a= 137.327*g/mole);
47 G4Element* C =
new G4Element(
"Carbon",
"C", z=6, a= 12.01*g/mole);
48 G4Element* Cr =
new G4Element(
"Chromium",
"Cr", z=24, a= 52.00*g/mole);
49 G4Element* Cl =
new G4Element(
"Chlorine",
"Cl", z=17, a= 35.453*g/mole);
50 G4Element* F =
new G4Element(
"Fluorine",
"F", z=9, a= 18.9984*g/mole);
51 G4Element* H =
new G4Element(
"Hydrogen",
"H", z=1, a= 1.01*g/mole);
52 G4Element* He =
new G4Element(
"Helium",
"He", z=2, a= 4.0026*g/mole);
53 G4Element* He3 =
new G4Element(
"Helium3",
"He3", z=2, a=3.0160293*g/mole);
54 G4Element* Mn =
new G4Element(
"Manganese",
"Mn", z=25, a= 54.94*g/mole);
55 G4Element* N =
new G4Element(
"Nitrogen",
"N", z=7, a= 14.01*g/mole);
56 G4Element* O =
new G4Element(
"Oxygen",
"O", z=8, a= 16.00*g/mole);
57 G4Element* Ox =
new G4Element(
"Ox",
"Ox", z=8, a= 16.0*g/mole);
58 G4Element* Ni =
new G4Element(
"Nickel",
"Ni", z=28, a= 58.70*g/mole);
59 G4Element* Pb =
new G4Element(
"Lead",
"Pb", z=82, a= 207.19*g/mole);
60 G4Element* Si =
new G4Element(
"Silicon",
"Si", z=14, a= 28.09*g/mole);
61 G4Element* Sr =
new G4Element(
"Strontium",
"Sr", z=38, a= 87.62*g/mole);
62 G4Element* W =
new G4Element(
"Tungsten",
"W", z=74, a= 183.85*g/mole);
63 G4Element* Wf =
new G4Element(
"Wf",
"Wf", z=74, a= 183.85*g/mole);
65 G4NistManager* matman = G4NistManager::Instance();
69 G4Material *Air =
new G4Material(
"Air", density= 1.29*mg/cm3, nel=2);
70 Air->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
71 Air->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
73 G4Material *Air_Opt =
new G4Material(
"Air_Opt", density= 1.29*mg/cm3, nel=2);
74 Air_Opt->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
75 Air_Opt->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
77 G4Material *Air_Opt2 =
new G4Material(
"Air_Opt2", density= 1.29*mg/cm3, nel=2);
78 Air_Opt2->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
79 Air_Opt2->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
82 G4Material *Kryptonite =
new G4Material(
"Kryptonite", density= 0.00000001*mg/cm3, nel=1);
83 Kryptonite->AddElement(Ar, 100.*perCent);
111 G4Element* elH =
new G4Element(
"Hydrogen",symbol=
"H" , 1., 1.01*g/mole);
112 G4Element* elC =
new G4Element(
"Carbon" ,symbol=
"C" , 6., 12.01*g/mole);
113 G4Element* elN =
new G4Element(
"Nitrogen",symbol=
"N" , 7., 14.01*g/mole);
114 G4Element* elO =
new G4Element(
"Oxygen" ,symbol=
"O" , 8., 16.00*g/mole);
118 G4Material *Epoxy =
new G4Material(
"Epoxy", density = 1.16*g/cm3, nel=4);
119 Epoxy->AddElement(elH, 32);
120 Epoxy->AddElement(elN, 2);
121 Epoxy->AddElement(elO, 4);
122 Epoxy->AddElement(elC, 15);
123 MMats[
"Epoxy"] = Epoxy;
129 G4Material *EpoxyPolyI =
new G4Material(
"EpoxyPolyI", density = 3.608*g/cm3, nel=2);
130 EpoxyPolyI->AddMaterial(Epoxy, 83*perCent);
131 EpoxyPolyI->AddMaterial(matman->FindOrBuildMaterial(
"G4_POLYETHYLENE"), 17*perCent);
132 MMats[
"EpoxyPolyI"] = EpoxyPolyI;
137 G4Material *SilverEpoxy =
new G4Material(
"SilverEpoxy", density = 3.608*g/cm3, nel=2);
138 SilverEpoxy->AddMaterial(Epoxy, 70*perCent);
139 SilverEpoxy->AddMaterial(matman->FindOrBuildMaterial(
"G4_Ag"), 30*perCent);
140 MMats[
"SilverEpoxy"] = SilverEpoxy;
151 G4Material *BusCable =
new G4Material(
"BusCable", density=2.692*g/cm3, nel=2);
152 BusCable->AddMaterial(matman->FindOrBuildMaterial(
"G4_Cu"), 21.9*perCent);
153 BusCable->AddMaterial(matman->FindOrBuildMaterial(
"G4_POLYETHYLENE"), 78.1*perCent);
154 MMats[
"BusCable"] = BusCable;
171 G4Material *BusCableCopperAndNickelAndGold =
new G4Material(
"BusCableCopperAndNickelAndGold", density=5.16*g/cm3, nel=4);
172 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Cu"), 55.2*perCent);
173 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Ni"), 7.2*perCent);
174 BusCableCopperAndNickelAndGold->AddMaterial(matman->FindOrBuildMaterial(
"G4_Au"), 0.9*perCent);
175 BusCableCopperAndNickelAndGold->AddMaterial(SilverEpoxy, 36.7*perCent);
176 MMats[
"BusCableCopperAndNickelAndGold"] = BusCableCopperAndNickelAndGold;
183 G4Material *CarbonFiber =
new G4Material(
"CarbonFiber", density = 1.750*g/cm3, nel=2);
184 CarbonFiber->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 74.5*perCent);
185 CarbonFiber->AddMaterial(Epoxy, 25.50*perCent);
186 MMats[
"CarbonFiber"] = CarbonFiber;
188 G4Material *PCBoardM =
new G4Material(
"PCBoardM", density = 1.860*g/cm3, nel=3);
189 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 30*perCent);
190 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 40*perCent);
191 PCBoardM->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 30*perCent);
192 MMats[
"PCBoardM"] = PCBoardM ;
194 G4Material *Rohacell =
new G4Material(
"Rohacell", density = 100*mg/cm3, nel=4);
195 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 64.65*perCent);
196 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 7.84*perCent);
197 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 8.39*perCent);
198 Rohacell->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 19.14*perCent);
199 MMats[
"Rohacell"] = Rohacell ;
219 G4Material *Peek =
new G4Material(
"Peek", density = 1.31*g/cm3, nel=3);
220 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 76*perCent);
221 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 8*perCent);
222 Peek->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 16*perCent);
223 MMats[
"Peek"] = Peek ;
229 G4Material *BSTMMylar =
new G4Material(
"BSTMMylar", density = 1.40*g/cm3, nel=4);
230 BSTMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.03);
231 BSTMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.63);
232 BSTMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 0.32);
233 BSTMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 0.02);
243 const G4int nEntries_HTCCGas = 47;
244 const G4int nEntries_HTCCmirr = 46;
247 G4double PhotonEnergy_HTCCGas[nEntries_HTCCGas] =
248 { 1.9074494*eV, 1.9372533*eV, 1.9680033*eV, 1.9997453*eV, 2.0325280*eV,
249 2.0664035*eV, 2.1014273*eV, 2.1376588*eV, 2.1751616*eV, 2.2140038*eV,
250 2.2542584*eV, 2.2960039*eV, 2.3393247*eV, 2.3843117*eV, 2.4310630*eV,
251 2.4796842*eV, 2.5302900*eV, 2.5830044*eV, 2.6379619*eV, 2.6953089*eV,
252 2.7552047*eV, 2.8178230*eV, 2.8833537*eV, 2.9520050*eV, 3.0240051*eV,
253 3.0996053*eV, 3.1790823*eV, 3.2627424*eV, 3.3509246*eV, 3.4440059*eV,
254 3.5424060*eV, 3.6465944*eV, 3.7570973*eV, 3.8745066*eV, 3.9994907*eV,
255 4.1328070*eV, 4.2753176*eV, 4.4280075*eV, 4.5920078*eV, 4.7686235*eV,
256 4.9593684*eV, 5.1660088*eV, 5.3906179*eV, 5.6356459*eV, 5.9040100*eV,
257 6.1992105*eV, 6.5254848*eV };
260 G4double IndexOfRefraction_HTCCGas[nEntries_HTCCGas] =
261 { 1.0004473, 1.0004475, 1.0004477, 1.0004480, 1.0004483,
262 1.0004486, 1.0004489, 1.0004492, 1.0004495, 1.0004498,
263 1.0004502, 1.0004506, 1.0004510, 1.0004514, 1.0004518,
264 1.0004523, 1.0004528, 1.0004534, 1.0004539, 1.0004545,
265 1.0004552, 1.0004559, 1.0004566, 1.0004574, 1.0004583,
266 1.0004592, 1.0004602, 1.0004613, 1.0004625, 1.0004638,
267 1.0004652, 1.0004668, 1.0004685, 1.0004704, 1.0004724,
268 1.0004748, 1.0004773, 1.0004803, 1.0004835, 1.0004873,
269 1.0004915, 1.0004964, 1.0005021, 1.0005088, 1.0005167,
270 1.0005262, 1.0005378 };
274 G4double AbsorptionLength_HTCCGas[nEntries_HTCCGas] =
275 { 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
276 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
277 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
278 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
279 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
280 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
281 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
282 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m,
283 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 1000.0000000*m, 82.8323273*m,
284 4.6101432*m, 0.7465970*m };
287 G4double QuantumEfficiency_HTCCPMT[nEntries_HTCCGas] =
288 { 0.0000000, 0.0014000, 0.0024000, 0.0040000, 0.0065000,
289 0.0105000, 0.0149000, 0.0216000, 0.0289000, 0.0376000,
290 0.0482000, 0.0609000, 0.0753000, 0.0916000, 0.1116000,
291 0.1265000, 0.1435000, 0.1602000, 0.1725000, 0.1892000,
292 0.2017000, 0.2122000, 0.2249000, 0.2344000, 0.2401000,
293 0.2418000, 0.2394000, 0.2372000, 0.2309000, 0.2291000,
294 0.2275000, 0.2301000, 0.2288000, 0.2236000, 0.2268000,
295 0.2240000, 0.2219000, 0.2219000, 0.2223000, 0.2189000,
296 0.2158000, 0.2093000, 0.2038000, 0.1950000, 0.1836000,
297 0.1612000, 0.1305000 };
300 G4double Rindex_HTCCPMT[nEntries_HTCCGas] =
301 { 1.5420481, 1.5423678, 1.5427003, 1.5430465, 1.5434074,
302 1.5437840, 1.5441775, 1.5445893, 1.5450206, 1.5454731,
303 1.5459484, 1.5464485, 1.5469752, 1.5475310, 1.5481182,
304 1.5487396, 1.5493983, 1.5500977, 1.5508417, 1.5516344,
305 1.5524807, 1.5533859, 1.5543562, 1.5553983, 1.5565202,
306 1.5577308, 1.5590402, 1.5604602, 1.5620045, 1.5636888,
307 1.5655313, 1.5675538, 1.5697816, 1.5722449, 1.5749797,
308 1.5780296, 1.5814472, 1.5852971, 1.5896593, 1.5946337,
309 1.6003470, 1.6069618, 1.6146902, 1.6238138, 1.6347145,
310 1.6479224, 1.6641955 };
313 G4double Reflectivity_HTCCMirror[nEntries_HTCCGas] =
314 { 0.8860000, 0.8880000, 0.8890000, 0.8900000, 0.8930000,
315 0.8960000, 0.8970000, 0.9000000, 0.9010000, 0.9020000,
316 0.9030000, 0.9040000, 0.9040000, 0.9040000, 0.9040000,
317 0.9040000, 0.9040000, 0.9040000, 0.9050000, 0.9050000,
318 0.9050000, 0.9050000, 0.9040000, 0.9040000, 0.9040000,
319 0.9040000, 0.9030000, 0.9030000, 0.9030000, 0.9020000,
320 0.9020000, 0.9010000, 0.9010000, 0.9000000, 0.8970000,
321 0.8930000, 0.8890000, 0.8830000, 0.8780000, 0.8660000,
322 0.8520000, 0.8360000, 0.8190000, 0.7950000, 0.7660000,
323 0.7370000, 0.6950000 };
329 G4double PhotonEnergy_HTCC_mirr[nEntries_HTCCmirr] =
330 { 1.907449*eV, 1.937253*eV, 1.968003*eV, 1.999745*eV, 2.032528*eV,
331 2.066404*eV, 2.101427*eV, 2.137659*eV, 2.175162*eV, 2.214004*eV,
332 2.254258*eV, 2.296004*eV, 2.339325*eV, 2.384312*eV, 2.431063*eV,
333 2.479684*eV, 2.53029*eV, 2.583004*eV, 2.637962*eV, 2.695309*eV,
334 2.755205*eV, 2.817823*eV, 2.883354*eV, 2.952005*eV, 3.024005*eV,
335 3.099605*eV, 3.179082*eV, 3.262742*eV, 3.350925*eV, 3.444006*eV,
336 3.542406*eV, 3.646594*eV, 3.757097*eV, 3.874507*eV, 3.999491*eV,
337 4.132807*eV, 4.275318*eV, 4.428008*eV, 4.592008*eV, 4.768623*eV,
338 4.959368*eV, 5.166009*eV, 5.390618*eV, 5.635646*eV, 5.90401*eV,
342 G4double Reflectivity_HTCC_AlMgF2_mirr[nEntries_HTCCmirr] =
343 { 0.8722925, 0.8725418, 0.8724854, 0.8719032, 0.8735628,
344 0.8733527, 0.8728732, 0.8769834, 0.8794382, 0.8790207,
345 0.8762184, 0.8800928, 0.8808256, 0.8812256, 0.8801459,
346 0.876982, 0.8786141, 0.8790666, 0.8786467, 0.8802601,
347 0.8824032, 0.8805016, 0.8733517, 0.8705232, 0.8753389,
348 0.8739763, 0.87137, 0.8754125, 0.8802811, 0.8616457,
349 0.8677598, 0.8684776, 0.8629656, 0.856517, 0.8539165,
350 0.8502238, 0.8450355, 0.8342837, 0.8257114, 0.8160133,
351 0.8036618, 0.783193, 0.7541341, 0.7498343, 0.6969729,
355 G4double Reflectivity_HTCC_AlMgF2_WC[nEntries_HTCCmirr] =
356 { 0.8331038, 0.8309071, 0.8279127, 0.8280742, 0.8322623,
357 0.837572, 0.8396875, 0.8481834, 0.8660284, 0.8611336,
358 0.8566167, 0.8667431, 0.86955, 0.8722481, 0.8728122,
359 0.8771635, 0.879907, 0.879761, 0.8831943, 0.8894673,
360 0.8984234, 0.9009531, 0.8910166, 0.8887382, 0.8869093,
361 0.8941976, 0.8948479, 0.8877356, 0.9026919, 0.8999685,
362 0.9101617, 0.8983005, 0.8991694, 0.8990987, 0.9000493,
363 0.9065833, 0.9028855, 0.8985184, 0.9009736, 0.9086968,
364 0.9015145, 0.8914838, 0.8816829, 0.8666895, 0.8496298,
371 G4Material *HTCCGas =
new G4Material(
"HTCCGas", density = 0.00184*g/cm3, nel=1);
372 HTCCGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_CARBON_DIOXIDE"), 100.0*perCent);
373 MMats[
"HTCCGas"] = HTCCGas;
374 G4MaterialPropertiesTable* HTCCGas_MPT =
new G4MaterialPropertiesTable();
375 HTCCGas_MPT->AddProperty(
"RINDEX", PhotonEnergy_HTCCGas, IndexOfRefraction_HTCCGas, nEntries_HTCCGas );
376 HTCCGas_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_HTCCGas, AbsorptionLength_HTCCGas, nEntries_HTCCGas );
377 MMats[
"HTCCGas"]->SetMaterialPropertiesTable(HTCCGas_MPT);
389 G4Material *HTCCAlMgF2 =
new G4Material(
"HTCCAlMgF2", density = 2.9007*g/cm3, nel = 3);
390 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
391 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
392 HTCCAlMgF2->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
393 MMats[
"HTCCAlMgF2"] = HTCCAlMgF2;
394 G4MaterialPropertiesTable* HTCCAlMgF2_MPT =
new G4MaterialPropertiesTable();
395 HTCCAlMgF2_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCCGas, Reflectivity_HTCCMirror, nEntries_HTCCGas );
396 MMats[
"HTCCAlMgF2"]->SetMaterialPropertiesTable(HTCCAlMgF2_MPT);
404 G4Material *Rohacell31 =
new G4Material(
"Rohacell31", density = 0.032*g/cm3, nel=4);
405 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 64.63*perCent);
406 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 7.84*perCent);
407 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 8.39*perCent);
408 Rohacell31->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 19.14*perCent);
409 MMats[
"Rohacell31"] = Rohacell31;
422 G4Material *HTCCPMTquartz =
new G4Material(
"HTCCPMTquartz", density=2.32*g/cm3, nel=1);
423 HTCCPMTquartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_SILICON_DIOXIDE"), 100.0*perCent );
424 MMats[
"HTCCPMTquartz"] = HTCCPMTquartz;
425 G4MaterialPropertiesTable* HTCCPMTquartz_MPT =
new G4MaterialPropertiesTable();
426 HTCCPMTquartz_MPT->AddProperty(
"EFFICIENCY", PhotonEnergy_HTCCGas, QuantumEfficiency_HTCCPMT, nEntries_HTCCGas );
427 HTCCPMTquartz_MPT->AddProperty(
"RINDEX", PhotonEnergy_HTCCGas, Rindex_HTCCPMT, nEntries_HTCCGas );
428 MMats[
"HTCCPMTquartz"]->SetMaterialPropertiesTable(HTCCPMTquartz_MPT);
436 G4Material *HTCC_ECI_Mirr =
new G4Material(
"HTCC_ECI_Mirr", density = 2.9007*g/cm3, nel = 3);
437 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
438 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
439 HTCC_ECI_Mirr->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
440 MMats[
"HTCC_ECI_Mirr"] = HTCC_ECI_Mirr;
441 G4MaterialPropertiesTable *HTCC_ECI_Mirr_MPT =
new G4MaterialPropertiesTable();
442 HTCC_ECI_Mirr_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCC_mirr, Reflectivity_HTCC_AlMgF2_mirr, nEntries_HTCCmirr );
443 MMats[
"HTCC_ECI_Mirr"]->SetMaterialPropertiesTable( HTCC_ECI_Mirr_MPT );
449 G4Material *HTCC_ECI_WC =
new G4Material(
"HTCC_ECI_WC", density = 2.9007*g/cm3, nel = 3);
450 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_Al"), 33.1*perCent );
451 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_Mg"), 26.1*perCent );
452 HTCC_ECI_WC->AddMaterial(matman->FindOrBuildMaterial(
"G4_F"), 40.8*perCent );
453 MMats[
"HTCC_ECI_WC"] = HTCC_ECI_WC;
454 G4MaterialPropertiesTable *HTCC_ECI_WC_MPT =
new G4MaterialPropertiesTable();
455 HTCC_ECI_WC_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_HTCC_mirr, Reflectivity_HTCC_AlMgF2_WC, nEntries_HTCCmirr );
456 MMats[
"HTCC_ECI_WC"]->SetMaterialPropertiesTable( HTCC_ECI_WC_MPT );
493 G4Material *LastaFoam =
new G4Material(
"LastaFoam", density = 240*mg/cm3, nel=4);
494 LastaFoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 40.45*perCent);
495 LastaFoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 7.86*perCent);
496 LastaFoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 15.73*perCent);
497 LastaFoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 35.96*perCent);
517 G4Material *Aerogel =
new G4Material(
"Aerogel", density= 0.14*g/cm3, nel=2);
518 Aerogel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 30.*perCent);
519 Aerogel->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 70.*perCent);
521 G4Material *CCGas =
new G4Material(
"CCGas", density= 0.01012*g/cm3, nel=2);
522 CCGas->AddElement(F, 70.*perCent);
523 CCGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 30.*perCent);
532 G4double temp = 22.0*kelvin;
533 G4Isotope* D =
new G4Isotope(
"Deuteron", zz=1, nn=2, a= 2.0141018*g/mole);
534 G4Element* elD =
new G4Element(
"Deuterium",symbol=
"elD", nIso = 1);
535 elD->AddIsotope(D, abundance=100.*perCent);
536 G4Material* LD2 =
new G4Material(
"LD2", density= 0.169*g/cm3, nel=1, kStateLiquid, temp);
537 LD2->AddElement(elD, natoms=2);
539 G4Material *Carbon =
new G4Material(
"Carbon", z=6, a= 12.011*g/mole, density = 2.265*g/cm3);
540 G4Material *LHe =
new G4Material(
"LHe", z=2, a= 4.0026*g/mole, density = 0.125*g/cm3);
543 G4Material *AlHoneycomb =
new G4Material(
"AlHoneycomb", z=13, a= 26.982*g/mole, density = 0.13*g/cm3);
546 G4Material *AlHoneycomb2 =
new G4Material(
"AlHoneycomb2", z=13, a= 26.982*g/mole, density = 1.00*g/cm3);
549 G4Material *Densimet =
new G4Material(
"Densimet", density = 18.0*g/cm3, nel=3);
550 Densimet->AddElement(W, 90*perCent);
551 Densimet->AddElement(Ni, 5*perCent);
552 Densimet->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 5*perCent);
557 G4Material *LeadTungsten =
new G4Material(
"LeadTungsten", density = 8.28*g/cm3, nel=3);
558 LeadTungsten->AddElement(Pb,1);
559 LeadTungsten->AddElement(W, 1);
560 LeadTungsten->AddElement(O, 4);
563 G4Material* LeadOxide = matman->FindOrBuildMaterial(
"G4_LEAD_OXIDE");
564 G4Material* SilicOxide = matman->FindOrBuildMaterial(
"G4_SILICON_DIOXIDE");
565 G4Material* PotasOxide = matman->FindOrBuildMaterial(
"G4_POTASSIUM_OXIDE");
566 G4Material* SodMonOxide = matman->FindOrBuildMaterial(
"G4_SODIUM_MONOXIDE");
568 G4Material* As2O3 =
new G4Material(
"As2O3", density= 3.738*g/cm3, nel=2);
569 As2O3->AddElement( As, 2 );
570 As2O3->AddElement( O, 3 );
572 G4Material* LgTF1 =
new G4Material(
"LgTF1", density= 3.86*g/cm3 , nel=5 );
573 LgTF1->AddMaterial( LeadOxide , 0.5120 );
574 LgTF1->AddMaterial( SilicOxide , 0.4130 );
575 LgTF1->AddMaterial( PotasOxide , 0.0422 );
576 LgTF1->AddMaterial( SodMonOxide , 0.0278 );
577 LgTF1->AddMaterial( As2O3 , 0.0050 );
579 G4Material *Scintillator =
new G4Material(
"Scintillator", density = 1.032*g/cm3, nel=2);
580 Scintillator->AddElement(C, 9);
581 Scintillator->AddElement(H, 10);
583 G4Material *ScintillatorB =
new G4Material(
"ScintillatorB", density = 1.032*g/cm3, nel=2);
584 ScintillatorB->AddElement(C, 9);
585 ScintillatorB->AddElement(H, 10);
586 ScintillatorB->GetIonisation()->SetBirksConstant(0.126*mm/MeV);
588 G4Material *StainlessSteel =
new G4Material(
"StainlessSteel", density = 8.02*g/cm3, nel=5);
589 StainlessSteel->AddElement(Mn, 0.02);
590 StainlessSteel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 0.01);
591 StainlessSteel->AddElement(Cr, 0.19);
592 StainlessSteel->AddElement(Ni, 0.10);
593 StainlessSteel->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 0.68);
595 G4Material *Kapton =
new G4Material(
"Kapton", density = 1.42*g/cm3, nel=4);
596 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.026362);
597 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.691133);
598 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 0.073270);
599 Kapton->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 0.209235);
602 G4Material *OptScint =
new G4Material(
"OptScint", density = 1.032*g/cm3, nel=2);
603 OptScint->AddElement(C, 9);
604 OptScint->AddElement(H, 10);
606 G4Material *DCgas =
new G4Material(
"DCgas", density = 1.8*mg/cm3, nel=3);
607 DCgas->AddElement(Ar, 90*perCent);
608 DCgas->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 6.6*perCent);
609 DCgas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 3.4*perCent);
613 G4Material *FTinsfoam =
new G4Material(
"FTinsfoam", density = 34*kg/m3, nel=4);
614 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 60.*perCent);
615 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 10.*perCent);
616 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 10.*perCent);
617 FTinsfoam->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 20.*perCent);
619 G4Material *Noryl =
new G4Material(
"Noryl", density = 1.06*g/cm3, nel=3);
620 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 47.06*perCent );
621 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 47.06*perCent );
622 Noryl->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 5.88*perCent );
625 G4Material *svtwirebond =
new G4Material(
"svtwirebond", density = 2.69*g/cm3, nel=2);
626 svtwirebond->AddElement(Al, 99*perCent);
627 svtwirebond->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1*perCent);
629 G4Material *MMGas =
new G4Material(
"MMGas", density = (1.662*0.95+2.489*0.05)*mg/cm3, nel=3);
630 MMGas->AddElement(Ar, 95.0*perCent);
631 MMGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.173414*5.0*perCent);
632 MMGas->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.826586*5.0*perCent);
652 G4double MMStripTransparency = 300./400.;
653 G4Material *MMStrips =
new G4Material(
"Copper", z=29, a= 63.55*g/mole, density = 8.960*MMStripTransparency*g/cm3);
656 G4double MMMeshTransparency = 1.0;
658 G4Material *MMMesh =
new G4Material(
"MMMesh", density = 8.02*MMMeshTransparency*g/cm3, nel=5);
659 MMMesh->AddElement(Mn, 0.02);
660 MMMesh->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 0.01);
661 MMMesh->AddElement(Cr, 0.19);
662 MMMesh->AddElement(Ni, 0.10);
663 MMMesh->AddMaterial(matman->FindOrBuildMaterial(
"G4_Fe"), 0.68);
669 G4Material *MMMylar =
new G4Material(
"MMMylar", density = 1.40*g/cm3, nel=3);
670 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 0.041958);
671 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 0.625017);
672 MMMylar->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 0.333025);
683 G4Material* He4_1atm =
new G4Material(
"He4_1atm", density = 1.*0.1786*mg/cm3, nel=1 );
684 He4_1atm->AddElement( He, 100.0*perCent );
685 G4Material* He4_2atm =
new G4Material(
"He4_2atm", density = 2.*0.1786*mg/cm3, nel=1 );
686 He4_2atm->AddElement( He, 100.0*perCent );
687 G4Material* He4_3atm =
new G4Material(
"He4_3atm", density = 3.*0.1786*mg/cm3, nel=1 );
688 He4_3atm->AddElement( He, 100.0*perCent );
689 G4Material* He4_7atm =
new G4Material(
"He4_7atm", density = 7.*0.1786*mg/cm3, nel=1 );
690 He4_7atm->AddElement( He, 100.0*perCent );
692 G4Material* PbWO4 =
new G4Material(
"PbWO4", density = 8.28*g/cm3, nel=3 );
693 PbWO4->AddElement( Pb, 1./6.*100.*perCent );
694 PbWO4->AddElement( Wf, 1./6.*100.*perCent );
695 PbWO4->AddElement( Ox, 4./6.*100.*perCent );
697 G4Material* SemiMirror =
new G4Material(
"SemiMirror", density = 8.28*g/cm3, nel=3 );
698 SemiMirror->AddElement( Pb, 1./6.*100.*perCent );
699 SemiMirror->AddElement( Wf, 1./6.*100.*perCent );
700 SemiMirror->AddElement( Ox, 4./6.*100.*perCent );
704 G4Material* He3_10amg =
new G4Material(
"He3_10amg", density = 10.*0.1345*mg/cm3, nel=1 );
706 He3_10amg->AddElement( He3, 100.0*perCent );
709 G4Material *BariumOxide =
new G4Material(
"BariumOxide", density=5.72*g/cm3, nel=2);
710 BariumOxide->AddElement(Ba, 1);
711 BariumOxide->AddElement(O, 1);
713 G4Material *StrontiumOxide =
new G4Material(
"StrontiumOxide", density=4.7*g/cm3, nel=2);
714 StrontiumOxide->AddElement(Sr, 1);
715 StrontiumOxide->AddElement(O, 1);
717 G4Material *AluminiumOxide = matman->FindOrBuildMaterial(
"G4_ALUMINUM_OXIDE");
718 G4Material *CalciumOxide = matman->FindOrBuildMaterial(
"G4_CALCIUM_OXIDE");
720 G4Material *Glass_GE180 =
new G4Material(
"Glass_GE180", density=2.76*g/cm3, nel=5);
721 Glass_GE180->AddMaterial(SilicOxide, 60.8*perCent);
722 Glass_GE180->AddMaterial(BariumOxide, 18.2*perCent);
723 Glass_GE180->AddMaterial(AluminiumOxide, 14.3*perCent);
724 Glass_GE180->AddMaterial(CalciumOxide, 6.5*perCent);
725 Glass_GE180->AddMaterial(StrontiumOxide, 0.25*perCent);
738 G4double density_NH3_solid = 0.817*g/cm3;
739 G4Material *NH3_solid =
new G4Material(
"NH3_solid", density_NH3_solid, nel=2);
740 NH3_solid->AddElement(H, 3);
741 NH3_solid->AddElement(N, 1);
743 G4Material *He4_liquid =
new G4Material(
"He4_liquid", density = 0.145*g/cm3, nel=1 );
744 He4_liquid->AddElement( He, 100.0*perCent );
749 G4double density_NH3He = (0.817*0.55+0.145*0.45)*g/cm3;
750 G4Material *NH3He =
new G4Material(
"NH3He", density_NH3He, nel=2);
751 NH3He->AddMaterial(NH3_solid, 0.8732);
752 NH3He->AddMaterial(He4_liquid, 1-0.8732);
755 G4Material *BerylliumOxide = matman->FindOrBuildMaterial(
"G4_BERYLLIUM_OXIDE");
761 G4Material* NOMEX_pure =
new G4Material(
"NOMEX_pure", density = 1.38*g/cm3, 5);
762 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_H"),0.04);
763 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_C"),0.54);
764 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_N"),0.09);
765 NOMEX_pure -> AddMaterial(matman->FindOrBuildMaterial(
"G4_O"),0.10);
766 NOMEX_pure -> AddElement(Cl,0.23);
768 G4Material* NOMEX =
new G4Material(
"NOMEX",density = 0.04*g/cm3, 2);
769 NOMEX -> AddMaterial(NOMEX_pure,0.45);
770 NOMEX -> AddMaterial(Air,0.55);
773 G4Material* NEMAG10 =
new G4Material(
"NEMAG10", 1.70*g/cm3, nel=4);
774 NEMAG10 -> AddElement(Si, 1);
775 NEMAG10 -> AddElement(O , 2);
776 NEMAG10 -> AddElement(C , 3);
777 NEMAG10 -> AddElement(H , 3);
780 G4double density_Ar = 1.7823*mg/cm3 ;
781 G4Material* Argon =
new G4Material(
"Argon" , density_Ar, nel=1);
782 Argon->AddElement(Ar, 1);
784 G4double density_CO2 = 1.977*mg/cm3;
785 G4Material* CO2 =
new G4Material(
"CO2", density_CO2, nel=2);
786 CO2->AddElement(C, 1);
787 CO2->AddElement(O, 2);
789 G4double density_ArCO2 = .7*density_Ar + .3*density_CO2;
790 G4Material *ArCO2 =
new G4Material(
"GEMgas", density_ArCO2, nel=2);
791 ArCO2->AddMaterial(Argon, 0.7*density_Ar/density_ArCO2) ;
792 ArCO2->AddMaterial(CO2, 0.3*density_CO2/density_ArCO2) ;
796 G4Material *C6F14 =
new G4Material(
"C6F14", density=1.680*g/cm3, nel=2);
797 C6F14->AddElement(C, 6);
798 C6F14->AddElement(F, 14);
800 G4Material *C5F12 =
new G4Material(
"C5F12", density=1.680*g/cm3, nel=2);
801 C5F12->AddElement(C , 5);
802 C5F12->AddElement(F , 12);
804 G4Material* H2O =
new G4Material(
"H20", density=1.000*g/cm3, nel=2);
805 H2O->AddElement(H, 2);
806 H2O->AddElement(O, 1);
808 G4Material *AerogelQuartz =
new G4Material(
"AerogelQuartz", density=2.200*g/cm3, nel=2);
809 AerogelQuartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1);
810 AerogelQuartz->AddElement(O, 2);
812 G4Material *RichAerogel3 =
new G4Material(
"RichAerogel3", density=0.158*g/cm3, nel=2);
813 RichAerogel3->AddMaterial(AerogelQuartz, 97.0*perCent);
814 RichAerogel3->AddMaterial(H2O, 3.0*perCent);
816 G4Material *RichAerogel5 =
new G4Material(
"RichAerogel5", density=0.25*g/cm3, nel=2);
817 RichAerogel5->AddMaterial(AerogelQuartz, 97.0*perCent);
818 RichAerogel5->AddMaterial(H2O, 3.0*perCent);
820 G4Material *Quartz =
new G4Material(
"Quartz", density= 4.400*g/cm3, nel=2);
821 Quartz->AddMaterial(matman->FindOrBuildMaterial(
"G4_Si"), 1);
822 Quartz->AddElement(O, 2);
826 G4Material *Methane =
new G4Material(
"Methane", density= 0.667*kg/m3, nel=2);
827 Methane->AddElement(C, 1);
828 Methane->AddElement(H, 4);
830 G4Material *Alumi =
new G4Material(
"Alumi", density=2.7*g/cm3, nel=1);
831 Alumi->AddElement(Al, 1);
833 G4Material *Glass =
new G4Material(
"Glass", density=1.032*g/cm3, nel=2);
834 Glass->AddMaterial(matman->FindOrBuildMaterial(
"G4_C"), 91.533*perCent);
835 Glass->AddMaterial(matman->FindOrBuildMaterial(
"G4_H"), 8.467*perCent);
844 G4Material *vacuum_m9 =
new G4Material(
"vacuum_m9", density= 1.68e-12*mg/cm3, nel=2);
845 vacuum_m9->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
846 vacuum_m9->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
848 G4Material *vacuum_m3 =
new G4Material(
"vacuum_m3", density= 1.68e-6*mg/cm3, nel=2);
849 vacuum_m3->AddMaterial(matman->FindOrBuildMaterial(
"G4_N"), 70.*perCent);
850 vacuum_m3->AddMaterial(matman->FindOrBuildMaterial(
"G4_O"), 30.*perCent);
856 MMats[
"AerogelQuartz"] = AerogelQuartz;
858 MMats[
"Air_Opt"] = Air_Opt;
859 MMats[
"Air_Opt2"] = Air_Opt2;
860 MMats[
"Alumi"] = Alumi;
861 MMats[
"Aluminum"] = matman->FindOrBuildMaterial(
"G4_Al");
862 MMats[
"Aerogel"] = Aerogel;
863 MMats[
"C5F12"] = C5F12;
864 MMats[
"C6F14"] = C6F14;
865 MMats[
"Carbon"] = Carbon;
866 MMats[
"CCGas"] = CCGas;
867 MMats[
"Concrete"] = matman->FindOrBuildMaterial(
"G4_CONCRETE");
868 MMats[
"Copper"] = matman->FindOrBuildMaterial(
"G4_Cu");
869 MMats[
"DCgas"] = DCgas;
870 MMats[
"FTinsfoam"] = FTinsfoam;
871 MMats[
"Glass"] = Glass;
872 MMats[
"Glass_GE180"] = Glass_GE180;
873 MMats[
"Gold"] = matman->FindOrBuildMaterial(
"G4_Au");
875 MMats[
"He4_1atm"] = He4_1atm ;
876 MMats[
"He4_2atm"] = He4_2atm ;
877 MMats[
"He4_3atm"] = He4_3atm ;
878 MMats[
"He4_7atm"] = He4_7atm ;
879 MMats[
"He3_10amg"] = He3_10amg ;
880 MMats[
"Iron"] = matman->FindOrBuildMaterial(
"G4_Fe");
881 MMats[
"Kapton"] = Kapton;
882 MMats[
"Kryptonite"] = matman->FindOrBuildMaterial(
"Kryptonite");
884 MMats[
"Lead"] = matman->FindOrBuildMaterial(
"G4_Pb");
885 MMats[
"LeadTungsten"] = LeadTungsten;
886 MMats[
"LgTF1"] = LgTF1;
887 MMats[
"LH2"] = matman->FindOrBuildMaterial(
"G4_lH2");;
889 MMats[
"Methane"] = Methane;
890 MMats[
"MMGas"] = MMGas;
891 MMats[
"MMStrips"] = MMStrips;
892 MMats[
"MMMesh"] = MMMesh;
893 MMats[
"MMMylar"] = MMMylar;
894 MMats[
"Nickel"] = matman->FindOrBuildMaterial(
"G4_Ni");
895 MMats[
"Noryl"] = Noryl ;
896 MMats[
"PbWO4"] = PbWO4 ;
897 MMats[
"Quartz"] = Quartz;
898 MMats[
"OptScint"] = OptScint;
899 MMats[
"RichAerogel3"] = RichAerogel3;
900 MMats[
"RichAerogel5"] = RichAerogel5;
901 MMats[
"Scintillator"] = Scintillator;
902 MMats[
"ScintillatorB"] = ScintillatorB;
903 MMats[
"SemiMirror"] = SemiMirror ;
904 MMats[
"Silicium"] = matman->FindOrBuildMaterial(
"G4_Si");
905 MMats[
"Silicon"] = matman->FindOrBuildMaterial(
"G4_Si");
906 MMats[
"StainlessSteel"] = StainlessSteel;
907 MMats[
"svtwirebond"] = svtwirebond;
908 MMats[
"Teflon"] = matman->FindOrBuildMaterial(
"G4_TEFLON");
909 MMats[
"Tungsten"] = matman->FindOrBuildMaterial(
"G4_W");
910 MMats[
"Vacuum"] = matman->FindOrBuildMaterial(
"G4_Galactic");
911 MMats[
"vacuum_m9"] = vacuum_m9;
912 MMats[
"vacuum_m3"] = vacuum_m3;
913 MMats[
"Water"] = matman->FindOrBuildMaterial(
"G4_WATER");
914 MMats[
"AlHoneycomb"] = AlHoneycomb;
915 MMats[
"AlHoneycomb2"] = AlHoneycomb2;
916 MMats[
"Densimet"] = Densimet;
917 MMats[
"NOMEX_pure"] = NOMEX_pure;
918 MMats[
"NOMEX"] = NOMEX;
919 MMats[
"NEMAG10"] = NEMAG10;
920 MMats[
"Argon"] = Argon;
922 MMats[
"ArCO2"] = ArCO2;
923 MMats[
"NH3_solid"] = NH3_solid;
924 MMats[
"He4_liquid"] = He4_liquid;
925 MMats[
"NH3He"] = NH3He;
926 MMats[
"BerylliumOxide"] = BerylliumOxide;
934 const G4int nEntries_OptScint = 2;
936 G4double PhotonEnergy_OptScint[nEntries_OptScint] = { 2.034*eV , 4.136*eV };
937 G4double RefractiveIndex_OptScint[nEntries_OptScint] = { 1.49 , 1.49 };
938 G4double Absorption_OptScint[nEntries_OptScint] = { 4.5*m , 4.5*m };
939 G4double ScintilFast_OptScint[nEntries_OptScint] = { 1.00 , 1.00 };
940 G4double ScintilSlow_OptScint[nEntries_OptScint] = { 10.00 , 10.00 };
942 G4MaterialPropertiesTable* OptScint_MPT =
new G4MaterialPropertiesTable();
943 OptScint_MPT->AddProperty(
"RINDEX", PhotonEnergy_OptScint, RefractiveIndex_OptScint, nEntries_OptScint);
944 OptScint_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_OptScint, Absorption_OptScint, nEntries_OptScint);
945 OptScint_MPT->AddProperty(
"FASTCOMPONENT", PhotonEnergy_OptScint, ScintilFast_OptScint, nEntries_OptScint);
946 OptScint_MPT->AddProperty(
"SLOWCOMPONENT", PhotonEnergy_OptScint, ScintilSlow_OptScint, nEntries_OptScint);
948 OptScint_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 1./MeV);
949 OptScint_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
950 OptScint_MPT->AddConstProperty(
"FASTTIMECONSTANT", 2.1*ns);
951 OptScint_MPT->AddConstProperty(
"SLOWTIMECONSTANT", 10.*ns);
952 OptScint_MPT->AddConstProperty(
"YIELDRATIO", 0.1);
953 MMats[
"OptScint"]->SetMaterialPropertiesTable(OptScint_MPT);
956 const G4int nEntries = 15;
957 G4double PhotonEnergyTF1[nEntries] =
958 { 1.99988723*eV, 2.06655002*eV, 2.13781047*eV,
959 2.21416092*eV, 2.29616666*eV, 2.38448095*eV,
960 2.47986007*eV, 2.58318758*eV, 2.69550014*eV,
961 2.81802297*eV, 2.95221448*eV, 3.09982514*eV,
962 3.26297379*eV, 3.44425011*eV, 3.64685321*eV };
964 G4double RefractiveIndex1[nEntries] =
965 { 1.6436, 1.6454, 1.6474, 1.6496, 1.6521,
966 1.6548, 1.6579, 1.6614, 1.6653, 1.6697,
967 1.6748, 1.6806, 1.6874, 1.6952, 1.7045 };
969 G4double Absorption1[nEntries] =
970 { 7.0*m, 7.0*m, 7.0*m, 7.0 *m, 7.0 *m,
971 7.0*m, 6.0*m, 5.0*m, 3.5 *m, 2.75*m,
972 1.8*m, 1.0*m, 0.5*m, 0.15*m, 0.08*m };
974 G4MaterialPropertiesTable* TF1glass =
new G4MaterialPropertiesTable();
975 TF1glass->AddProperty(
"RINDEX", PhotonEnergyTF1, RefractiveIndex1, nEntries);
976 TF1glass->AddProperty(
"ABSLENGTH", PhotonEnergyTF1, Absorption1, nEntries);
977 MMats[
"LgTF1"]->SetMaterialPropertiesTable(TF1glass);
981 const G4int nEntries_Air = 2;
982 G4double PhotonEnergy_Air[nEntries_Air] = { 2.034*eV , 4.136*eV };
983 G4double RefractiveIndex_Air[nEntries_Air] = { 1.00, 1.00 };
985 G4MaterialPropertiesTable* Air_MPT =
new G4MaterialPropertiesTable();
986 Air_MPT->AddProperty(
"RINDEX", PhotonEnergy_Air, RefractiveIndex_Air, nEntries_Air);
987 MMats[
"Air_Opt"]->SetMaterialPropertiesTable(Air_MPT);
992 G4double RefractiveIndex_Air2[nEntries_Air] = { 1.00, 1.00 };
993 G4double Absorption_Air2[nEntries_Air] = { 0.0*mm , 0.0*mm };
995 G4MaterialPropertiesTable* Air_MPT2 =
new G4MaterialPropertiesTable();
996 Air_MPT2->AddProperty(
"RINDEX", PhotonEnergy_Air, RefractiveIndex_Air2, nEntries_Air);
997 Air_MPT2->AddProperty(
"ABSLENGTH", PhotonEnergy_Air, Absorption_Air2, nEntries_Air);
998 MMats[
"Air_Opt2"]->SetMaterialPropertiesTable(Air_MPT2);
1000 G4double PhotonEnergy_SemiMirror[nEntries_Air] = { 2.034*eV , 4.136*eV };
1001 G4double RefractiveIndex_SemiMirror[nEntries_Air] = { 5.00, 5.00 };
1002 G4double Absorption_SemiMirror[nEntries_Air] = { 100.0*m , 100.0*m };
1004 G4MaterialPropertiesTable* SemiMirrorMPT =
new G4MaterialPropertiesTable();
1005 SemiMirrorMPT->AddProperty(
"RINDEX", PhotonEnergy_SemiMirror, RefractiveIndex_SemiMirror, 2);
1006 SemiMirrorMPT->AddProperty(
"ABSLENGTH", PhotonEnergy_SemiMirror, Absorption_SemiMirror, 2);
1007 MMats[
"SemiMirror"]->SetMaterialPropertiesTable(SemiMirrorMPT);
1013 const G4int nEntries_Water = 32;
1014 G4double PhotonEnergy_Water[nEntries_Water] =
1015 { 2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV,
1016 2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV,
1017 2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV,
1018 2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV,
1019 2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV,
1020 3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV,
1021 3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV,
1022 3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV };
1024 G4double RefractiveIndex_Water[nEntries_Water] =
1025 { 1.3435 , 1.344 , 1.3445 , 1.345 ,
1026 1.3455 , 1.346 , 1.3465 , 1.347 ,
1027 1.3475 , 1.348 , 1.3485 , 1.3492 ,
1028 1.35 , 1.3505 , 1.351 , 1.3518 ,
1029 1.3522 , 1.3530 , 1.3535 , 1.354 ,
1030 1.3545 , 1.355 , 1.3555 , 1.356 ,
1031 1.3568 , 1.3572 , 1.358 , 1.3585 ,
1032 1.359 , 1.3595 , 1.36 , 1.3608 };
1034 G4double Absorption_Water[nEntries_Water] =
1035 { 3.448*m , 4.082*m, 6.329*m, 9.174*m,
1036 12.346*m , 13.889*m, 15.152*m, 17.241*m,
1037 18.868*m , 20.000*m, 26.316*m, 35.714*m,
1038 45.455*m , 47.619*m, 52.632*m, 52.632*m,
1039 55.556*m , 52.632*m, 52.632*m, 47.619*m,
1040 45.455*m , 41.667*m, 37.037*m, 33.333*m,
1041 30.000*m , 28.500*m, 27.000*m, 24.500*m,
1042 22.000*m , 19.500*m, 17.500*m, 14.500*m };
1044 G4double ScintilFast_Water[nEntries_Water] =
1045 { 1.00 , 1.00 , 1.00 , 1.00 ,
1046 1.00 , 1.00 , 1.00 , 1.00 ,
1047 1.00 , 1.00 , 1.00 , 1.00 ,
1048 1.00 , 1.00 , 1.00 , 1.00 ,
1049 1.00 , 1.00 , 1.00 , 1.00 ,
1050 1.00 , 1.00 , 1.00 , 1.00 ,
1051 1.00 , 1.00 , 1.00 , 1.00 ,
1052 1.00 , 1.00 , 1.00 , 1.00 };
1054 G4double ScintilSlow_Water[nEntries_Water] =
1055 { 0.01 , 1.00 , 2.00 , 3.00 ,
1056 4.00 , 5.00 , 6.00 , 7.00 ,
1057 8.00 , 9.00 , 8.00 , 7.00 ,
1058 6.00 , 4.00 , 3.00 , 2.00 ,
1059 1.00 , 0.01 , 1.00 , 2.00 ,
1060 3.00 , 4.00 , 5.00 , 6.00 ,
1061 7.00 , 8.00 , 9.00 , 8.00 ,
1062 7.00 , 6.00 , 5.00 , 4.00 };
1065 G4MaterialPropertiesTable* Water_MPT =
new G4MaterialPropertiesTable();
1066 Water_MPT->AddProperty(
"RINDEX", PhotonEnergy_Water, RefractiveIndex_Water, nEntries_Water);
1067 Water_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Water, Absorption_Water, nEntries_Water);
1068 Water_MPT->AddProperty(
"FASTCOMPONENT", PhotonEnergy_Water, ScintilFast_Water, nEntries_Water);
1069 Water_MPT->AddProperty(
"SLOWCOMPONENT", PhotonEnergy_Water, ScintilSlow_Water, nEntries_Water);
1071 Water_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1072 Water_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1073 Water_MPT->AddConstProperty(
"FASTTIMECONSTANT", 1.*ns);
1074 Water_MPT->AddConstProperty(
"SLOWTIMECONSTANT", 10.*ns);
1075 Water_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1077 MMats[
"Water"]->SetMaterialPropertiesTable(Water_MPT);
1078 MMats[
"H2O"]->SetMaterialPropertiesTable(Water_MPT);
1082 const G4int nEntries_CCGas = 2;
1083 G4double PhotonEnergy_CCGas[nEntries_CCGas] = { 2.034*eV, 4.136*eV };
1084 G4double RefractiveIndex_CCGas[nEntries_CCGas] = { 1.001331 , 1.00143 };
1085 G4double Absorption_CCGas[nEntries_CCGas] = { 10*m , 3*m };
1087 G4MaterialPropertiesTable* CCGas_MPT =
new G4MaterialPropertiesTable();
1088 CCGas_MPT->AddProperty(
"RINDEX", PhotonEnergy_CCGas, RefractiveIndex_CCGas, nEntries_CCGas);
1089 CCGas_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_CCGas, Absorption_CCGas, nEntries_CCGas);
1090 CCGas_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1091 CCGas_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1092 CCGas_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1093 MMats[
"CCGas"]->SetMaterialPropertiesTable(CCGas_MPT);
1097 const G4int nEntries_Aerogel = 2;
1098 G4double PhotonEnergy_Aerogel[nEntries_Aerogel] = { 2.034*eV, 4.136*eV };
1099 G4double RefractiveIndex_Aerogel[nEntries_Aerogel] = { 1.03 , 1.03 };
1100 G4double Absorption_Aerogel[nEntries_Aerogel] = { 10*m , 3*cm };
1102 G4MaterialPropertiesTable* Aerogel_MPT =
new G4MaterialPropertiesTable();
1103 Aerogel_MPT->AddProperty(
"RINDEX", PhotonEnergy_Aerogel, RefractiveIndex_Aerogel, nEntries_Aerogel);
1104 Aerogel_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Aerogel, Absorption_Aerogel, nEntries_Aerogel);
1105 Aerogel_MPT->AddConstProperty(
"SCINTILLATIONYIELD", 10./MeV);
1106 Aerogel_MPT->AddConstProperty(
"RESOLUTIONSCALE", 1.0);
1107 Aerogel_MPT->AddConstProperty(
"YIELDRATIO", 0.8);
1108 MMats[
"Aerogel"]->SetMaterialPropertiesTable(Aerogel_MPT);
1112 const G4int nEntries_Rich = 14;
1114 G4double PhotonEnergy_Rich[nEntries_Rich] =
1115 { 2.21*eV, 2.30*eV, 2.38*eV, 2.48*eV,
1116 2.58*eV, 2.70*eV, 2.82*eV, 2.95*eV,
1117 3.10*eV, 3.26*eV, 3.44*eV, 3.65*eV,
1121 G4double C5F12_Rind[nEntries_Rich] =
1122 { 1.23862, 1.23884, 1.23906, 1.23933,
1123 1.23962, 1.23998, 1.24035, 1.24078,
1124 1.24130, 1.24189, 1.24259, 1.24346,
1127 G4double C5F12_Abs[nEntries_Rich] =
1128 { 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1129 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1130 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1131 2000.*mm, 2000.*mm};
1134 G4MaterialPropertiesTable* C5F12_MPT =
new G4MaterialPropertiesTable();
1135 C5F12_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, C5F12_Rind, nEntries_Rich);
1136 C5F12_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, C5F12_Abs, nEntries_Rich);
1137 MMats[
"C5F12"]->SetMaterialPropertiesTable(C5F12_MPT);
1139 const G4int RichAerogel_Len=50;
1140 G4double RichAerogel_PhoE[RichAerogel_Len]=
1141 { 1.87855*eV, 1.96673*eV, 2.05490*eV, 2.14308*eV, 2.23126*eV,
1142 2.31943*eV, 2.40761*eV, 2.49579*eV, 2.58396*eV, 2.67214*eV,
1143 2.76032*eV, 2.84849*eV, 2.93667*eV, 3.02485*eV, 3.11302*eV,
1144 3.20120*eV, 3.28938*eV, 3.37755*eV, 3.46573*eV, 3.55391*eV,
1145 3.64208*eV, 3.73026*eV, 3.81844*eV, 3.90661*eV, 3.99479*eV,
1146 4.08297*eV, 4.17114*eV, 4.25932*eV, 4.34750*eV, 4.43567*eV,
1147 4.52385*eV, 4.61203*eV, 4.70020*eV, 4.78838*eV, 4.87656*eV,
1148 4.96473*eV, 5.05291*eV, 5.14109*eV, 5.22927*eV, 5.31744*eV,
1149 5.40562*eV, 5.49380*eV, 5.58197*eV, 5.67015*eV, 5.75833*eV,
1150 5.84650*eV, 5.93468*eV, 6.02286*eV, 6.11103*eV, 6.19921*eV };
1151 G4double RichAerogel_Rind3[RichAerogel_Len]=
1152 { 1.02825, 1.02829, 1.02834, 1.02839, 1.02844,
1153 1.02849, 1.02854, 1.02860, 1.02866, 1.02872,
1154 1.02878, 1.02885, 1.02892, 1.02899, 1.02906,
1155 1.02914, 1.02921, 1.02929, 1.02938, 1.02946,
1156 1.02955, 1.02964, 1.02974, 1.02983, 1.02993,
1157 1.03003, 1.03014, 1.03025, 1.03036, 1.03047,
1158 1.03059, 1.03071, 1.03084, 1.03096, 1.03109,
1159 1.03123, 1.03137, 1.03151, 1.03166, 1.03181,
1160 1.03196, 1.03212, 1.03228, 1.03244, 1.03261,
1161 1.03279, 1.03297, 1.03315, 1.03334, 1.03354 };
1162 G4double RichAerogel_Abs[RichAerogel_Len]=
1163 { 17.5000*cm, 17.7466*cm, 17.9720*cm, 18.1789*cm, 18.3694*cm,
1164 18.5455*cm, 18.7086*cm, 18.8602*cm, 19.0015*cm, 19.1334*cm,
1165 19.2569*cm, 19.3728*cm, 19.4817*cm, 19.5843*cm, 19.6810*cm,
1166 19.7725*cm, 19.8590*cm, 19.9410*cm, 20.0188*cm, 20.0928*cm,
1167 18.4895*cm, 16.0174*cm, 13.9223*cm, 12.1401*cm, 10.6185*cm,
1168 9.3147*cm, 8.1940*cm, 7.2274*cm, 6.3913*cm, 5.6659*cm,
1169 5.0347*cm, 4.4841*cm, 4.0024*cm, 3.5801*cm, 3.2088*cm,
1170 2.8817*cm, 2.5928*cm, 2.3372*cm, 2.1105*cm, 1.9090*cm,
1171 1.7296*cm, 1.5696*cm, 1.4266*cm, 1.2986*cm, 1.1837*cm,
1172 1.0806*cm, 0.9877*cm, 0.9041*cm, 0.8286*cm, 0.7603*cm };
1173 G4double RichAerogel_Scat[RichAerogel_Len]=
1174 { 23.4256*cm, 19.4987*cm, 16.3612*cm, 13.8302*cm, 11.7702*cm,
1175 10.0798*cm, 8.6823*cm, 7.5188*cm, 6.5439*cm, 5.7219*cm,
1176 5.0251*cm, 4.4312*cm, 3.9225*cm, 3.4847*cm, 3.1064*cm,
1177 2.7780*cm, 2.4919*cm, 2.2417*cm, 2.0221*cm, 1.8288*cm,
1178 1.6580*cm, 1.5067*cm, 1.3723*cm, 1.2525*cm, 1.1455*cm,
1179 1.0497*cm, 0.9637*cm, 0.8864*cm, 0.8166*cm, 0.7536*cm,
1180 0.6965*cm, 0.6448*cm, 0.5977*cm, 0.5549*cm, 0.5159*cm,
1181 0.4802*cm, 0.4475*cm, 0.4176*cm, 0.3901*cm, 0.3649*cm,
1182 0.3417*cm, 0.3203*cm, 0.3005*cm, 0.2822*cm, 0.2653*cm,
1183 0.2497*cm, 0.2352*cm, 0.2217*cm, 0.2092*cm, 0.1975*cm };
1185 G4double RichAerogel_Rind5[RichAerogel_Len];
1186 for (
int iii=0; iii<RichAerogel_Len; iii++)
1187 RichAerogel_Rind5[iii]=RichAerogel_Rind3[iii]+(1.05-1.03);
1189 G4MaterialPropertiesTable* RichAerogel3_MPT =
new G4MaterialPropertiesTable();
1190 RichAerogel3_MPT->AddProperty(
"RINDEX", RichAerogel_PhoE, RichAerogel_Rind3, RichAerogel_Len);
1191 RichAerogel3_MPT->AddProperty(
"ABSLENGTH", RichAerogel_PhoE, RichAerogel_Abs, RichAerogel_Len);
1192 RichAerogel3_MPT->AddProperty(
"RAYLEIGH", RichAerogel_PhoE, RichAerogel_Scat, RichAerogel_Len);
1193 MMats[
"RichAerogel3"]->SetMaterialPropertiesTable(RichAerogel3_MPT);
1195 G4MaterialPropertiesTable* RichAerogel5_MPT =
new G4MaterialPropertiesTable();
1196 RichAerogel5_MPT->AddProperty(
"RINDEX", RichAerogel_PhoE, RichAerogel_Rind5, RichAerogel_Len);
1197 RichAerogel5_MPT->AddProperty(
"ABSLENGTH", RichAerogel_PhoE, RichAerogel_Abs, RichAerogel_Len);
1198 RichAerogel5_MPT->AddProperty(
"RAYLEIGH", RichAerogel_PhoE, RichAerogel_Scat, RichAerogel_Len);
1199 MMats[
"RichAerogel5"]->SetMaterialPropertiesTable(RichAerogel5_MPT);
1202 G4double C6F14_Rind[nEntries_Rich] =
1203 { 1.21501, 1.21656, 1.21794, 1.21966,
1204 1.22138, 1.22344, 1.22550, 1.22774,
1205 1.23032, 1.23307, 1.23617, 1.23978,
1208 G4double C6F14_Abs[nEntries_Rich] =
1209 { 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1210 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1211 2000.*mm, 2000.*mm, 2000.*mm, 2000.*mm,
1212 2000.*mm, 2000.*mm};
1214 G4MaterialPropertiesTable* C6F14_MPT =
new G4MaterialPropertiesTable();
1215 C6F14_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, C6F14_Rind, nEntries_Rich);
1216 C6F14_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, C6F14_Abs, nEntries_Rich);
1217 MMats[
"C6F14"]->SetMaterialPropertiesTable(C6F14_MPT);
1220 G4double Quartz_Rind[nEntries_Rich] =
1221 { 1.505, 1.509, 1.511, 1.515,
1222 1.520, 1.525, 1.528, 1.527,
1223 1.522, 1.512, 1.505, 1.492,
1226 G4double Quartz_Abs[nEntries_Rich] =
1227 { 550.7*mm, 530.7*mm, 590.1*mm, 490.7*mm,
1228 470.7*mm, 520.3*mm, 500.0*mm, 470.7*mm,
1229 450.5*mm, 270.5*mm, 190.1*mm, 60.9*mm,
1232 G4MaterialPropertiesTable* Quartz_MPT =
new G4MaterialPropertiesTable();
1233 Quartz_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Quartz_Rind, nEntries_Rich);
1234 Quartz_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Quartz_Abs, nEntries_Rich);
1235 MMats[
"Quartz"]->SetMaterialPropertiesTable(Quartz_MPT);
1237 G4double Methane_Rind[nEntries_Rich] =
1238 { 1., 1., 1., 1., 1., 1., 1.,
1239 1., 1., 1., 1., 1., 1., 1.};
1241 G4double Methane_Abs[nEntries_Rich] =
1242 {4000.*cm,4000.*cm,4000.*cm, 4000.*cm,
1243 4000.*cm,4000.*cm,4000.*cm, 4000.*cm,
1247 G4MaterialPropertiesTable* Methane_MPT =
new G4MaterialPropertiesTable();
1248 Methane_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Methane_Rind, nEntries_Rich);
1249 Methane_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Methane_Abs, nEntries_Rich);
1250 MMats[
"Methane"]->SetMaterialPropertiesTable(Methane_MPT);
1253 G4double Alumi_Rind[nEntries_Rich] =
1254 { 1., 1., 1., 1., 1., 1., 1.,
1255 1., 1., 1., 1., 1., 1., 1.};
1257 G4double Alumi_Abs[nEntries_Rich] =
1258 {0., 0., 0., 0., 0., 0., 0.,
1259 0., 0., 0., 0., 0., 0., 0.};
1261 G4double Alumi_Effi[nEntries_Rich] =
1262 {0., 1., 1., 1., 1., 1., 1.,
1263 1., 1., 1., 1., 1., 1., 0.};
1265 G4double Alumi_Refl[nEntries_Rich] =
1266 {0., 0., 0., 0., 0., 0., 0.,
1267 0., 0., 0., 0., 0., 0., 0.};
1269 G4MaterialPropertiesTable* Alumi_MPT =
new G4MaterialPropertiesTable();
1270 Alumi_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Alumi_Rind, nEntries_Rich);
1271 Alumi_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Alumi_Abs, nEntries_Rich);
1272 Alumi_MPT->AddProperty(
"EFFICIENCY", PhotonEnergy_Rich, Alumi_Effi, nEntries_Rich);
1273 Alumi_MPT->AddProperty(
"REFLECTIVITY", PhotonEnergy_Rich, Alumi_Refl, nEntries_Rich);
1274 MMats[
"Alumi"]->SetMaterialPropertiesTable(Alumi_MPT);
1276 G4double Glass_Rind[nEntries_Rich] =
1277 {1.49, 1.49, 1.49, 1.49,
1278 1.49, 1.49, 1.49, 1.49,
1279 1.49, 1.49, 1.49, 1.49,
1282 G4double Glass_Abs[nEntries_Rich] =
1283 {4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1284 4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1285 4200.0*mm, 4200.0*mm, 4200.0*mm, 4200.0*mm,
1286 4200.0*mm, 4200.0*mm};
1289 G4MaterialPropertiesTable* Glass_MPT =
new G4MaterialPropertiesTable();
1290 Glass_MPT->AddProperty(
"RINDEX", PhotonEnergy_Rich, Glass_Rind, nEntries_Rich);
1291 Glass_MPT->AddProperty(
"ABSLENGTH", PhotonEnergy_Rich, Glass_Abs, nEntries_Rich);
1292 MMats[
"Glass"]->SetMaterialPropertiesTable(Glass_MPT);
map< string, G4Material * > initMaterials(run_conditions, gemc_opts)