Problem 141

Summary: Incorrectly localized opticalphoton after reflection -- elegant solution
Product: Geant4 Reporter: gas
Component: processes/opticalAssignee: John Apostolakis <John.Apostolakis>
Status: CLOSED DUPLICATE    
Severity: major    
Priority: P2    
Version: 2.0   
Hardware: PC   
OS: Linux   
URL: http://www.awa.tohoku.ac.jp/~gas/geant4/G4OpBoundary.cc.fix

Description gas 2000-07-28 02:28:06 CEST
opticalphotons don't reflect properly at the interior boundary of a volume.
The reason is that the core Geant4 navigation and transportation routines don't
allow for a particle at a geometric boundary to stay in the same volume on the
next step.  The reflected photons end up incorrectly localized one level too
high in the heirarchy, resulting in odd reflection-plus-refraction effects
and/or photons passing ghostily through daughter volumes.  (I tried to report
this yesterday, but Bugzilla seems to have forgotten about it?)

An elegant solution is to create reflected photons as secondary particles and
kill the original photon, rather than attempting to modify the original photon.
This requires a small change to G4OpBoundaryProcess::PostStepDoIt().  See
http://www.awa.tohoku.ac.jp/~gas/geant4/G4OpBoundary.cc.fix
Comment 1 Vladimir.Grichine 2000-07-28 09:16:59 CEST
*** This bug has been marked as a duplicate of 140 ***