Hello all,
I am encountering some unexpected results in my optical simulation. My setup is modified from the OpNovice2 example. There are three simple geometric volumes, a small rectangle (acting as a scintillator), a long rectangle (acting as a light guide), and a small cylinder (acting as a PMT).
Using this setup and generating optical photons isotopically from the center of the scintillator, I find that 99 percent of the photons that reach the light guide also reach the PMT. (This is the expected result)
If I slightly alter the geometry to have a curved light guide (using G4Tubs) but approximate a uncurved setup by using a very small bend angle (0.001 radians) over a long distance (200 cm), then only 36 percent of the photons make it through to the PMT.
After some investigation, I have found that using 5000 initial photons produces about 775,000 StepTooSmall errors that look like this:
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : OpBoun06
issued by : G4OpBoundaryProcess
G4OpBoundaryProcess: Opticalphoton step length: 1.08169e-09 mm.
This is larger than the threshold 1e-09 mm to set status StepTooSmall.
Boundary scattering may be incorrect.
*** Step size warnings stopped.
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
I think it may be related to this bug report: [2510 – boundary reallocation step doesn't happen] although it does say that this issue has been resolved.
A colleague (who does not know anything about geant4) thought maybe Geant4 could be quantizing the bend into discrete segments that have are not optically touching, allowing some photons to slip through. I know that the visualization engine breaks curves into small segments, but I do not know how the physics engine handles curves.
Does anyone know what could be causing this many photons to escape?
Thanks in advance for any help or suggestions,
Angelo Rosso