1 |
cafagna |
3.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 |