Message: Bug in the production of Cherenkov photons? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Bug in the production of Cherenkov photons? 

Forum: Processes Involving Optical Photons
Date: 28 Jan, 2015
From: Erik Dietz-Laursonn <Erik Dietz-Laursonn>

When doing some validation plots, I encountered a problem in the production of Cherenkov photons and I believe it is caused by a bug:

1) When simulating a material with an energy-independent refraction index, I get a Cherenkov spectrum with the number of photons equally distributed over the full energy range (as expected).

2) When simulating a material with a refraction index that is rising linearly with rising energy (in my case from 1.125 at 1eV to 1.8 at 15eV), everything is fine and the result is a Cherenkov spectrum which shows a decreasing number of photons with decreasing energy/refraction index and which stops at the energy then the refraction index falls below the critical value (n < 1/beta).

3) When simulating the refraction index the other way round (in my case decreasing from 1.8 at 1eV to 1.125 at 15eV), one would expect the same results as before (just the other way round). But the simulation shows a different behaviour: For small beta values (the refractive index falls below the critical value), no photons are produced. For larger beta values (the refractive index is always above the critical value), photons are produced, but they are distributed like in the case of an energy-independent refraction index.

4) To investigate this, I also simulated a more complex refractive index:
The resulting energy distribution
shows, that the simulation limits the refraction index (that is effectively used for the Cherenkov process) to values below the last value specified in the G4MaterialPropertyVector (in my case 1.7 at 15eV). As a result, unexpected plateaus appear in the energy distribution.

I looked into the and I think there is mistake in the usage of G4MaterialPropertyVector::GetMinValue() and G4MaterialPropertyVector::GetMaxValue():
The names of the functions suggest that they return the minimal/maximal property (-> refractive index) value that is specified in the G4MaterialPropertyVector. In that case, the line "if (nMax < BetaInverse) -> no photons generated" would be correct. (No Cherenkov photons, if the maximal refractive index is below the critical value)
But actually, these functions just return the first/last entry and not the maximal/minimal one (I think the G4MaterialPropertyVector class was change in the last few years. Maybe before that, the functions did what there names suggest.). This results in the problem described in 3).
The problem described in 4) suggests the conclusion, that The same functions are used in other stages of the creation of Cherenkov photons and leading to the use of wrong refraction index values and thus a wrong number of Cherenkov photons, a wrong energy distribution, and wrong emission angles.

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Feedback: Re: Bug in the production of Cherenkov photons?   (Gumplinger Peter - 16 Mar, 2015)
(_ None: Re: Bug in the production of Cherenkov photons?   (Erik Dietz-Laursonn - 15 Apr, 2015)
 Add Message Add Message
to: "Bug in the production of Cherenkov photons?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews