]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/fluka/energi.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / fluka / energi.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:00 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
11*-- Author :
12*$ CREATE ENERGI.FOR
13*COPY ENERGI
14*
15*=== energi ===========================================================*
16*
17 SUBROUTINE ENERGI(IT,LL,LT,IV,RE,HMA,HE,E0,A1)
18
19#include "geant321/dblprc.inc"
20#include "geant321/dimpar.inc"
21#include "geant321/iounit.inc"
22*
23*----------------------------------------------------------------------*
24* Energi89: slight revision by A. Ferrari *
25*----------------------------------------------------------------------*
26*
27* INCLUDE '(BAMJCM)'
28#include "geant321/finpar2.inc"
29 DIMENSION IV(*),RE(*)
30 REAL RNDM(1)
31C SAMPLES THE ENERGY OF THE CREATED HADRON
32C*****HE IS THE ENERGY OF THE ACTUAL HADRON
33 I=IT
34 J=IT-1
35 HMA=AMF(I)
36 IF(IT .EQ. 1) RX=E0
37 IF(IT .GT. 1) RX=RE(J)
38 CALL GRNDM(RNDM,1)
39 X = RNDM(1)
40 IVY = IV(I)
41 GO TO (1,2,2,1,1,1,2,2,1,1),IVY
42C MESON VERTEX
43 1 AX=(1.D0-A1)/(3.D0*A1)
44 C=1.D0/((1.D0-A1)*(1.D0-HMA/RX)+3.D0*.5D0*A1*(1.D0-HMA/RX)**2)
45 ETA=-AX+SQRT(AX**2+X*2.D0/(3.D0*A1*C))
46 GO TO 3
47C BARYON VERTEX
48 2 CY=1.D0/((1.D0-A1)*(1.D0-HMA/RX)+A1*(1.D0-HMA/RX)**3)
49 BY=X/(2.D0*A1*CY)
50 BZ=((1.D0-A1)/(3.D0*A1))**3
51 BV=BY+SQRT(BY**2+BZ)
52 BU=BY-SQRT(BY**2+BZ)
53 IF(BU.LT.0.D0) BU1=ABS(BU)
54 BU3=BU1**(1.D0/3.D0)
55 BV3=BV**(1.D0/3.D0)
56 IF(BU.LT.0.D0) BU3=-BU3
57 ETA=BU3+BV3
58 GO TO 3
59 3 CONTINUE
60 RE(I)=ETA*RX
61 HE=(1.D0-ETA)*RX
62 HEF(I)=HE
63 RETURN
64 END