]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/fluka/enrg.F
Patch from Piergiorgio, concerning Dead andoes and the like.
[u/mrichter/AliRoot.git] / GEANT321 / fluka / enrg.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:19:55 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani
11*-- Author :
12*$ CREATE ENRG.FOR
13*COPY ENRG
14* *
15*=== enrg =============================================================*
16* *
17 FUNCTION ENRG(A,Z)
18
19#include "geant321/dblprc.inc"
20#include "geant321/dimpar.inc"
21#include "geant321/iounit.inc"
22C--------------------------------------------------------------------
23C SUBNAME = ENRG
24C--------------------------------------------------------------------
25 PARAMETER ( O16OLD = 931.145 D+00 )
26 PARAMETER ( O16NEW = 931.19826D+00 )
27 PARAMETER ( O16RAT = O16NEW / O16OLD )
28 PARAMETER ( C12NEW = 931.49432D+00 )
29 PARAMETER ( ADJUST = -8.322737768178909D-02 )
30#include "geant321/eva0.inc"
31 LOGICAL LFIRST
32 SAVE LFIRST, EXHYDR, EXNEUT
33 DATA LFIRST / .TRUE. /
34 IF ( LFIRST ) THEN
35 LFIRST = .FALSE.
36 EXHYDR = FKENER ( ONEONE, ONEONE )
37 EXNEUT = FKENER ( ONEONE, ZERZER )
38 END IF
39C--------------------------------------------------------------------
40 100 IZ0 = NINT (Z)
41 IF ( IZ0 .LE. 0 ) THEN
42 ENRG = A * EXNEUT
43 RETURN
44 END IF
45 N = NINT (A-Z)
46 IF ( N .LE. 0 ) THEN
47 ENRG = Z * EXHYDR
48 RETURN
49 END IF
50 AM2ZOA= (A-Z-Z)/A
51 AM2ZOA=AM2ZOA*AM2ZOA
52 A13 = RMASS(NINT(A))
53 AM13 = 1.D0/A13
54 EV=-17.0354D0*(1.D0 -1.84619D0*AM2ZOA)*A
55 ES= 25.8357D0*(1.D0 -1.712185D0*AM2ZOA)*
56 & (1.D0 -0.62025D0*AM13*AM13)*
57 & (A13*A13 -.62025D0)
58 EC= 0.799D0*Z*(Z-1.D0)*AM13*(((1.5772D0*AM13 +1.2273D0)*
59 & AM13-1.5849D0)*
60 & AM13*AM13 +1.D0)
61 EEX= -0.4323D0*AM13*Z**1.3333333D0*
62 & (((0.49597D0*AM13 -0.14518D0)*AM13 -0.57811D0) * AM13 + 1.D0)
63 ENRG =8.367D0*A -0.783D0*Z +EV +ES +EC +EEX +CAM2(IZ0)+CAM3(N)
64 ENRG = ( ENRG + A * O16OLD ) * O16RAT - A * ( C12NEW - ADJUST )
65 ENRG = MIN ( ENRG, Z * EXHYDR + ( A - Z ) * EXNEUT )
66 RETURN
67 END