]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/neutron/evaplr.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / neutron / evaplr.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:56 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani
11*-- Author :
12 SUBROUTINE EVAPLR(E,Q,SQ,ATAR,CB,EX)
13C THIS ROUTINE SAMPLES AN EXIT ENERGY FROM AN
14C EVAPORATION SPECTRUM FOR AN LR-FLAG (N,N-PRIME X) REACTION
15#include "geant321/minput.inc"
16 SAVE
17C CONVERT THE COULOMB BARRIER (CB) TO UNITS OF EV
18 CB=CB*1.00E+06
19C SET THE EXCITATION ENERGY (Q) TO ITS ABSOLUTE VALUE
20 QA=ABS(Q)
21C CALCULATE THE MAXIMUM ENERGY AVAILABLE
22 CBI=CB
23 EMAX=QA+SQ-CB
24 IF(EMAX.GT.0.0)GO TO 10
25 CB=0.5*CB
26 EMAX=QA+SQ-CB
27 IF(EMAX.GT.0.0)GO TO 10
28 CB=0.0
29 EMAX=QA+SQ-CB
30 IF(EMAX.GT.0.0)GO TO 10
31 WRITE(IOUT,10000)E,EMAX,QA,SQ,CBI
3210000 FORMAT(' MICAP: NEGATIVE MAXIMUM ENERGY CALCULATED IN ROUTINE ',
33 1'EVAPLR --- INDICATING PROBABLE CROSS SECTION ERROR ALLOWING ',
34 2'THE REACTION TO OCCUR',/,10X,'E,EMAX,QA,SQ,CB=',1P5E13.5)
35 WRITE(6,*) ' CALOR: ERROR in EVAPLR ====> STOP '
36 STOP
37C CALCULATE THE NUCLEAR TEMPERATURE (THETA)
38 10 THETA=4.0161E+03*(SQRT(QA+SQ-CB)/(ATAR**0.8333333))
39C SELECT THE EXIT ENERGY FROM AN EVAPORATION SPECTRUM
40 20 R1=FLTRNF(0)
41 R2=FLTRNF(0)
42 W=-ALOG(R1*R2)
43 EX=THETA*W
44 IF(EX.LE.EMAX)RETURN
45C RESAMPLE 75% OF THE TIME IF EX IS GREATER THAN EMAX
46 R=FLTRNF(0)
47 IF(R.LE.0.75)GO TO 20
48#if defined(CERNLIB_MDEBUG)
49 WRITE(IOUT,10100)EX,EMAX
5010100 FORMAT(' MICAP: WARNING-EX,EMAX=',1P2E13.5,' IN ROUTINE EVAPLR')
51#endif
52 EX=EMAX
53 RETURN
54 END