Skip to content

Commit 5bf2f31

Browse files
committed
Update refractive index for FS and Sapphire for high E VUV photons
1 parent c468342 commit 5bf2f31

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

source/materials/OpticalMaterialProperties.cc

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,20 @@ namespace opticalprops {
6565
for (int i=0; i<ri_entries; i++) {
6666
rIndex.push_back(seq.RefractiveIndex(hc_/ri_energy[i]));
6767
}
68-
ri_energy.push_back(optPhotMaxE_); // This sets the refractive index between optPhotFusedSilicaMaxE_ and
69-
rIndex.push_back(rIndex[rIndex.size()-1]); // optPhotMaxE_ to the value obtained at optPhotFusedSilicaMaxE_
68+
69+
// The rindex is not defined for sapphire beyond optPhotFusedSilicaMaxE_ = 10.7 eV
70+
// Measurements https://link.springer.com/article/10.1134/S0020441206030195 imply
71+
// that the transmission goes to zero for energies higher than this (>120 nm)
72+
// We set n to be an arbitarily high value of 10 so the value is
73+
// implemented in the simulation (transmission goes to zero)
74+
ri_energy.push_back(optPhotMaxE_);
75+
rIndex.push_back(10);
7076

7177
// for (unsigned int i=0; i<ri_energy.size(); i++) {
7278
// G4cout << "* FusedSilica rIndex: " << std::setw(5) << ri_energy[i]/eV
7379
// << " eV -> " << rIndex[i] << G4endl;
7480
// }
81+
7582
mpt->AddProperty("RINDEX", ri_energy, rIndex);
7683

7784
// ABSORPTION LENGTH
@@ -431,14 +438,20 @@ namespace opticalprops {
431438
for (int i=0; i<ri_entries; i++) {
432439
rIndex.push_back(seq.RefractiveIndex(hc_/ri_energy[i]));
433440
}
434-
// This sets the refractive index between optPhotSapphireMaxE_ and
435-
// optPhotMaxE_ to the value obtained at optPhotSapphireMaxE_
441+
442+
// The rindex is not defined for sapphire beyond optPhotSapphireMaxE_ = 10.3 eV
443+
// Measurements https://link.springer.com/article/10.1134/S0020441206030195 imply
444+
// that the transmission goes to zero for energies higher than this (>120 nm)
445+
// We set n to be an arbitarily high value of 10 so the value is
446+
// implemented in the simulation (transmission goes to zero)
436447
ri_energy.push_back(optPhotMaxE_);
437-
rIndex.push_back(rIndex[rIndex.size()-1]);
448+
rIndex.push_back(10);
449+
438450
// for (unsigned int i=0; i<ri_energy.size(); i++) {
439451
// G4cout << "* Sapphire rIndex: " << std::setw(5)
440452
// << ri_energy[i]/eV << " eV -> " << rIndex[i] << G4endl;
441453
// }
454+
442455
mpt->AddProperty("RINDEX", ri_energy, rIndex);
443456

444457
// ABSORPTION LENGTH

0 commit comments

Comments
 (0)