12 #include <Geant4/G4MaterialPropertiesTable.hh>
13 #include <Geant4/G4Material.hh>
14 #include <Geant4/G4SystemOfUnits.hh>
15 #include <Geant4/G4LogicalVolume.hh>
16 #include <Geant4/G4OpticalSurface.hh>
17 #include <Geant4/G4LogicalSkinSurface.hh>
18 #include <Geant4/G4LogicalBorderSurface.hh>
27 if(mat->GetMaterialPropertiesTable())
return;
32 G4double scin_en[] = {2.9*
eV, 3.*
eV};
33 G4double scin_fast[] = {1., 1.};
35 G4MaterialPropertiesTable *tab =
new G4MaterialPropertiesTable();
37 tab->AddProperty(
"FASTCOMPONENT", scin_en, scin_fast, ntab);
38 tab->AddConstProperty(
"FASTTIMECONSTANT", 6*
ns);
39 tab->AddConstProperty(
"SCINTILLATIONYIELD", 200/
MeV);
40 tab->AddConstProperty(
"RESOLUTIONSCALE", 1.);
42 G4double opt_en[] = {1.551*
eV, 3.545*
eV};
43 G4double opt_r[] = {2.4, 2.4};
44 G4double opt_abs[] = {200*
cm, 200*
cm};
46 tab->AddProperty(
"RINDEX", opt_en, opt_r, ntab);
47 tab->AddProperty(
"ABSLENGTH", opt_en, opt_abs, ntab);
49 mat->SetMaterialPropertiesTable(tab);
58 G4OpticalSurface *
surface =
new G4OpticalSurface(
"CrystalSurface", unified, polished, dielectric_metal);
60 new G4LogicalSkinSurface(
"CrystalSurfaceL", vol, surface);
64 G4double opt_en[] = {1.551*
eV, 3.545*
eV};
65 G4double reflectivity[] = {0.8, 0.8};
66 G4double efficiency[] = {0.9, 0.9};
67 G4MaterialPropertiesTable *surfmat =
new G4MaterialPropertiesTable();
68 surfmat->AddProperty(
"REFLECTIVITY", opt_en, reflectivity, ntab);
69 surfmat->AddProperty(
"EFFICIENCY", opt_en, efficiency, ntab);
70 surface->SetMaterialPropertiesTable(surfmat);
80 G4OpticalSurface *surf =
new G4OpticalSurface(
"OpDetS");
82 surf->SetType(dielectric_metal);
84 surf->SetFinish(polished);
86 surf->SetModel(glisur);
88 new G4LogicalBorderSurface(
"OpDetB", crystal, opdet, surf);
91 G4double opt_en[] = {1.551*
eV, 3.545*
eV};
93 G4double reflectivity[] = {0.1, 0.1};
96 G4double efficiency[] = {1., 1.};
98 G4MaterialPropertiesTable *surfmat =
new G4MaterialPropertiesTable();
99 surfmat->AddProperty(
"REFLECTIVITY", opt_en, reflectivity, ntab);
100 surfmat->AddProperty(
"EFFICIENCY", opt_en, efficiency, ntab);
101 surf->SetMaterialPropertiesTable(surfmat);