Problem 207 - generation of Rayleigh scattered electrons
Summary: generation of Rayleigh scattered electrons
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: 2001-01-29 03:01 CET by Florence.Ranjard
Modified: 2012-02-15 05:16 CET (History)
1 user (show)

See Also:


Attachments
plot (28.29 KB, image/png)
2010-06-11 01:35 CEST, Xin Qian
Details
distribution comparison (28.29 KB, image/png)
2010-06-11 01:37 CEST, Xin Qian
Details
script to make the plot (1.76 KB, application/octet-stream)
2010-06-11 01:41 CEST, Xin Qian
Details
details about the problem (121.20 KB, application/pdf)
2010-06-11 01:42 CEST, Xin Qian
Details
original method in geant4 (simplified version) (1.98 KB, application/octet-stream)
2010-06-11 01:43 CEST, Xin Qian
Details
solution (simplified version) will attach a patch soon (1.75 KB, application/octet-stream)
2010-06-11 01:44 CEST, Xin Qian
Details
Patch to this issue (12.35 KB, patch)
2010-06-11 02:27 CEST, Xin Qian
Details | Diff

Note You need to log in before you can comment on or make changes to this problem.
Description Florence.Ranjard 2001-01-29 03:01:14 CET
Dear Sir,

   I was trying to use the Geant4 for the Rayleigh scattering of
Cherenkov photons in aerogel, which are polarised and have a
momentum  in the range 2 to 7 eV.  The generation of Rayleigh
scattered electrons as coded in
G4OpRayleigh::PostStepDoIt in G4OpRayleigh.cc  does not seem to correspond
to what is described in the Geant4 physics reference  manual.
In addition, in this code, the part of the generation of the polar angle
of
the polarisation vector, as written below, does not seem correct either.
        G4double SinTheta = 1.-CosTheta*CosTheta;

Could you please provide me the correct explanation or the fix, whichever
is applicable, please. I am using the version of Geant4.3.0 from the CERN
release area.


thanks,
Sajan.Easo@cern.ch
Comment 1 Hans-Peter.Wellisch 2001-01-29 04:02:59 CET
Hi Peter,

  can you have a look?

Many greetings,

Hans-Peter.
Comment 2 gum 2001-01-29 15:53:59 CET
Dear Sajan,

The Physics Reference Manual states that: The differential cross section in
Rayleigh scattering, dsigma/domega, is proportional to cos**2(theta), where
theta is the polar angle of the new polarization with respect to the old
polarization." In the code of G4OpRayleigh.cc:DoIt, this is sampled like:

        G4double rand = G4UniformRand();

        G4double CosTheta = pow(rand, 1./3.);

which is an efficient way to sample a distribution proportional to the square of
the argument.

However, the bug lies in how sin(theta) is calculated in the code from
cos(theta). It reads:

        G4double SinTheta = 1.-CosTheta*CosTheta;

but should read:

        G4double SinTheta = sqrt(1.-CosTheta*CosTheta);

Thanks, Peter
Comment 3 gum 2001-01-29 15:54:59 CET
Dear Sajan,

The Physics Reference Manual states that: The differential cross section in
Rayleigh scattering, dsigma/domega, is proportional to cos**2(theta), where
theta is the polar angle of the new polarization with respect to the old
polarization." In the code of G4OpRayleigh.cc:DoIt, this is sampled like:

        G4double rand = G4UniformRand();

        G4double CosTheta = pow(rand, 1./3.);

which is an efficient way to sample a distribution proportional to the square of
the argument.

However, the bug lies in how sin(theta) is calculated in the code from
cos(theta). It reads:

        G4double SinTheta = 1.-CosTheta*CosTheta;

but should read:

        G4double SinTheta = sqrt(1.-CosTheta*CosTheta);

Thanks, Peter
Comment 4 Xin Qian 2010-06-11 01:35:44 CEST
Created attachment 74 [details]
plot

Distribution comparison.
Comment 5 Xin Qian 2010-06-11 01:37:46 CEST
Created attachment 75 [details]
distribution comparison
Comment 6 Xin Qian 2010-06-11 01:41:47 CEST
Created attachment 76 [details]
script to make the plot
Comment 7 Xin Qian 2010-06-11 01:42:36 CEST
Created attachment 77 [details]
details about the problem
Comment 8 Xin Qian 2010-06-11 01:43:13 CEST
Created attachment 78 [details]
original method in geant4 (simplified version)
Comment 9 Xin Qian 2010-06-11 01:44:01 CEST
Created attachment 79 [details]
solution (simplified version) will attach a patch soon
Comment 10 Xin Qian 2010-06-11 01:48:02 CEST
Dear Sir,
     I think that I may find a issue in the implementation of Rayleigh Scattering in GEANT4. The details of the issue involves simulating the angular distribution of the outgoing photon. I attach the details of the problem in the pdf file. I also attached two simple root scripts which can be used to generate the distribution of using two methods (current in geant4, and what I think it should be). 
     The png file contain the comparison of the distribution between the two methods. I will send a patch to here soon. 

Best regards,

Xin
Comment 11 Xin Qian 2010-06-11 02:27:25 CEST
Created attachment 80 [details]
Patch to this issue

Replace the old G4OpRayleigh.cc