]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/ggeom/ginctu.F
Minor corrections after big transformer changes
[u/mrichter/AliRoot.git] / GEANT321 / ggeom / ginctu.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:50  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.29  by  S.Giani
11 *-- Author :
12       SUBROUTINE GINCTU( X     , PAR   , IYES  )
13 *
14 ***********************************************************************
15 *.
16 *...GINCTU tests whether a point inside a cut tube or not.
17 *.
18 *. SUBROUTINE GINCTU( X     , PAR   , IYES  )
19 *. -----------------
20 *.
21 *. Routine GINCTU tests whether a point is inside a cur tue or not.
22 *.
23 *. INPUT     : X      vector    real length at least 3, x,y,z of
24 *.           :                  point in local cut tube coords.
25 *.           : PAR    vector    real length 11 parameters of cut
26 *.           :                  tube.
27 *. OUTPUT    : IYES   integer   1 if point inside, 0 if not.
28 *.
29 *. SEQUENCES : GCONSP
30 *. CALLED    : GINME
31 *.
32 *.
33 *. REPORT CONDITIONS
34 *.
35 *. Non Stand.: none.
36 *.
37 *. AUTHOR    : A.C.McPherson.
38 *. VERSION   : 1.00
39 *. CREATED   :  6-May-88
40 *. LAST MOD  :  6-May-88
41 *.
42 *. MODIFICATION LOG.
43 *.
44 *.*********************************************************************
45 *.
46 #include "geant321/gconsp.inc"
47       REAL X(*), PAR(*)
48 *.
49 *          --------------------
50 *
51       IYES = 0
52       ZINL = X(1)*PAR(6) +X(2)*PAR(7) +( X(3)+PAR(3) )*PAR(8)
53       IF( ZINL .LT. 0.0 ) THEN
54         ZINH = X(1)*PAR(9) +X(2)*PAR(10) +( X(3)-PAR(3) )*PAR(11)
55         IF( ZINH .LT. 0.0 ) THEN
56           R2 = X(1)*X(1)+X(2)*X(2)
57           IF( R2 .GT. PAR(1)*PAR(1) .AND. R2 .LT. PAR(2)*PAR(2) ) THEN
58             IF( PAR(4) .EQ. 0 .AND. PAR(5) .EQ. 360.0 ) THEN
59               IYES = 1
60             ELSEIF( R2 .GT. 0.0 ) THEN
61               PHI = ATAN2( X(2), X(1) )/DEGRAD
62               DPHI = PHI - PAR(4)
63               IF( DPHI .LT. 0.0 ) DPHI = DPHI+360.0
64               IF( DPHI .GT. 360.0 ) DPHI = DPHI-360.0
65               DPT = PAR(5) - PAR(4)
66               IF( DPT .LT. 0.0 ) DPT = DPT+360.0
67               IF( DPT .GT. 360.0 ) DPT = DPT-360.0
68               IF( DPHI .LE. DPT ) IYES = 1
69             ENDIF
70           ENDIF
71         ENDIF
72       ENDIF
73       END