]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/cgpack/cghend.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / cgpack / cghend.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:19:43  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.31  by  S.Giani
11 *-- Author :
12       SUBROUTINE CGHEND(H,JERR,RSHD)
13 ************************************************************************
14 *                                                                      *
15 *     Name: CGHEND                                                     *
16 *     Author: E. Chernyaev                       Date:    07.08.88     *
17 *     Revised by: S.Giani                        Date:    25.04.91     *
18 *                                                                      *
19 *     Function: Terminate creation of HIDE-structure                   *
20 *                                                                      *
21 *     References: CGHSHI, CGHDFA, CGHTRE                               *
22 *                                                                      *
23 *     Input : H(*) - HIDE-structure                                    *
24 *     Output:        H(1) .EQ. 0 - error in input data (see CGHCRE)    *
25 *                    H(1) .LT. 0 - no space                            *
26 *                                                                      *
27 *             IHSERR : Flag for indicating the Memory Size Overflow    *
28 *     Errors: none                                                     *
29 *                                                                      *
30 ************************************************************************
31 *SG
32 #include "geant321/cghpar.inc"
33 *
34 *  I4SIZE is now = 1 to compute the right pointers after that all the
35 *  integer*2 variables have been eliminated.
36 *SG
37       REAL H(*)
38 *JS
39       COMMON /CGOVER/ IHSERR
40       JERR=0
41 *JS
42 *-
43       IF (H(KHSIZE) .EQ. 0.)    GOTO 999
44       NHSIZE = H(KHSIZE)
45       NT     = H(KHNT)
46       NXYZ   = H(KHNXYZ)
47       NFACE  = H(KHNFAC)
48       NEDGE  = H(KHNEDG)
49 *           S P A C E   F O R   N O D E S
50       NX     = 3*NXYZ
51 *           S P A C E   F O R   F A C E S
52       NF     = (NFACE+NEDGE*2)/I4SIZE + 1
53       NP     = NFACE
54       NDF    = 6*NFACE
55 *           S P A C E   F O R   T R E E
56       NTR    = 4*NFACE/I4SIZE
57       NST    = NFACE/I4SIZE + 1
58       NAL    = NFACE
59       NAR    = NFACE
60 *            C H E C K   S P A C E
61       NTOTAL = LHHEAD + NX + NF + NP + NDF + NTR + NST + NAL + NAR
62       IF (NTOTAL .LT. NHSIZE)   GOTO 100
63 **SG
64 *  If size of Hide Structure is too big, tell GDRAW the new number
65 *    of words needed to build it.
66 *
67       H(KHSIZE) = NHSIZE - NTOTAL
68       JERR=NTOTAL+1
69       GOTO 999
70 **SG
71 *
72 **          S E T   P O I N T E R S
73 *
74   100 H(KHSIZE) = NTOTAL
75 *SG
76       RSHD=NTOTAL+1
77 *SG
78       JXYZ1      = LHHEAD + 1
79       JFA       = JXYZ1 + NX
80       JPFA      = JFA  + NF
81       JDFA      = JPFA + NP
82       JTRE      = JDFA + NDF
83       JSTA      = JTRE + NTR
84       JALE      = JSTA + NST
85       JARI      = JALE + NAL
86       H(KHJXYZ) = JXYZ1
87       H(KHJFA)  = JFA
88       H(KHJPFA) = JPFA
89       H(KHJDFA) = JDFA
90       H(KHJTRE) = JTRE
91       H(KHJSTA) = JSTA
92       H(KHJALE) = JALE
93       H(KHJARI) = JARI
94 *
95 **          S H I F T   F A C E S
96 **          C O M P U T E   F A C E S   M I N - M A X
97 **          B U I L D   T R E E
98 *
99       NH        = NHSIZE*I4SIZE
100       CALL CGHSHI(NH,NFACE,NEDGE,H(1),H(JFA),H(JPFA))
101       H(KHNFAC) = NFACE
102       H(KHNEDG) = NEDGE
103       CALL CGHDFA(NFACE,H(JXYZ1),H(JFA),H(JPFA),H(JDFA))
104       JERR=IHSERR
105       IF(IHSERR.NE.0) RETURN
106       CALL CGHTRE(NFACE,H(JDFA),H(JSTA),H(JTRE),H(JALE),H(JARI))
107 *
108   999 RETURN
109       END