]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/ggeom/gintrp.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / ggeom / gintrp.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:51 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 GINTRP(X,P,IYES)
13C.
14C. ******************************************************************
15C. * *
16C. * ROUTINE TO PERFORM GINME FUNCTION FOR A GENERAL TRAPEZOID. *
17C. * X - A VECTOR DIMENSION 3 GIVING THE POINT. *
18C. * P - THE VECTOR OF PARAMETERS; *
19C. * DZ - HALF LENGTH ALONG Z AXIS, *
20C. * TX - DX/DZ OF LINE LINKING FACE CENTRES, *
21C. * TY - DY/DZ '' *
22C. * H1 - HALF LENGTH IN Y DIR OF FACE AT Z=-DZ, *
23C. * LB1 - HALF LEN. OF LOW Y EDGE OF SAME FACE, *
24C. * LT1 - HALF LEN. OF HIGH Y EDGE OF SAME FACE, *
25C. * TTH1 - DX/DY OF LINE LINKING EDGE CENTRES, *
26C. * H2 - AS 1 FOR FACE AT Z=DZ *
27C. * LB2 - '' *
28C. * LT2 - '' *
29C. * TTH2 - '' *
30C. * IYES - RETURNED AS 1 IF POINT IS INSIDE, OTHERWISE 0. *
31C. * *
32C. * ==>Called by : GINME *
33C. * Author A.McPherson ********* *
34C. * *
35C. ******************************************************************
36C.
37 DIMENSION X(3),P(11)
38 SAVE LDZ,LLTAN,LH1,LTTH1,LH2,LTTH2
39C
40 DATA LDZ,LLTAN,LH1,LTTH1,LH2,LTTH2/1,2,4,7,8,11/
41C.
42C. ----------------------------------------
43C.
44 IYES=0
45C
46C CHECK Z FIRST.
47C
48 IF(ABS(X(3)).GT.P(LDZ)) GO TO 99
49C
50C COMPUTE TRAPEZIUM PARAMETERS AND X,Y IN TRAP COORDS.
51C
52 SP1=(P(LDZ)-X(3))*0.5/P(LDZ)
53 SP2=(P(LDZ)+X(3))*0.5/P(LDZ)
54 H=P(LH1)*SP1+P(LH2)*SP2
55 YL=X(2)-X(3)*P(LLTAN+1)
56C
57C CHECK Y.
58C
59 IF(ABS(YL).GT.H) GO TO 99
60 IF ( H .EQ. 0 ) THEN
61 TTH = 0.
62 ELSE
63 TTH=(P(LH1)*P(LTTH1)*SP1+P(LH2)*P(LTTH2)*SP2)/H
64 END IF
65 BL=P(LH1+1)*SP1+P(LH2+1)*SP2
66 TL=P(LH1+2)*SP1+P(LH2+2)*SP2
67 XL=X(1)-X(3)*P(LLTAN)
68C
69C CHECK X.
70C
71 DX=BL*(H-YL)*0.5/H+TL*(H+YL)*0.5/H
72 XL=XL-YL*TTH
73 IF(ABS(XL).GT.DX) GO TO 99
74C
75C INSIDE.
76C
77 IYES=1
78C
79 99 CONTINUE
80 END