]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HERWIG/src/hwrpow.f
Coding rule violations corrected.
[u/mrichter/AliRoot.git] / HERWIG / src / hwrpow.f
CommitLineData
3820ca8e 1
2CDECK ID>, HWRPOW.
3
4*CMZ :- -26/04/91 11.11.56 by Bryan Webber
5
6*-- Author : Bryan Webber
7
8C-----------------------------------------------------------------------
9
10 SUBROUTINE HWRPOW(XVAL,XJAC)
11
12C-----------------------------------------------------------------------
13
14C RETURNS XVAL DISTRIBUTED ON (XMIN,XMAX) LIKE XVAL**XPOW
15
16C AND CORRESPONDING JACOBIAN FACTOR XJAC
17
18C SET FIRST=.TRUE. IF NEW XMIN,XMAX OR XPOW
19
20C-----------------------------------------------------------------------
21
22 DOUBLE PRECISION HWR,XVAL,XJAC,XMIN,XMAX,XPOW,P,Q,A,B,C,Z,ZERO
23
24 LOGICAL FIRST
25
26 PARAMETER(ZERO=0.0D0)
27
28 EXTERNAL HWR
29
30 SAVE Q,A,B,C
31
32 COMMON/HWRPIN/XMIN,XMAX,XPOW,FIRST
33
34 IF (FIRST) THEN
35
36 P=XPOW+1.
37
38 IF (P.EQ.ZERO) CALL HWWARN('HWRPOW',500,*999)
39
40 Q=1./P
41
42 A=XMIN**P
43
44 B=XMAX**P-A
45
46 C=B*Q
47
48 FIRST=.FALSE.
49
50 ENDIF
51
52 Z=A+B*HWR()
53
54 XVAL=Z**Q
55
56 XJAC=XVAL*C/Z
57
58 999 END
59
60CDECK ID>, HWRUNG.
61
62*CMZ :- -26/04/91 14.55.45 by Federico Carminati
63
64*-- Author : David Ward, modified by Bryan Webber
65
66C-----------------------------------------------------------------------
67
68 FUNCTION HWRUNG(A,B)
69
70C-----------------------------------------------------------------------
71
72C Random number from distribution having flat top [-A,A] & gaussian
73
74C tail of s.d. B
75
76C-----------------------------------------------------------------------
77
78 DOUBLE PRECISION HWRUNG,HWRGAU,HWRUNI,A,B,PRUN,ZERO
79
80 LOGICAL HWRLOG
81
82 EXTERNAL HWRGAU,HWRUNI,HWRLOG
83
84 PARAMETER (ZERO=0.D0)
85
86 IF (A.EQ.ZERO) THEN
87
88 PRUN=0
89
90 ELSE
91
92 PRUN=1./(1.+B*1.2533/A)
93
94 ENDIF
95
96 IF(HWRLOG(PRUN)) THEN
97
98 HWRUNG=HWRUNI(0,-A,A)
99
100 ELSE
101
102 HWRUNG=HWRGAU(0,ZERO,B)
103
104 HWRUNG=HWRUNG+SIGN(A,HWRUNG)
105
106 ENDIF
107
108 END