Hello all,
when shooting optical photons through scintillator I get wrong photon velocities if I use a wavelengthdependent index of refraction. I'm using
Geant4.9.6 and the particle gun to insert optical photons with a fixed wavelength in a fixed direction to check the speed. If I use a constant index
of refraction the speed of the optical photons match exactly my expectations (c_vacuum/n).
Below are some details if you are interested in this.
Here is the code I use to register the refractive index numbers:
const G4int NUMENTRIES = 17;
G4double ppckov[NUMENTRIES] = {6.27105e06*MeV,5.99528e06*MeV,5.88034e06*MeV,5.716e06*MeV,5.43736e06*MeV,5.14118e06*MeV,4.78062e06*MeV,4.34087e06*MeV,4.15e06*MeV,3.91184e06*MeV,3.65546e06*MeV,3.40206e06*MeV,3.12481e06*MeV,2.81639e06*MeV,2.6125e06*MeV,2.09863e06*MeV,1.54975e06*MeV};
G4double rindex[NUMENTRIES] = {1.773,1.751,1.72,1.684,1.637,1.586,1.547,1.514,1.501,1.487,1.473,1.468,1.462,1.455,1.448,1.438,1.43};
myMPT1>AddProperty("RINDEX",ppckov,rindex,NUMENTRIES);
The photons energy I used to check the speed is 3.12481*eV where the refractive index is 1.462. The optical photon is released in zdirection and the global
time (step>GetTrack()>GetGlobalTime()) is recorded once the photon hits a stainless steel surface which is 6.5m away. I checked that there are no offsets
in the global time by changing the start position of the optical photon. The speed I get is 6.5m/33.194ns which corresponds to an index of refraction of
1.531 and not 1.462. If I enter a constant index of refraction (replace all 17 entries in rindex with 1.462) I get exactly the expected velocity of 6.5m/31.699ns.
Any ideas why the wavelengthdependent refractive index doesn't give the expected speed of light? If more information/code is needed let me know.
Thank you!
Christoph
