60 G4bool LXeDetectorConstruction::fSphereOn =
true;
65 : fLXe_mt(NULL), fMPTPStyrene(NULL)
67 fExperimentalHall_box = NULL;
68 fExperimentalHall_log = NULL;
69 fExperimentalHall_phys = NULL;
71 fLXe = fAl = fAir = fVacuum = fGlass = NULL;
72 fPstyrene = fPMMA = fPethylene1 = fPethylene2 = NULL;
74 fN = fO = fC = fH = NULL;
89 void LXeDetectorConstruction::DefineMaterials(){
95 G4int nC_PMMA = 3+2*polyPMMA;
96 G4int nH_PMMA = 6+2*polyPMMA;
99 G4int nC_eth = 2*polyeth;
100 G4int nH_eth = 4*polyeth;
126 fPstyrene =
new G4Material(
"Polystyrene", density= 1.03*
g/
cm3, 2);
145 const G4int lxenum = 3;
148 G4double lxe_SCINT[lxenum] = { 0.1, 1.0, 0.1 };
149 G4double lxe_RIND[lxenum] = { 1.59 , 1.57, 1.54 };
152 fLXe_mt->
AddProperty(
"FASTCOMPONENT", lxe_Energy, lxe_SCINT, lxenum);
153 fLXe_mt->
AddProperty(
"SLOWCOMPONENT", lxe_Energy, lxe_SCINT, lxenum);
154 fLXe_mt->
AddProperty(
"RINDEX", lxe_Energy, lxe_RIND, lxenum);
155 fLXe_mt->
AddProperty(
"ABSLENGTH", lxe_Energy, lxe_ABSL, lxenum);
167 G4double glass_RIND[lxenum]={1.49,1.49,1.49};
170 glass_mt->
AddProperty(
"ABSLENGTH",lxe_Energy,glass_AbsLength,lxenum);
171 glass_mt->
AddProperty(
"RINDEX",lxe_Energy,glass_RIND,lxenum);
175 G4double vacuum_RIND[lxenum]={1.,1.,1.};
177 vacuum_mt->
AddProperty(
"RINDEX", vacuum_Energy, vacuum_RIND,lxenum);
181 const G4int wlsnum = 4;
184 G4double rIndexPstyrene[wlsnum]={ 1.5, 1.5, 1.5, 1.5};
186 G4double scintilFast[wlsnum]={0.00, 0.00, 1.00, 1.00};
188 fMPTPStyrene->
AddProperty(
"RINDEX",wls_Energy,rIndexPstyrene,wlsnum);
189 fMPTPStyrene->
AddProperty(
"ABSLENGTH",wls_Energy,absorption1,wlsnum);
190 fMPTPStyrene->
AddProperty(
"FASTCOMPONENT",wls_Energy, scintilFast,wlsnum);
200 G4double RefractiveIndexFiber[wlsnum]={ 1.60, 1.60, 1.60, 1.60};
202 G4double EmissionFib[wlsnum]={1.0, 1.0, 0.0, 0.0};
204 fiberProperty->
AddProperty(
"RINDEX",wls_Energy,RefractiveIndexFiber,wlsnum);
205 fiberProperty->
AddProperty(
"WLSABSLENGTH",wls_Energy,AbsFiber,wlsnum);
206 fiberProperty->
AddProperty(
"WLSCOMPONENT",wls_Energy,EmissionFib,wlsnum);
210 G4double RefractiveIndexClad1[wlsnum]={ 1.49, 1.49, 1.49, 1.49};
212 clad1Property->
AddProperty(
"RINDEX",wls_Energy,RefractiveIndexClad1,wlsnum);
213 clad1Property->
AddProperty(
"ABSLENGTH",wls_Energy,AbsFiber,wlsnum);
216 G4double RefractiveIndexClad2[wlsnum]={ 1.42, 1.42, 1.42, 1.42};
218 clad2Property->
AddProperty(
"RINDEX",wls_Energy,RefractiveIndexClad2,wlsnum);
219 clad2Property->
AddProperty(
"ABSLENGTH",wls_Energy,AbsFiber,wlsnum);
227 return ConstructDetector();
240 fExperimentalHall_box
241 =
new G4Box(
"expHall_box",expHall_x,expHall_y,expHall_z);
243 fVacuum,
"expHall_log",0,0,0);
245 fExperimentalHall_log,
"expHall",0,
false,0);
257 -fScint_z/2.-fSlab_z-1.*
cm),
258 fExperimentalHall_log,
false,0,
265 fExperimentalHall_phys,
275 G4double reflectivity[num] = {1., 1.};
276 G4double efficiency[num] = {0.0, 0.0};
281 scintWrapProperty->
AddProperty(
"REFLECTIVITY",pp,reflectivity,num);
282 scintWrapProperty->
AddProperty(
"EFFICIENCY",pp,efficiency,num);
286 return fExperimentalHall_phys;
292 this->fScint_x=dims[0];
293 this->fScint_y=dims[1];
294 this->fScint_z=dims[2];
329 this->fOuterRadius_pmt=outerRadius_pmt;
347 fOuterRadius_pmt = 2.3*
cm;