Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gheisha / exnu.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:58  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.38  by  S.Giani
11 *-- Author :
12       FUNCTION EXNU(EK1)
13 C
14 C *** NUCLEAR EVAPORATION AS FUNCTION OF ATOMIC NUMBER ATNO ***
15 C *** AND KINETIC ENERGY EKIN OF PRIMARY PARTICLE ***
16 C *** NVE 04-MAR-1988 CERN GENEVA ***
17 C
18 C ORIGIN : H.FESEFELDT (10-DEC-1986)
19 C
20 C
21 #include "geant321/s_defcom.inc"
22       DIMENSION RNDM(2)
23 C
24       EXNU=0.
25       IF(ATNO2.LT.1.5) GO TO 9999
26       MAGIC=0
27       IF(INT(ZNO2+0.1).EQ.82) MAGIC=1
28       EKIN1=EK1
29       IF(EKIN1.LT.0.1) EKIN1=0.1
30       IF(EKIN1.GT.4.) EKIN1=4.
31 C**   0.35 VALUE AT 1 GEV
32 C**   0.05 VALUE AT 0.1 GEV
33       CFA=(0.35-0.05)/2.3
34       CFA= 0.35+CFA*LOG(EKIN1)
35       IF(CFA.LT.0.15) CFA=0.15
36       EXNU=7.716*CFA*EXP(-CFA)
37       ATNO3=ATNO2
38       IF(ATNO3.GT.120.) ATNO3=120.
39       CFA=((ATNO3-1.)/120.)*EXP(-(ATNO3-1.)/120.)
40       EXNU=EXNU*CFA
41       FPDIV=1.-0.25*EKIN1**2
42       IF(FPDIV.LT.0.50) FPDIV=0.50
43       GFA=2.0*((ATNO2-1.)/70.)*EXP(-(ATNO2-1.)/70.)
44       ENP(1)=EXNU*FPDIV
45       ENP(3)=EXNU-ENP(1)
46     4 CALL NORMAL(RAN1)
47       CALL NORMAL(RAN2)
48       IF(MAGIC.EQ.1) THEN
49          RAN1=0.
50          RAN2=0.
51       END IF
52       ENP(1)=ENP(1)*(1.+RAN1*GFA)
53       IF(ENP(1).LT.0.) ENP(1)=0.
54       ENP(3)=ENP(3)*(1.+RAN2*GFA)
55       IF(ENP(3).LT.0.) ENP(3)=0.
56     5 EXNU=ENP(1)+ENP(3)
57       IF(EXNU.LT.EK1) GOTO 10
58       CALL GRNDM(RNDM,2)
59       ENP(1)=ENP(1)*(1.-0.5*RNDM(1))
60       ENP(3)=ENP(3)*(1.-0.5*RNDM(2))
61       GOTO 5
62  10   CONTINUE
63       IF (NPRT(4))
64      $ WRITE(NEWBCD,1001) XEND,YEND,ZEND,EXNU,ENP(1),ENP(3)
65  1001 FORMAT(' *EXNU* NUCLEAR EXCITATION AT X,Y,Z = ',3(G12.5,1X)/
66      $ 1H ,7X,'EXNU,ENP(1),ENP(3) = ',3(G12.5,1X))
67 C
68  9999 CONTINUE
69       END