@@ -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