]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gdraw/gunliv.F
README file from R.Barbera
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gunliv.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:30 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.28 by S.Giani
11*-- Author :
12 SUBROUTINE GUNLIV(IVO,NR,IVOMOT)
13C.
14C. ******************************************************************
15C. * *
16C. * Unlink a volume from its mother *
17C. * *
18C. * IVO = volume pointer (input) *
19C. * NR = volume number (input) *
20C. * IVOMOT = mother volume pointer (input) *
21C. * *
22C. * ==>Called by : GEDITV *
23C. * Author P.Zanarini ********* *
24C. * *
25C. ******************************************************************
26C.
27#include "geant321/gcbank.inc"
28C.
29C. ------------------------------------------------------------------
30C.
31 JVOMOT=LQ(JVOLUM-IVOMOT)
32 NIN=Q(JVOMOT+3)
33 IF (NIN.LT.0) THEN
34 Q(JVOMOT+3)=0
35 CALL MZDROP(IXCONS,LQ(JVOMOT-1),' ')
36 JV = LQ(JVOLUM-IVOMOT)
37 CALL MZPUSH(IXCONS,JV,-1,0,'I')
38 ELSE IF (NIN.EQ.1) THEN
39 Q(JVOMOT+3)=0
40 CALL MZDROP(IXCONS,LQ(JVOMOT-1),' ')
41 JV = LQ(JVOLUM-IVOMOT)
42 CALL MZPUSH(IXCONS,JV,-1,0,'I')
43 JVOMOT=LQ(JVOLUM-IVOMOT)
44 NL=IQ(JVOMOT-2)
45 IF (NL.EQ.1) THEN
46 CALL MZDROP(IXCONS,LQ(JVOMOT-1),' ')
47 JV = LQ(JVOLUM-IVOMOT)
48 CALL MZPUSH(IXCONS,JV,-1,0,'I')
49 ENDIF
50 ELSE IF (NIN.GT.1) THEN
51 NL=IQ(JVOMOT-2)
52 DO 10 IN=1,NL
53 JIN=LQ(JVOMOT-IN)
54 IF (Q(JIN+2).EQ.IVO.AND.Q(JIN+3).EQ.NR) GO TO 20
55 10 CONTINUE
56 GO TO 999
57 20 Q(JVOMOT+3)=NIN-1
58 DO 30 I=IN,NIN
59 CALL DZSWAP(IXCONS,LQ(JVOMOT-I),LQ(JVOMOT-I-1),' ')
60 30 CONTINUE
61 CALL MZDROP(IXCONS,LQ(JVOMOT-NIN-1),' ')
62 JV = LQ(JVOLUM-IVOMOT)
63 CALL MZPUSH(IXCONS,JV,-1,0,'I')
64 JVOMOT=LQ(JVOLUM-IVOMOT)
65 JIN=LQ(JVOMOT-NIN)
66 NIN=NIN-1
67 DO 40 I=1,NIN
68 Q(JIN+I)=I
69 Q(JIN+I+NIN)=0
70 40 CONTINUE
71 JV = LQ(JVOMOT-NIN-1)
72 CALL MZPUSH(IXCONS,JV,0,-2,'I')
73 ENDIF
74 999 RETURN
75 END