Problem 442 - incorrect polarization for ray perpendicular to the surface
Summary: incorrect polarization for ray perpendicular to the surface
Status: CLOSED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/optical (show other problems)
Version: other
Hardware: PC Linux
: P2 normal
Assignee: gum
URL:
Depends on:
Blocks:
 
Reported: 2002-12-30 19:01 CET by ob214
Modified: 2012-02-15 09:54 CET (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description ob214 2002-12-30 19:01:50 CET
When an optical photon impiges on a  surface perpendicularly, the polarization
is not properly updated.
I've included below an example. This is a run with 2 events.
In the second event, the new polarization is equal to the new polarization of
the fisrt event.
In my case, sint1=0 sint2=0 cost1=1 Rindex1=2.15 and Rindex2=1.0 (in
G4OpBoundaryProcess.cc). It is obvious in this case that the polarization is
not updated and therefore uses the one calculated in the previous event (in
G4OpBoundaryProcess::DielectricDielectric(), line 557 to 581)

*******************************************************************************
**************************
* G4Track Information:   Particle = opticalphoton,   Track ID = 1,
Parent ID = 0
*******************************************************************************
**************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng
NextVolume ProcName
    0      -12       -6        1  2.58e-06        0        0         0
Crystal7           initStep
    1       -8       -6        1  2.58e-06        0        4         4
Crystal8           Transportation
    2        0       -6        1  2.58e-06        0        8        12
Crystal9           Transportation
    3        8       -6        1  2.58e-06        0        8        20
Crystal10           Transportation
    4       16       -6        1  2.58e-06        0        8        28
Crystal11           Transportation
 Photon at Boundary!
 Old Momentum Direction: (1,0,0)
 Old Polarization:       (0,-0.782519,0.622627)
 New Momentum Direction: (1,0,0)
 New Polarization:       (0,-0.782519,0.622627)
 *** FresnelRefraction ***
    5       24       -6        1  2.58e-06        0        8        36
World           Transportation
    6    1e+03       -6        1  2.58e-06        0      976  1.01e+03
OutOfWorld Transportation

*******************************************************************************
**************************
* G4Track Information:   Particle = opticalphoton,   Track ID = 1,
Parent ID = 0
*******************************************************************************
**************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng
NextVolume ProcName
    0      -12       -6        1  2.58e-06        0        0         0
Crystal7           initStep
    1       -8       -6        1  2.58e-06        0        4         4
Crystal8           Transportation
    2        0       -6        1  2.58e-06        0        8        12
Crystal9           Transportation
    3        8       -6        1  2.58e-06        0        8        20
Crystal10           Transportation
    4       16       -6        1  2.58e-06        0        8        28
Crystal11           Transportation
 Photon at Boundary!
 Old Momentum Direction: (1,0,0)
 Old Polarization:       (0,0.770191,0.637814)
 New Momentum Direction: (-1,0,0)
 New Polarization:       (0,-0.782519,0.622627)
 *** FresnelReflection ***
    5       24       -6        1  2.58e-06        0        8        36
World           Transportation
    6       24       -6        1  2.58e-06        0        0        36
Crystal11           Transportation
    7       16       -6        1  2.58e-06        0        8        44
Crystal10           Transportation
    8        8       -6        1  2.58e-06        0        8        52
Crystal9           Transportation
    9        0       -6        1  2.58e-06        0        8        60
Crystal8           Transportation
   10       -8       -6        1  2.58e-06        0        8        68
Crystal7           Transportation
   11      -16       -6        1  2.58e-06        0        8        76
Crystal6           Transportation
 Photon at Boundary!
 Old Momentum Direction: (-1,0,0)
 Old Polarization:       (0,-0.782519,0.622627)
 New Momentum Direction: (-1,0,0)
 New Polarization:       (0,-0.782519,0.622627)
 *** FresnelRefraction ***
   12      -24       -6        1  2.58e-06        0        8        84
World           Transportation
   13   -1e+03       -6        1  2.58e-06        0      976  1.06e+03
OutOfWorld Transportation
Comment 1 Hans-Peter.Wellisch 2003-01-27 04:19:59 CET
Peter, can you please have a look at this ?

Many greetings,

Hans-Peter.
Comment 2 gum 2003-01-29 13:41:59 CET
Thanks for pointing out the problem with the polarization for perpendicular rays.

With the release of Geant4.5.0, the polarization phase change in all situations
not involving perpendicular rays should now be correctly simulated (Fresnel
refraction/reflection for both cases n2>n1 and n1>n2).

The special situation of perpendicular incidence is dealt with separately in the
code. This portion was also copied from the original GEANT3 implementation,
which, as you have pointed out, fails to account for the case n1>n2.

Since the polarization was calculated incorrectly until recently in all cases
(ported errors from G3!), I am suspicious that the perpendicular case is correct
even for reflections when n2>n1. This warrants careful investigation. The phase
must not jump abruptly as the angle -> zero. I'll keep you posted.
Comment 3 gum 2003-02-06 14:39:59 CET
fix is tagged as "op-V05-00-00"