|Message: Inconsistency in optical photon tracking?||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)|
I have a problem with optical tracking across the boundary between two dielectrics. For the time being, I describe it without source code.
I am using a class "RadiatorBlock", which inherits from G4LogicalVolume in order to encapsulate geometrical information. I initialize an object of RadiatorBlock, using a G4Box solid, material is Air. Then in the constructor I completely fill it with Plexiglass bars as radiators for Cerenkov light. The optical properties for the material are set accordingly and optical boundary effects are enabled in the physics list.
Then I place this logical volume in another one, which is an instance of another class "DetectorArm", inheriting from G4LogicalVolume, material Air. This logical volume is exacly as big as the RadiatorBlock.
When placing the DetectorArm volume in the World volume and generating Cerenkov light in the radiator, the optical tracks are not as expected -- I always get "TotalInternalReflection" at the boundary of the volume, not Fresnel refraction, as expected. Additionally, the photons are not reflected back, but just refracted (180° more than reflection).
Anyway, when making the DetectorArm box only slightly larger (e.g., 1E-9*m in each direction) than the contained RadiatorBlock, everything works fine and I get Fresnel refraction.
On the other hand, when -- for test's sake -- I take a RadiatorBlock, then place it in a G4LogicalVolume of exactly the same size as this block and directly place this G4LogicalVolume in the World volume, I do not encounter this problem, although the number of logical volumes put one into another is the same.
Is there any related experience? I would not like to give up the concept of hierarchically stacking objects derived from G4LogicalVolume, because this makes the code easier to understand and maintain, even, if it introduces some additional logical volumes. Due to the reduction of the problem, the depicted case of course appears to be redundant.
Thank you for related information! Kay
|Inline Depth:||Outline Depth:||Add message:|