1 |
* |
2 |
* $Id$ |
3 |
* |
4 |
* $Log$ |
5 |
* |
6 |
*CMZ : 3.00/00 14/11/2000 09.13.05 by Emiliano Mocchiutti |
7 |
*CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola |
8 |
*CMZ : 2.00/00 03/03/2000 15.39.06 by Francesco Cafagna |
9 |
*CMZ : 1.00/02 08/02/96 17.12.36 by Francesco Cafagna |
10 |
*-- Author : Francesco Cafagna 08/02/96 |
11 |
SUBROUTINE GPCATV |
12 |
************************************************************************ |
13 |
* * |
14 |
* Volumes definition for the TOP anticoincidence counters * |
15 |
* Called by: GPGEO * |
16 |
* * |
17 |
* Author: Francesco Cafagna, 08/02/96 16.58.49 * |
18 |
* * |
19 |
************************************************************************ |
20 |
#include "gpgeo.inc" |
21 |
#include "gpmed.inc" |
22 |
* |
23 |
INTEGER IROT,IVOLU,N,NMED,NUM |
24 |
REAL X,Y,Z |
25 |
*EM: |
26 |
NMED=MSCIN |
27 |
* |
28 |
* Define the CATL volume |
29 |
* |
30 |
CALL GSVOLU('CATL','BOX ',NMED,CATL, 3,IVOLU) |
31 |
* |
32 |
* Define the CATT volume |
33 |
* |
34 |
CALL GSVOLU('CATT','BOX ',NMED,CATT, 3,IVOLU) |
35 |
* |
36 |
NMED=MN2 |
37 |
* |
38 |
* Define the CATH volume |
39 |
* |
40 |
CALL GSVOLU('CATH','BOX ',NMED,CATH, 3,IVOLU) |
41 |
* |
42 |
* Define the CATF volume |
43 |
* |
44 |
CALL GSVOLU('CATF','BOX ',NMED,CATF, 3,IVOLU) |
45 |
* |
46 |
NMED=MAL |
47 |
* |
48 |
* Define the CATB volume |
49 |
* |
50 |
CALL GSVOLU('CATB','BOX ',NMED,CATB, 3,IVOLU) |
51 |
* |
52 |
* Define the CATO volume |
53 |
* |
54 |
CALL GSVOLU('CATO','BOX ',NMED,CATO, 3,IVOLU) |
55 |
* |
56 |
* Define the CATP volume |
57 |
* |
58 |
CALL GSVOLU('CATP','BOX ',NMED,CATP, 3,IVOLU) |
59 |
* |
60 |
* Positioning volume CATT into the mother CATB |
61 |
* |
62 |
N = 1 |
63 |
C X= CATL(1)-CATB(1) |
64 |
C Y= CATL(2)+(2.*CATT(2)-CATB(2)) |
65 |
X = -CATT(1) |
66 |
Y = 0. |
67 |
Z = 0. |
68 |
CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY') |
69 |
N = 2 |
70 |
X = -X |
71 |
Y = -Y |
72 |
Z = 0. |
73 |
CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY') |
74 |
* |
75 |
* Positioning volume CATL into the mother CATB |
76 |
* |
77 |
N = 1 |
78 |
C X = -CATT(1)-(2.*CATL(1)-CATB(1)) |
79 |
C Y = CATT(2)-CATB(2) |
80 |
X = -(2*CATT(1)+CATL(1)) |
81 |
Y = 0. |
82 |
Z = 0. |
83 |
CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY') |
84 |
N = 2 |
85 |
X = -X |
86 |
Y = -Y |
87 |
Z = 0. |
88 |
CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY') |
89 |
* |
90 |
* Positioning volume CATH into the mother CATB |
91 |
* |
92 |
N = 1 |
93 |
X = 0. |
94 |
Y = 0. |
95 |
Z = 0. |
96 |
CALL GSPOS('CATH',N,'CATB',X,Y,Z,0,'ONLY') |
97 |
* |
98 |
* Positioning volume CATF into the mother CATB |
99 |
* |
100 |
N = 1 |
101 |
X = -(2*CATT(1)+CATL(1)) |
102 |
Y = CATL(2)+CATF(2) |
103 |
Z = 0. |
104 |
CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
105 |
N = 2 |
106 |
X = X |
107 |
Y = -Y |
108 |
Z = 0. |
109 |
CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
110 |
N = 3 |
111 |
X = -X |
112 |
Y = Y |
113 |
Z = 0. |
114 |
CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
115 |
N = 4 |
116 |
X = X |
117 |
Y = -Y |
118 |
Z = 0. |
119 |
CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
120 |
|
121 |
* |
122 |
* Positioning volume CATP into the mother CATB |
123 |
* |
124 |
N = 1 |
125 |
X = -CATH(1)+CATP(1) |
126 |
Y = 0. |
127 |
Z = 0. |
128 |
CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY') |
129 |
N = 2 |
130 |
X = -X |
131 |
Y = Y |
132 |
Z = 0. |
133 |
CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY') |
134 |
* |
135 |
* Positioning volume CATO into the mother CATB |
136 |
* |
137 |
N = 1 |
138 |
X = 0. |
139 |
Y = -CATH(2)+CATO(2) |
140 |
Z = 0. |
141 |
CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY') |
142 |
N = 2 |
143 |
X = X |
144 |
Y = -Y |
145 |
Z = 0. |
146 |
CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY') |
147 |
* |
148 |
RETURN |
149 |
END |