]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/cgpack/cgvedg.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / cgpack / cgvedg.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:19:45  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.32  by  S.Giani
11 *-- Author :
12       SUBROUTINE CGVEDG(NT,P1,P2,IVIS)
13 ************************************************************************
14 *                                                                      *
15 *     Name: CGVEDG                                                     *
16 *     Author: E. Chernyaev                       Date:    08.08.88     *
17 *                                                Revised:              *
18 *                                                                      *
19 *     Function: Compute ALL about edge:                                *
20 *               parametric equations X=X1+T(X2-X1), Y=Y1+T(Y2-Y1)      *
21 *               edge line equation   Ax+By+C=0                         *
22 *               edge min-max                                           *
23 *                                                                      *
24 *     References: none                                                 *
25 *                                                                      *
26 *     Input: NT - number of transformation to screen coordinates       *
27 *            P1(3) - 1-st edge point                                   *
28 *            P2(3) - 2-nd edge point                                   *
29 *                                                                      *
30 *     Output: IVIS = -1 for very small edges                           *
31 *                                                                      *
32 *     Errors: none                                                     *
33 *                                                                      *
34 ************************************************************************
35 #include "geant321/cgdelt.inc"
36 #include "geant321/cgctra.inc"
37 #include "geant321/cgcedg.inc"
38       REAL    P1(3),P2(3)
39 *-
40       DO 100 I=1,3
41         AA(I) = P1(1)*TSCRN(1,I,NT) + P1(2)*TSCRN(2,I,NT) +
42      +          P1(3)*TSCRN(3,I,NT) + TSCRN(4,I,NT)
43         BB(I) = P2(1)*TSCRN(1,I,NT) + P2(2)*TSCRN(2,I,NT) +
44      +          P2(3)*TSCRN(3,I,NT) + TSCRN(4,I,NT)
45         DELTA(I) = BB(I) - AA(I)
46   100   CONTINUE
47 *
48       IVIS   =-1
49       AXDELT=ABS(XDELT)
50       AYDELT=ABS(YDELT)
51       IF ((AXDELT.LE.EESCR).AND.(AYDELT.LE.EESCR))GOTO 999
52       IVIS   = 0
53 *           C O M P U T E   E D G E   E Q U A T I O N
54       Q        = XDELT*XDELT + YDELT*YDELT
55       ABC(1,1) = XDELT/Q
56       ABC(2,1) = YDELT/Q
57       ABC(3,1) =-(XDELT*XA + YDELT*YA)/Q
58       XXXQ        = SQRT(Q)
59       ABC(1,2) =-YDELT/XXXQ
60       ABC(2,2) = XDELT/XXXQ
61       ABC(3,2) = (YDELT*XA - XDELT*YA)/XXXQ
62 *           C O M P U T E   E D G E   M I N - M A X
63       DEDGE(1) =-MAX(XA,XB)
64       DEDGE(2) =-MAX(YA,YB)
65       DEDGE(3) = MIN(XA,XB)
66       DEDGE(4) = MIN(YA,YB)
67       DEDGE(5) = MIN(ZA,ZB)
68 *
69       NPART  = 0
70       TDEL   = EESCR / XXXQ
71   999 RETURN
72       END