]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/fluka/raco.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / fluka / raco.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:03  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.44  by  S.Giani
11 *-- Author :
12 *$ CREATE RACO.FOR
13 *COPY RACO
14 *
15 *=== raco =============================================================*
16 *
17       SUBROUTINE RACO(WX,WY,WZ)
18 #include "geant321/dblprc.inc"
19 #include "geant321/dimpar.inc"
20 #include "geant321/iounit.inc"
21       REAL RNDM(2)
22 C********************************************************************
23 C     VERSION JUNE 81 BY             PERTTI AARNIO
24 C     LAST CHANGE 22. JUNE 81 BY     PERTTI AARNIO
25 C                                    HELSINKI UNIVERSITY OF
26 C                                    TECHNOLOGY, FINLAND
27 C
28 C
29 C     SUBROUTINE OF FLUKA TO GIVE THE DIRECTION COSINES OF RANDOM
30 C     UNIFORM (ISOTROPIC) DIRECTION IN THREE DIMENSIONAL SPACE.
31 C********************************************************************
32 C
33  10   CALL GRNDM(RNDM,2)
34       X=2.D0*RNDM(1)-1.D0
35       Y=RNDM(2)
36       X2=X*X
37       Y2=Y*Y
38       IF (X2+Y2.GT.1.D0) GO TO 10
39       CFE=(X2-Y2)/(X2+Y2)
40       SFE=2.D0*X*Y/(X2+Y2)
41       CALL GRNDM(RNDM,1)
42       Z=RNDM(1)
43       Z2=Z*Z
44       WZ=SQRT(Z-Z2)
45       WX=2.D0*WZ*CFE
46       WY=2.D0*WZ*SFE
47       WZ=2.D0*Z-1.D0
48       RETURN
49       END