|Message: Odd behaviour surrounding Cherenkov angles||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
We've been trying to track down some systematic errors in a large Cherenkov simulation and we're noticing some behaviour regarding the G4Cerenkov process that we/I don't understand and I wanted to get some more experienced insight.
I created an ultra simplified scenario to demonstrate the issue we are having; the code for which is available (https://github.com/rprechelt/thesis/tree/master/sim)
I generate a ideal electron beam straight down the z-axis (no uncertainties or distribution of any kind). This passes through a radiator of thickness 10mm with a constant index of refraction n=1.15. The generated Cherenkov photons refract as they leave the radiator and are detected by an 100% efficient ideal planar detector 80mm away. To remove any possible interaction between materials, the entire simulation is made of vacuum (world, radiator, and detector). The world and detector have n=1.0 set, while a different G4Material vacuum with n=1.15 is used for the radiator. The radiator is centered at 0 and therefore extends from [-5mm, 5mm].
The only physics processes that are enabled are G4Cerenkov, G4OpBoundary and IonIonization for GenericIon only (see the PhysicsList.cc file in the link above if you wish to verify this).
You can see the results of this investigation in the notebook here (https://github.com/rprechelt/thesis/blob/master/analysis/Investigation.ipynb). Every number in the below paragraphs is included here with plots and algorithms,
When the Cherenkov photons hit my SD, I use step->GetPreStepPoint()->GetPosition to get the location where that photon left the radiator (this occurs at exactly z=5.0 so it is the right point). I also use track->GetVertexPosition() to get the emission location of the photon (this is always exactly on the z-axis as it should be, with z-start varying from -5mm->5mm).
If my understanding of Geant4 steps/tracks is correct, taking the arctan of the ratio of these should give me the EXACT index of refraction of the material (1.150), instead, the arctan gives 1.1500034. A different of 3.45e-06. I repeated this experiment for different refractive indices, different expansion lengths and different radiator thickness and the difference is always 3.4e-06 (the exact numbers are in the iPython notebook linked to above)
I (read: we) are confused as to why this is not exactly 1.150 to within numerical precision (which 3.4e-06 is not); is this an artifact of the stepping locations, or some other track/step issue? Why is this not exact?
Furthermore, to verify that this wasn't a numerical rounding error in G4Cerenkov, I created a modified version of G4Cerenkov.cc that saves the values for each generated track during a run. The `cosTheta` variable, as well as the PhotonMomentum that is used to create `aSecondaryPosition` both result in an index of refraction of 1.1500000000046. This is the level of accuracy that I expect to be able to get from the refraction and starting locations saved from my SensitiveDetector.
Lastly, to verify that this wasn't an issue with refraction, I used the photon start, refraction, and hit locations to verify the accuracy with which Snell's law is preserved. It was accurate to 1e-16, so is clearly not the issue.
In summary, given the above, why is the arctan of the refraction location and distance from the end of the radiator, giving a larger index of refraction than was generated in G4Cerenkov.cc
|Inline Depth:||Outline Depth:||Add message:|