Message: Optical Physics with Boolean Solids Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Optical Physics with Boolean Solids 

Forum: Processes Involving Optical Photons
Date: 28 Aug, 2014
From: Zach Miller <Zach Miller>

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?

Thanks, Zach

 Add Message Add Message
to: "Optical Physics with Boolean Solids"

 Subscribe Subscribe

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