]>
Commit | Line | Data |
---|---|---|
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) | |
31 | C SAMPLES THE ENERGY OF THE CREATED HADRON | |
32 | C*****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 | |
42 | C 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 | |
47 | C 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 |