|Message: Optical Physics with Boolean Solids||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 am having problems with the boolean shapes and optical photons. In particular, my program is getting stuck in infinite loops of propagating steps that don't move the particle. I've traced it back to being a problem with boolean shapes.
I've isolated this by first attaching a regular cone to the end of a scintillating bar of plastic and running my code. It works properly, generating optical photons and tracing them to a volume at the end of the light guide (cone). I then create a volume by placing the same cone (G4Cons solid) into a large rectangular prism (completely envelops the cone). By taking the intersection of these two (G4IntersectionSolid), I get back the exact same cone that I placed before. If I then place the Intersection Cone as the light guide, I run into problems with the optical photons getting stuck.
Normally, GEANT tracks the possible "sticking" and if a particle gets stuck kills it (this happens with a small fraction of the opPhotons even with the regular cone). However, with the boolean Solids, it seems to not detect stuck particles. I'm unsure why, as it should be treating it as any other logical volume. Because of this, it will get stuck on single events in the run and never move on. I plan to implement a Step Counter in my UserSteppingAction, such that if a particle gets stuck running thousands and thousands of steps, I will automatically kill it, but this brings up the question of whether Boolean Solids are actually capable of handling all of the optical physics.
Eventually, I need to make a more exotic shape using the G4IntersectionSolid type and then use that to track the optical properties, so placing a regular cone and moving on is not an option.
Also, to answer a possible suggestion, I have run the command: /geometry/test/run in order to use the "Grid" test to detect volume overlaps. It detects no overlaps in either case.
I've also set the optical physics verbosity to various levels, and it seems that, for the most part, the physics is behaving correctly within the Boolean Solid. I'm seeing reflections, absorptions, and even interactions with "polishedteflonair" (my border surface). Beyond this, I'm not sure why I'm experiencing problems with the opPhotons.
Any suggestions on why I'm getting these seemingly infinite loops?