]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - GEANT321/gphys/gphak.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / gphys / gphak.F
diff --git a/GEANT321/gphys/gphak.F b/GEANT321/gphys/gphak.F
new file mode 100644 (file)
index 0000000..c894567
--- /dev/null
@@ -0,0 +1,64 @@
+*
+* $Id$
+*
+* $Log$
+* Revision 1.1.1.1  1995/10/24 10:21:29  cernlib
+* Geant
+*
+*
+#include "geant321/pilot.h"
+*CMZ :  3.21/02 29/03/94  15.41.22  by  S.Giani
+*-- Author :
+      REAL FUNCTION GPHAK(BET)
+C.
+C.    ******************************************************************
+C.    *                                                                *
+C.    *  Generates Photoelectron Angular ditribution from K shell      *
+C.    *   from L1 shell ditribution ENTRY GPHAL1                       *
+C.    *                                                                *
+C.    *    ==>CALLED BY : GPHOT                                        *
+C.    *       AUTHOR    : J. Chwastowski                               *
+C.    *                                                                *
+C.    ******************************************************************
+C.
+      DOUBLE PRECISION SAUT1,SAUT2,SAUT3,DRN
+      DOUBLE PRECISION COST,SIN2T,X,ANOR,AMAJOR
+      DOUBLE PRECISION GAMA,G1,G2,BETA,B1,ONE,HALF
+      PARAMETER (BETMAX=0.999999)
+      PARAMETER (ONE=1,HALF=ONE/2)
+      DIMENSION RAN(2),BETVAL(7),AMAJOR(7)
+      DATA BETVAL / 0.8601,0.901,0.9901,0.99901,0.999901,0.9999901,
+     +              0.99999901 /
+      DATA AMAJOR / 1.02,1.1,4.3,19.,68.,221.,704. /
+      DATA ANOR / 0.0 /
+C
+C L1 shell entry
+C
+      ENTRY GPHAL1(BET)
+C
+      BETA = MIN(BET,BETMAX)
+      B1 = ONE-BETA
+      G2 = ONE/((ONE-BETA)*(ONE+BETA))
+      GAMA = SQRT(G2)
+      G1 = GAMA-ONE
+      DO 10 I = 1,7
+       IF(BETA.LE.BETVAL(I)) THEN
+        ANOR = AMAJOR(I)*G2
+        ANOR = ONE/ANOR
+        GO TO 20
+       ENDIF
+   10 CONTINUE
+   20 SAUT2 = HALF*GAMA*G1*(GAMA-2)
+      GPHAK = 0.0
+   30 CONTINUE
+      CALL GRNDM(RAN,2)
+      DRN = 2*RAN(1)
+      SAUT1 = (DRN-B1)/(DRN*BETA+B1)
+      COST = SAUT1
+      X = ONE-BETA*COST
+      SIN2T = (ONE-COST)*(ONE+COST)
+      SAUT3 = SIN2T/(X**2)*(ONE+SAUT2*X)*ANOR
+      IF(RAN(2).GT.SAUT3) GO TO 30
+      GPHAK = COST
+      GPHAL1 = GPHAK
+      END