]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/logthw.F
First commit.
[u/mrichter/AliRoot.git] / ISAJET / code / logthw.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 LOGICAL FUNCTION LOGTHW(IERR)
3C
4C SET AND CHECK THETA LIMITS FOR W(Z0)
5C
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 DATA UNDEF/-.9E9/
15C
16C INVERSE HYPERBOLIC COSINE FUNCTION
17 ACOSH(X)=ALOG(X+SQRT(X**2-1.0))
18C INVERSE HYPERBOLIC SINE FUNCTION
19 ASINH(X)=ALOG(X+SQRT(X**2+1.0))
20C
21 HALFPI=PI/2.
22 LOGTHW=.TRUE.
23C
24 IF(THWMIN.LT.UNDEF.AND.THWMAX.LT.UNDEF) THEN
25 THWMIN=2.*ATAN(EXP(-YWMAX))
26 THWMAX=2.*ATAN(EXP(-YWMIN))
27 ELSEIF(THWMIN.GT.UNDEF) THEN
28 IF(THWMAX.GT.UNDEF) THEN
29 LOGTHW=.FALSE.
30 CALL LOGERR(113,1,IERR)
31 ELSE
32 TAMIN=TAN(THWMIN)
33 TAMAX=TAN(THWMAX)
34 IF(THWMIN.LT.HALFPI)
35 1 YWMX=ASINH(QTMAX/SQRT(QTMAX**2+QMIN**2)/TAMIN)
36 IF(THWMIN.GE.HALFPI)
37 1 YWMX=ASINH(QTMIN/SQRT(QTMIN**2+QMAX**2)/TAMIN)
38 IF(THWMAX.GT.HALFPI)
39 1 YWMN=ASINH(QTMAX/SQRT(QTMAX**2+QMIN**2)/TAMAX)
40 IF(THWMAX.LT.HALFPI)
41 1 YWMN=ASINH(QTMIN/SQRT(QTMIN**2+QMAX**2)/TAMAX)
42 IF(YWMIN.LT.YWMN) YWMIN=YWMN
43 IF(YWMAX.GT.YWMX) YWMAX=YWMX
44 IF(FIXYW.AND.(YW.LT.YWMIN.OR.YW.GT.YWMAX)) THEN
45 CALL LOGERR(102,1,IERR)
46 LOGTHW=.FALSE.
47 ENDIF
48 ENDIF
49 ENDIF
50C
51 IF(YWMIN.LT.0) THWMAX=ATAN2(QTMIN,SQRT(QTMIN**2+QMAX**2)*
52 1 SINH(YWMIN))
53 IF(YWMIN.GE.0) THWMAX=ATAN2(QTMAX,SQRT(QTMAX**2+QMIN**2)*
54 1 SINH(YWMIN))
55 IF(YWMAX.GE.0) THWMIN=ATAN2(QTMIN,SQRT(QTMIN**2+QMAX**2)*
56 U SINH(YWMAX))
57 IF(YWMAX.LT.0) THWMIN=ATAN2(QTMAX,SQRT(QTMAX**2+QMIN**2)*
58 1 SINH(YWMAX))
59C
60 RETURN
61 END