79 o <<
"Material " << material <<
" not found!";
94 std::vector<G4int> natoms;
95 std::vector<G4double> fractionMass;
117 elements.push_back(
"C"); natoms.push_back(5);
118 elements.push_back(
"H"); natoms.push_back(8);
119 elements.push_back(
"O"); natoms.push_back(2);
121 density = 1.190*
g/
cm3;
124 ConstructNewMaterial(
"PMMA", elements, natoms, density);
133 elements.push_back(
"C"); natoms.push_back(2);
134 elements.push_back(
"H"); natoms.push_back(4);
136 density = 1.200*
g/
cm3;
139 ConstructNewMaterial(
"Pethylene", elements, natoms, density);
148 elements.push_back(
"C"); natoms.push_back(2);
149 elements.push_back(
"H"); natoms.push_back(4);
151 density = 1.400*
g/
cm3;
154 ConstructNewMaterial(
"FPethylene", elements, natoms, density);
163 elements.push_back(
"C"); natoms.push_back(8);
164 elements.push_back(
"H"); natoms.push_back(8);
166 density = 1.050*
g/
cm3;
169 ConstructNewMaterial(
"Polystyrene", elements, natoms, density);
178 elements.push_back(
"C"); natoms.push_back(2);
179 elements.push_back(
"H"); natoms.push_back(6);
181 density = 1.060*
g/
cm3;
184 ConstructNewMaterial(
"Silicone", elements, natoms, density);
199 elements.push_back(
"Ti"); natoms.push_back(1);
200 elements.push_back(
"O"); natoms.push_back(2);
202 density = 4.26*
g/
cm3;
205 ConstructNewMaterial(
"TiO2", elements, natoms, density);
214 density = 1.52*
g/
cm3;
217 new G4Material(
"Coating", density, ncomponents=2);
238 const G4int nEntries =
sizeof(photonEnergy)/
sizeof(
G4double);
245 { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
246 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
247 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
248 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
249 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00};
251 assert(
sizeof(refractiveIndex) ==
sizeof(photonEnergy));
254 mpt->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex, nEntries);
262 G4double refractiveIndexWLSfiber[] =
263 { 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
264 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
265 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
266 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
267 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60};
269 assert(
sizeof(refractiveIndexWLSfiber) ==
sizeof(photonEnergy));
272 {5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,
273 5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,
274 5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,1.10*
m,
275 1.10*
m,1.10*
m,1.10*
m,1.10*
m,1.10*
m,1.10*
m, 1.*
mm, 1.*
mm, 1.*
mm, 1.*
mm,
278 assert(
sizeof(absWLSfiber) ==
sizeof(photonEnergy));
281 {0.05, 0.10, 0.30, 0.50, 0.75, 1.00, 1.50, 1.85, 2.30, 2.75,
282 3.25, 3.80, 4.50, 5.20, 6.00, 7.00, 8.50, 9.50, 11.1, 12.4,
283 12.9, 13.0, 12.8, 12.3, 11.1, 11.0, 12.0, 11.0, 17.0, 16.9,
284 15.0, 9.00, 2.50, 1.00, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00,
285 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00};
287 assert(
sizeof(emissionFib) ==
sizeof(photonEnergy));
292 AddProperty(
"RINDEX",photonEnergy,refractiveIndexWLSfiber,nEntries);
294 mptWLSfiber->
AddProperty(
"WLSABSLENGTH",photonEnergy,absWLSfiber,nEntries);
295 mptWLSfiber->
AddProperty(
"WLSCOMPONENT",photonEnergy,emissionFib,nEntries);
305 { 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
306 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
307 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
308 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
309 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49};
311 assert(
sizeof(refractiveIndexClad1) ==
sizeof(photonEnergy));
314 {20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
315 20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
316 20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
317 20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
318 20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m};
320 assert(
sizeof(absClad) ==
sizeof(photonEnergy));
324 mptClad1->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexClad1,nEntries);
325 mptClad1->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
334 { 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
335 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
336 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
337 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
338 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42};
340 assert(
sizeof(refractiveIndexClad2) ==
sizeof(photonEnergy));
344 mptClad2->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexClad2,nEntries);
345 mptClad2->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
353 G4double refractiveIndexSilicone[] =
354 { 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
355 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
356 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
357 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
358 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46};
360 assert(
sizeof(refractiveIndexSilicone) ==
sizeof(photonEnergy));
365 AddProperty(
"RINDEX",photonEnergy,refractiveIndexSilicone,nEntries);
366 mptSilicone->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
375 { 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
376 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
377 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
378 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
379 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50};
381 assert(
sizeof(refractiveIndexPS) ==
sizeof(photonEnergy));
384 {2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
385 2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
386 2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
387 2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
390 assert(
sizeof(absPS) ==
sizeof(photonEnergy));
393 {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
394 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
395 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
396 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
397 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
399 assert(
sizeof(scintilFast) ==
sizeof(photonEnergy));
403 mptPolystyrene->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexPS,nEntries);
404 mptPolystyrene->
AddProperty(
"ABSLENGTH",photonEnergy,absPS,nEntries);
406 AddProperty(
"FASTCOMPONENT",photonEnergy, scintilFast,nEntries);