]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/logyw.F
More volume overlaps corrected
[u/mrichter/AliRoot.git] / ISAJET / code / logyw.F
1 #include "isajet/pilot.h"
2       LOGICAL FUNCTION LOGYW(IERR)
3 C
4 C       SET AND CHECK Y LIMITS FOR W(Z0)
5 C
6 #include "isajet/itapes.inc"
7 #include "isajet/jetlim.inc"
8 #include "isajet/primar.inc"
9 #include "isajet/jetpar.inc"
10 #include "isajet/const.inc"
11 #include "isajet/dylim.inc"
12 #include "isajet/keys.inc"
13 #include "isajet/q1q2.inc"
14       LOGICAL COMB(2)
15       DATA UNDEF/-.9E9/
16 C
17 C            INVERSE HYPERBOLIC COSINE FUNCTION
18       ACOSH(X)=ALOG(X+SQRT(X**2-1.0))
19 C            INVERSE HYPERBOLIC SINE FUNCTION
20       ASINH(X)=ALOG(X+SQRT(X**2+1.0))
21       YW=1.0
22       LOGYW=.TRUE.
23       FIXYW=.FALSE.
24 C
25       IF(YWMIN.LT.UNDEF.AND.YWMAX.LT.UNDEF) THEN
26         YWMAX=ACOSH(HALFE/SQRT(QTMIN**2+QMIN**2))
27         YWMIN=-YWMAX
28       ENDIF
29 C
30       IF(YWMAX.LT.UNDEF) THEN
31         FIXYW=.TRUE.
32         YW=YWMIN
33         YWMAX=YWMIN
34       ENDIF
35 C
36       YWMX=ACOSH(HALFE/SQRT(QTMIN**2+QMIN**2))
37       YWMN=-YWMX
38       COMB(1)=YWMX.LT.YWMAX
39       COMB(2)=YWMN.GT.YWMIN
40 C
41       IF(FIXYW.AND.(COMB(1).OR.COMB(2))) THEN
42         LOGYW=.FALSE.
43         CALL LOGERR(102,1,IERR)
44       ENDIF
45 C
46       IF(.NOT.FIXYW) THEN
47         IF(COMB(1)) YWMAX=YWMX
48         IF(COMB(2)) YWMIN=YWMN
49       ENDIF
50 C
51       RETURN
52       END