]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/src/hwrgen.f
splitting of simulation and reconstruction code (T.Kuhr)
[u/mrichter/AliRoot.git] / HERWIG / src / hwrgen.f
1
2 CDECK  ID>, HWR.
3
4 *CMZ :-        -26/04/91  12.42.30  by  Federico Carminati
5
6 *-- Author :    F. James, modified by Mike Seymour
7
8 C-----------------------------------------------------------------------
9
10       FUNCTION HWRGEN(I)
11
12 C-----------------------------------------------------------------------
13
14 C     MAIN RANDOM NUMBER GENERATOR
15
16 C     USES METHOD OF l'Ecuyer, (VIA F.JAMES, COMP PHYS COMM 60(1990)329)
17
18 C-----------------------------------------------------------------------
19
20       IMPLICIT NONE
21
22       DOUBLE PRECISION HWRGEN,HWRSET,HWRGET
23
24       INTEGER I,ISEED(2),K,IZ,JSEED(2)
25
26       SAVE ISEED
27
28       DATA ISEED/12345,67890/
29
30       K=ISEED(1)/53668
31
32       ISEED(1)=40014*(ISEED(1)-K*53668)-K*12211
33
34       IF (ISEED(1).LT.0) ISEED(1)=ISEED(1)+2147483563
35
36       K=ISEED(2)/52774
37
38       ISEED(2)=40692*(ISEED(2)-K*52774)-K*3791
39
40       IF (ISEED(2).LT.0) ISEED(2)=ISEED(2)+2147483399
41
42       IZ=ISEED(1)-ISEED(2)
43
44       IF (IZ.LT.1) IZ=IZ+2147483562
45
46       HWRGEN=DBLE(IZ)*4.656613001013252D-10
47
48 C--->                (4.656613001013252D-10 = 1.D0/2147483589)
49
50       RETURN
51
52 C-----------------------------------------------------------------------
53
54       ENTRY HWRSET(JSEED)
55
56 C-----------------------------------------------------------------------
57
58       IF (JSEED(1).EQ.0.OR.JSEED(2).EQ.0) CALL HWWARN('HWRSET',99,*999)
59
60       ISEED(1)=JSEED(1)
61
62       ISEED(2)=JSEED(2)
63
64       HWRSET=0.0D0
65
66  999  RETURN
67
68 C-----------------------------------------------------------------------
69
70       ENTRY HWRGET(JSEED)
71
72 C-----------------------------------------------------------------------
73
74       JSEED(1)=ISEED(1)
75
76       JSEED(2)=ISEED(2)
77
78       HWRGET=0.0D0
79
80       RETURN
81
82       END