]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/cgpack/cgvtin.F
Make the default config without ZDC
[u/mrichter/AliRoot.git] / GEANT321 / cgpack / cgvtin.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 CGVTIN(TMIN,TMAX,IVIS)
13 ************************************************************************
14 *                                                                      *
15 *     Name: CGVTIN                                                     *
16 *     Author: E. Chernyaev                       Date:    18.08.88     *
17 *                                                Revised:              *
18 *                                                                      *
19 *     Function: Insert new portion in hidden portions list             *
20 *                                                                      *
21 *     References: none                                                 *
22 *                                                                      *
23 *     Input: TMIN - portion begin                                      *
24 *            TMAX - portion end                                        *
25 *                                                                      *
26 *     Output: IVIS = -1 if edge fully unvisible                        *
27 *                                                                      *
28 *     Errors: none                                                     *
29 *                                                                      *
30 ************************************************************************
31 #include "geant321/cgcedg.inc"
32 *-
33       IF (TMAX-TMIN .LT. TDEL)          GOTO 999
34       KJ     = 0
35       IF (NPART .EQ. 0)                 GOTO 210
36 *           C H E C K   C O V E R E D   P O R T I O N   OF LINE AGAINST
37 *           P R E V I O U S   C O V E R E D   P O R T I O N S
38       DO 100 I = 1,NPART
39         IF (TMIN.LE.TSTRT(I) .AND. KJ.EQ.0)     KJ = I
40         IF (TMIN.GT.TEND(I)+TDEL .OR. TMAX.LT.TSTRT(I)-TDEL)    GOTO 100
41 *           T H E R E   I S   C O V E R E D   PORTIONS  INTERSECTIONS
42         IF (TMIN.GE.TSTRT(I)-TDEL .AND. TMAX.LE.TEND(I)+TDEL)   GOTO 999
43         IF (TMIN .LT. TSTRT(I))         TSTRT(I) = TMIN
44         IF (TMAX .GT. TEND(I))          TEND(I)  = TMAX
45         GOTO 300
46   100   CONTINUE
47 *           N O   C O V E R E D   P O R T I O N S   INTERSECTION.
48 *           C R E A T E   N E W   P O R T I O N
49       IF (KJ .EQ .0)                    GOTO 210
50       DO 200 I = NPART,KJ,-1
51         TSTRT(I+1) = TSTRT(I)
52         TEND(I+1)  = TEND(I)
53   200   CONTINUE
54   210 NPART  = NPART + 1
55       IF (KJ .EQ. 0)                    KJ = NPART
56       TSTRT(KJ) = TMIN
57       TEND(KJ)  = TMAX
58 *           C O V E R E D   P O R T I O N S   RECONSTRUCTION (IF NEED)
59   300 IF (NPART .LE. 1)                 GOTO 600
60       J      = 1
61       DO 500 I = 2,NPART
62         IF (TSTRT(I)-TEND(J) .LT. TDEL) GOTO 490
63         J = J+1
64         TSTRT(J) = TSTRT(I)
65         TEND(J)  = TEND (I)
66         GOTO 500
67   490   TEND(J)  = MAX (TEND(J),TEND(I))
68   500   CONTINUE
69       NPART  = J
70 *           C H E C K   I F   L I N E   I S   F U L L Y   C O V E R E D
71   600 T0     = 0.
72       T1     = 1.
73       IF (TSTRT(1) .LE. TDEL)           T0 = TEND(1)
74       IF (TEND(NPART) .GE. 1.-TDEL)     T1 = TSTRT(NPART)
75       IF (T0 .GE. T1)                   IVIS = -1
76 *
77   999 RETURN
78       END