92 { 2.034*
eV, 2.068*
eV, 2.103*
eV, 2.139*
eV,
93 2.177*
eV, 2.216*
eV, 2.256*
eV, 2.298*
eV,
94 2.341*
eV, 2.386*
eV, 2.433*
eV, 2.481*
eV,
95 2.532*
eV, 2.585*
eV, 2.640*
eV, 2.697*
eV,
96 2.757*
eV, 2.820*
eV, 2.885*
eV, 2.954*
eV,
97 3.026*
eV, 3.102*
eV, 3.181*
eV, 3.265*
eV,
98 3.353*
eV, 3.446*
eV, 3.545*
eV, 3.649*
eV,
99 3.760*
eV, 3.877*
eV, 4.002*
eV, 4.136*
eV };
101 const G4int nEntries =
sizeof(photonEnergy)/
sizeof(
G4double);
107 { 1.3435, 1.344, 1.3445, 1.345, 1.3455,
108 1.346, 1.3465, 1.347, 1.3475, 1.348,
109 1.3485, 1.3492, 1.35, 1.3505, 1.351,
110 1.3518, 1.3522, 1.3530, 1.3535, 1.354,
111 1.3545, 1.355, 1.3555, 1.356, 1.3568,
112 1.3572, 1.358, 1.3585, 1.359, 1.3595,
115 assert(
sizeof(refractiveIndex1) ==
sizeof(photonEnergy));
118 {3.448*
m, 4.082*
m, 6.329*
m, 9.174*
m, 12.346*
m, 13.889*
m,
119 15.152*
m, 17.241*
m, 18.868*
m, 20.000*
m, 26.316*
m, 35.714*
m,
120 45.455*
m, 47.619*
m, 52.632*
m, 52.632*
m, 55.556*
m, 52.632*
m,
121 52.632*
m, 47.619*
m, 45.455*
m, 41.667*
m, 37.037*
m, 33.333*
m,
122 30.000*
m, 28.500*
m, 27.000*
m, 24.500*
m, 22.000*
m, 19.500*
m,
123 17.500*
m, 14.500*
m };
125 assert(
sizeof(absorption) ==
sizeof(photonEnergy));
128 { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
129 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
130 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
131 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
132 1.00, 1.00, 1.00, 1.00 };
134 assert(
sizeof(scintilFast) ==
sizeof(photonEnergy));
137 { 0.01, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00,
138 7.00, 8.00, 9.00, 8.00, 7.00, 6.00, 4.00,
139 3.00, 2.00, 1.00, 0.01, 1.00, 2.00, 3.00,
140 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 8.00,
141 7.00, 6.00, 5.00, 4.00 };
143 assert(
sizeof(scintilSlow) ==
sizeof(photonEnergy));
147 myMPT1->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex1,nEntries)
149 myMPT1->
AddProperty(
"ABSLENGTH", photonEnergy, absorption, nEntries)
151 myMPT1->
AddProperty(
"FASTCOMPONENT",photonEnergy, scintilFast, nEntries)
153 myMPT1->
AddProperty(
"SLOWCOMPONENT",photonEnergy, scintilSlow, nEntries)
163 1.56962*
eV, 1.58974*
eV, 1.61039*
eV, 1.63157*
eV,
164 1.65333*
eV, 1.67567*
eV, 1.69863*
eV, 1.72222*
eV,
165 1.74647*
eV, 1.77142*
eV, 1.7971 *
eV, 1.82352*
eV,
166 1.85074*
eV, 1.87878*
eV, 1.90769*
eV, 1.93749*
eV,
167 1.96825*
eV, 1.99999*
eV, 2.03278*
eV, 2.06666*
eV,
168 2.10169*
eV, 2.13793*
eV, 2.17543*
eV, 2.21428*
eV,
169 2.25454*
eV, 2.29629*
eV, 2.33962*
eV, 2.38461*
eV,
170 2.43137*
eV, 2.47999*
eV, 2.53061*
eV, 2.58333*
eV,
171 2.63829*
eV, 2.69565*
eV, 2.75555*
eV, 2.81817*
eV,
172 2.88371*
eV, 2.95237*
eV, 3.02438*
eV, 3.09999*
eV,
173 3.17948*
eV, 3.26315*
eV, 3.35134*
eV, 3.44444*
eV,
174 3.54285*
eV, 3.64705*
eV, 3.75757*
eV, 3.87499*
eV,
175 3.99999*
eV, 4.13332*
eV, 4.27585*
eV, 4.42856*
eV,
176 4.59258*
eV, 4.76922*
eV, 4.95999*
eV, 5.16665*
eV,
177 5.39129*
eV, 5.63635*
eV, 5.90475*
eV, 6.19998*
eV
180 const G4int numentries_water =
sizeof(energy_water)/
sizeof(
G4double);
184 167024.4*
m, 158726.7*
m, 150742 *
m,
185 143062.5*
m, 135680.2*
m, 128587.4*
m,
186 121776.3*
m, 115239.5*
m, 108969.5*
m,
187 102958.8*
m, 97200.35*
m, 91686.86*
m,
188 86411.33*
m, 81366.79*
m, 76546.42*
m,
189 71943.46*
m, 67551.29*
m, 63363.36*
m,
190 59373.25*
m, 55574.61*
m, 51961.24*
m,
191 48527.00*
m, 45265.87*
m, 42171.94*
m,
192 39239.39*
m, 36462.50*
m, 33835.68*
m,
193 31353.41*
m, 29010.30*
m, 26801.03*
m,
194 24720.42*
m, 22763.36*
m, 20924.88*
m,
195 19200.07*
m, 17584.16*
m, 16072.45*
m,
196 14660.38*
m, 13343.46*
m, 12117.33*
m,
197 10977.70*
m, 9920.416*
m, 8941.407*
m,
198 8036.711*
m, 7202.470*
m, 6434.927*
m,
199 5730.429*
m, 5085.425*
m, 4496.467*
m,
200 3960.210*
m, 3473.413*
m, 3032.937*
m,
201 2635.746*
m, 2278.907*
m, 1959.588*
m,
202 1675.064*
m, 1422.710*
m, 1200.004*
m,
203 1004.528*
m, 833.9666*
m, 686.1063*m
206 assert(
sizeof(mie_water) ==
sizeof(energy_water));
209 G4double mie_water_const[3]={0.99,0.99,0.8};
211 myMPT1->
AddProperty(
"MIEHG",energy_water,mie_water,numentries_water)
230 { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
231 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
232 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
233 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
234 1.00, 1.00, 1.00, 1.00 };
237 myMPT2->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex2, nEntries);
266 expHall_log,
false,0);
277 waterTank_log,
false,0);
293 waterTank_phys,expHall_phys,opWaterSurface);
296 (waterSurface->
GetSurface(waterTank_phys,expHall_phys)->
297 GetSurfaceProperty());
298 if (opticalSurface) opticalSurface->
DumpInfo();
312 if (opticalSurface) opticalSurface->
DumpInfo();
321 G4double refractiveIndex[num] = {1.35, 1.40};
322 G4double specularLobe[num] = {0.3, 0.3};
323 G4double specularSpike[num] = {0.2, 0.2};
324 G4double backScatter[num] = {0.2, 0.2};
328 myST1->
AddProperty(
"RINDEX", ephoton, refractiveIndex, num);
329 myST1->
AddProperty(
"SPECULARLOBECONSTANT", ephoton, specularLobe, num);
330 myST1->
AddProperty(
"SPECULARSPIKECONSTANT", ephoton, specularSpike, num);
331 myST1->
AddProperty(
"BACKSCATTERCONSTANT", ephoton, backScatter, num);
333 G4cout <<
"Water Surface G4MaterialPropertiesTable" <<
G4endl;
339 G4double reflectivity[num] = {0.3, 0.5};
340 G4double efficiency[num] = {0.8, 1.0};
344 myST2->
AddProperty(
"REFLECTIVITY", ephoton, reflectivity, num);
345 myST2->
AddProperty(
"EFFICIENCY", ephoton, efficiency, num);
347 G4cout <<
"Air Surface G4MaterialPropertiesTable" <<
G4endl;
virtual ~OpNoviceDetectorConstruction()
CLHEP::Hep3Vector G4ThreeVector
Definition of the OpNoviceDetectorConstruction class.
std::vector< ExP01TrackerHit * > a
virtual G4VPhysicalVolume * Construct()
static constexpr double MeV
static constexpr double mm
static constexpr double perCent
void AddConstProperty(const char *key, G4double PropertyValue)
static G4LogicalBorderSurface * GetSurface(const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2)
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetBirksConstant(G4double value)
static G4LogicalSkinSurface * GetSurface(const G4LogicalVolume *vol)
static constexpr double g
static constexpr double m
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetType(const G4SurfaceType &type)
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
static constexpr double mg
OpNoviceDetectorConstruction()
G4SurfaceProperty * GetSurfaceProperty() const
static constexpr double eV
void AddElement(G4Element *element, G4int nAtoms)
G4IonisParamMat * GetIonisation() const
G4GLOB_DLL std::ostream G4cout
static constexpr double mole
static constexpr double cm3
void SetModel(const G4OpticalSurfaceModel model)
void SetFinish(const G4OpticalSurfaceFinish)