Problem 1851 - General particle source angular distribution
Summary: General particle source angular distribution
Status: RESOLVED WONTFIX
Alias: None
Product: Geant4
Classification: Unclassified
Component: event (show other problems)
Version: 10.2
Hardware: All All
: P5 trivial
Assignee: Andrea Dotti
URL:
Depends on:
Blocks:
 
Reported: 2016-04-05 01:45 CEST by whit
Modified: 2016-09-16 09:44 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description whit 2016-04-05 01:45:58 CEST
I guess this isn't a bug but more of just a request to right a poor decision.
The coordinates for GPS don't match actual spherical coordinates. Why is theta=0 pointing the wrong way? 

"Incident with zenith angle θ=0 means the particle is travelling along the -z axis."

This makes no sense! I realize you cannot fix this mistake now that people expect it, but if you could please add a new angular distribution like "isotropic+z" so that theta=0 corresponds to +z direction as it is found for every spherical coordinate system in every textbook in the world.

Thanks!
Comment 1 Andrea Dotti 2016-04-05 17:15:04 CEST
Hi,
you are right saying these commands are confusing in many simple occasion, especially for simple use-cases (GPS is designed for complex sources).

May I ask you to please share the list of GPS commands you are using? Or alternatively what you want to achieve. 
I would like to cross-check one thing,

Thank you,
Andrea
Comment 2 whit 2016-04-05 17:49:13 CEST
Hi Andrea,

Thanks for the reply. I was quite frustrated yesterday when I was using the GPS as things were looking odd. Only to eventually learn that theta is defined as the angle between the particle direction and -z (not +z).

Here is an example of throwing protons at theta=30 +-1 degree (in global coordinates).

/gps/particle    proton
/gps/pos/type    Volume
/gps/pos/shape   Cylinder
/gps/pos/centre  0 0 0 cm
/gps/pos/halfz   10   cm
/gps/pos/radius   0.1 mm
/gps/ang/type     iso
/gps/ang/mintheta 149.0 deg
/gps/ang/maxtheta 151.0 deg
/gps/ang/minphi    0 deg
/gps/ang/maxphi   360 deg
/gps/ene/type    Mono
/gps/ene/mono  5.3154 MeV

The confusing bit is:
/gps/ang/mintheta 149.0 deg
/gps/ang/maxtheta 151.0 deg

Ideally, it would be:
/gps/ang/mintheta 29 deg
/gps/ang/maxtheta 31 deg

What is not immediately obvious is if this is still a right handed coordinate system. If it is so, should I expect (theta=90,phi=0) to point in the -x direction?

From my quick tests, it *is not* a right handed coordinate system:
 * (theta=90,phi=0)  = -x (global)
 * (theta=90,phi=90) = -y (global)
 * This means the local x cross y is point in the +z (global) direction.

My suggestion (for the sake of compatibility) is to add the following command:
/gps/ang/type iso+z
where theta and phi are those of the global coordinate system.

Cheers,
Whit

PS We spoke at Jlab a few weeks ago and I asked about an official git repository. Does one exist yet?
This is the type of thing I could easily add myself.
Comment 3 Andrea Dotti 2016-09-16 09:44:07 CEST
Hello,

This issue will be transformed into a work item for the 2017 work-plan.

Unfortunately due to man-power issues we have not been able to find a faster solution to improve GPS.

Considering that this could be considered more a "feature request" and not a "bug" I take the liberty to close the issue.

Andrea