49 fExpHall_x = fExpHall_y = fExpHall_z = 10.0*
m;
50 fTank_x = fTank_y = fTank_z = 5.0*
m;
51 fBubble_x = fBubble_y = fBubble_z = 0.5*
m;
88 const G4int nEntries = 32;
91 { 2.034*
eV, 2.068*
eV, 2.103*
eV, 2.139*
eV,
92 2.177*
eV, 2.216*
eV, 2.256*
eV, 2.298*
eV,
93 2.341*
eV, 2.386*
eV, 2.433*
eV, 2.481*
eV,
94 2.532*
eV, 2.585*
eV, 2.640*
eV, 2.697*
eV,
95 2.757*
eV, 2.820*
eV, 2.885*
eV, 2.954*
eV,
96 3.026*
eV, 3.102*
eV, 3.181*
eV, 3.265*
eV,
97 3.353*
eV, 3.446*
eV, 3.545*
eV, 3.649*
eV,
98 3.760*
eV, 3.877*
eV, 4.002*
eV, 4.136*
eV };
102 G4double refractiveIndex1[nEntries] =
103 { 1.3435, 1.344, 1.3445, 1.345, 1.3455,
104 1.346, 1.3465, 1.347, 1.3475, 1.348,
105 1.3485, 1.3492, 1.35, 1.3505, 1.351,
106 1.3518, 1.3522, 1.3530, 1.3535, 1.354,
107 1.3545, 1.355, 1.3555, 1.356, 1.3568,
108 1.3572, 1.358, 1.3585, 1.359, 1.3595,
112 {3.448*
m, 4.082*
m, 6.329*
m, 9.174*
m, 12.346*
m, 13.889*
m,
113 15.152*
m, 17.241*
m, 18.868*
m, 20.000*
m, 26.316*
m, 35.714*
m,
114 45.455*
m, 47.619*
m, 52.632*
m, 52.632*
m, 55.556*
m, 52.632*
m,
115 52.632*
m, 47.619*
m, 45.455*
m, 41.667*
m, 37.037*
m, 33.333*
m,
116 30.000*
m, 28.500*
m, 27.000*
m, 24.500*
m, 22.000*
m, 19.500*
m,
117 17.500*
m, 14.500*
m };
120 { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
121 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
122 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
123 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
124 1.00, 1.00, 1.00, 1.00 };
126 { 0.01, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00,
127 7.00, 8.00, 9.00, 8.00, 7.00, 6.00, 4.00,
128 3.00, 2.00, 1.00, 0.01, 1.00, 2.00, 3.00,
129 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 8.00,
130 7.00, 6.00, 5.00, 4.00 };
134 myMPT1->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex1,nEntries)
136 myMPT1->
AddProperty(
"ABSLENGTH", photonEnergy, absorption, nEntries)
138 myMPT1->
AddProperty(
"FASTCOMPONENT",photonEnergy, scintilFast, nEntries)
140 myMPT1->
AddProperty(
"SLOWCOMPONENT",photonEnergy, scintilSlow, nEntries)
149 const G4int numentries_water = 60;
151 G4double energy_water[numentries_water] = {
152 1.56962*
eV, 1.58974*
eV, 1.61039*
eV, 1.63157*
eV,
153 1.65333*
eV, 1.67567*
eV, 1.69863*
eV, 1.72222*
eV,
154 1.74647*
eV, 1.77142*
eV, 1.7971 *
eV, 1.82352*
eV,
155 1.85074*
eV, 1.87878*
eV, 1.90769*
eV, 1.93749*
eV,
156 1.96825*
eV, 1.99999*
eV, 2.03278*
eV, 2.06666*
eV,
157 2.10169*
eV, 2.13793*
eV, 2.17543*
eV, 2.21428*
eV,
158 2.25454*
eV, 2.29629*
eV, 2.33962*
eV, 2.38461*
eV,
159 2.43137*
eV, 2.47999*
eV, 2.53061*
eV, 2.58333*
eV,
160 2.63829*
eV, 2.69565*
eV, 2.75555*
eV, 2.81817*
eV,
161 2.88371*
eV, 2.95237*
eV, 3.02438*
eV, 3.09999*
eV,
162 3.17948*
eV, 3.26315*
eV, 3.35134*
eV, 3.44444*
eV,
163 3.54285*
eV, 3.64705*
eV, 3.75757*
eV, 3.87499*
eV,
164 3.99999*
eV, 4.13332*
eV, 4.27585*
eV, 4.42856*
eV,
165 4.59258*
eV, 4.76922*
eV, 4.95999*
eV, 5.16665*
eV,
166 5.39129*
eV, 5.63635*
eV, 5.90475*
eV, 6.19998*
eV
170 G4double mie_water[numentries_water] = {
171 167024.4*
m, 158726.7*
m, 150742 *
m,
172 143062.5*
m, 135680.2*
m, 128587.4*
m,
173 121776.3*
m, 115239.5*
m, 108969.5*
m,
174 102958.8*
m, 97200.35*
m, 91686.86*
m,
175 86411.33*
m, 81366.79*
m, 76546.42*
m,
176 71943.46*
m, 67551.29*
m, 63363.36*
m,
177 59373.25*
m, 55574.61*
m, 51961.24*
m,
178 48527.00*
m, 45265.87*
m, 42171.94*
m,
179 39239.39*
m, 36462.50*
m, 33835.68*
m,
180 31353.41*
m, 29010.30*
m, 26801.03*
m,
181 24720.42*
m, 22763.36*
m, 20924.88*
m,
182 19200.07*
m, 17584.16*
m, 16072.45*
m,
183 14660.38*
m, 13343.46*
m, 12117.33*
m,
184 10977.70*
m, 9920.416*
m, 8941.407*
m,
185 8036.711*
m, 7202.470*
m, 6434.927*
m,
186 5730.429*
m, 5085.425*
m, 4496.467*
m,
187 3960.210*
m, 3473.413*
m, 3032.937*
m,
188 2635.746*
m, 2278.907*
m, 1959.588*
m,
189 1675.064*
m, 1422.710*
m, 1200.004*
m,
190 1004.528*
m, 833.9666*
m, 686.1063*m
194 G4double mie_water_const[3]={0.99,0.99,0.8};
196 myMPT1->
AddProperty(
"MIEHG",energy_water,mie_water,numentries_water)
211 G4double refractiveIndex2[nEntries] =
212 { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
213 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
214 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
215 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
216 1.00, 1.00, 1.00, 1.00 };
219 myMPT2->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex2, nEntries);
228 G4Box* expHall_box =
new G4Box(
"World",fExpHall_x,fExpHall_y,fExpHall_z);
238 G4Box* waterTank_box =
new G4Box(
"Tank",fTank_x,fTank_y,fTank_z);
245 expHall_log,
false,0);
249 G4Box* bubbleAir_box =
new G4Box(
"Bubble",fBubble_x,fBubble_y,fBubble_z);
256 waterTank_log,
false,0);
268 waterTank_phys,expHall_phys,opWaterSurface);
283 if (opticalSurface) opticalSurface->
DumpInfo();
292 G4double refractiveIndex[num] = {1.35, 1.40};
293 G4double specularLobe[num] = {0.3, 0.3};
294 G4double specularSpike[num] = {0.2, 0.2};
295 G4double backScatter[num] = {0.2, 0.2};
299 myST1->
AddProperty(
"RINDEX", ephoton, refractiveIndex, num);
300 myST1->
AddProperty(
"SPECULARLOBECONSTANT", ephoton, specularLobe, num);
301 myST1->
AddProperty(
"SPECULARSPIKECONSTANT", ephoton, specularSpike, num);
302 myST1->
AddProperty(
"BACKSCATTERCONSTANT", ephoton, backScatter, num);
307 G4double reflectivity[num] = {0.3, 0.5};
308 G4double efficiency[num] = {0.8, 1.0};
312 myST2->
AddProperty(
"REFLECTIVITY", ephoton, reflectivity, num);
313 myST2->
AddProperty(
"EFFICIENCY", ephoton, efficiency, num);
void SetFinish(const G4OpticalSurfaceFinish)
G4IonisParamMat * GetIonisation() const
CLHEP::Hep3Vector G4ThreeVector
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetBirksConstant(G4double value)
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
void AddConstProperty(const char *key, G4double PropertyValue)
virtual G4VPhysicalVolume * Construct()
G4SurfaceProperty * GetSurfaceProperty() const
void AddElement(G4Element *element, G4int nAtoms)
virtual ~OpNoviceDetectorConstruction()
OpNoviceDetectorConstruction()
void SetModel(const G4OpticalSurfaceModel model)
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetType(const G4SurfaceType &type)
static G4LogicalSkinSurface * GetSurface(const G4LogicalVolume *vol)