]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/neutron/cevap1.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / neutron / cevap1.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:55  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.48  by  S.Giani
11 *-- Author :
12       SUBROUTINE CEVAP1(EOLD,E,Q,ATAR,CB,EX)
13 C       THIS ROUTINE SAMPLES AN EXIT ENERGY FROM AN
14 C       EVAPORATION SPECTRUM FOR AN (N,N-PRIME X) REACTION
15 #include "geant321/minput.inc"
16       SAVE
17 C       CONVERT THE COULOMB BARRIER (CB) TO UNITS OF EV
18       CB=CB*1.00E+06
19 C       CALCULATE THE MAXIMUM ENERGY AVAILABLE
20       CBI=CB
21       EMAX=EOLD+Q-CB-E
22       IF(EMAX.GT.0.0)GO TO 10
23       CB=0.5*CB
24       EMAX=EOLD+Q-CB-E
25       IF(EMAX.GT.0.0)GO TO 10
26       CB=0.0
27       EMAX=EOLD+Q-CB-E
28       IF(EMAX.LE.0.0)EMAX=1.0E+00
29 C       CALCULATE THE NUCLEAR TEMPERATURE (THETA)
30    10 THETA=4.0161E+03*(SQRT(EMAX)/(ATAR**0.8333333))
31 C       SELECT THE EXIT ENERGY FROM AN EVAPORATION SPECTRUM
32       ITRY = 0
33    20 R1=FLTRNF(0)
34       R2=FLTRNF(0)
35       W=-LOG(R1*R2)
36       EX=THETA*W
37       IF(EX.LE.EMAX)RETURN
38 C       RESAMPLE 75% OF THE TIME IF EX IS GREATER THAN EMAX
39       R=FLTRNF(0)
40       ITRY = ITRY + 1
41       IF(R.LE.0.75.AND.ITRY.LT.5)GO TO 20
42 #if defined(CERNLIB_MDEBUG)
43       WRITE(IOUT,10000)EX,EMAX
44 10000 FORMAT(' MICAP: WARNING-EX,EMAX=',2PE13.5,' IN ROUTINE EVAP1')
45 #endif
46       EX=EMAX
47       RETURN
48       END