4 |
* Volumes definition for the side anticoincidence counters * |
* Volumes definition for the side anticoincidence counters * |
5 |
* Called by: GPGEO * |
* Called by: GPGEO * |
6 |
* * |
* * |
7 |
* Author: Francesco Cafagna, 08/02/96 16.58.49 * |
* Authors: Francesco Cafagna, 08/02/96 16.58.49 * |
8 |
|
* Alessandro Bruno, 20/11/06 20.30.00 * |
9 |
* * |
* * |
10 |
************************************************************************ |
************************************************************************ |
11 |
#include "gconst.inc" |
#include "gconst.inc" |
12 |
#include "gpgeo.inc" |
#include "gpgeo.inc" |
13 |
#include "gpmed.inc" |
#include "gpmed.inc" |
14 |
#include "gprot.inc" |
#include "gprot.inc" |
15 |
INTEGER IROT,IVOLU,N,NMED,NUM |
INTEGER IROT,IVOLU,N,NMED,NUM,I |
16 |
REAL X,Y,Z |
REAL X,Y,Z |
17 |
REAL CAR1(11),CR1P(11) |
REAL CAR1(11),CR1P(11) |
18 |
REAL C1D1(11),C1N1(11),C1N2(11) |
REAL C1D1(11),C2D1(11) |
19 |
REAL CAR2(11),CR2P(11) |
REAL CAR2(11),CR2P(11) |
20 |
REAL C2D1(11),C2N1(11),C2N2(11) |
REAL C1N1(11),C1N2(11) |
21 |
REAL CAR1H,CAR1D,CAR1U,CAR1T |
REAL ANGLCAR1,ANGLCAR2 |
22 |
REAL CAR2H,CAR2D,CAR2U,CAR2T |
REAL H1,H2 |
23 |
REAL BETA, ALPHA, ANGLCAR1, ANGLCAR2 |
REAL A1,B1,C1,D1,F1,ANG1C |
24 |
|
REAL A2,B2,C2,D2,F2,ANG2C |
25 |
|
REAL AA, BB,ZH |
26 |
|
* |
27 |
|
* Scint sheets |
28 |
|
* |
29 |
|
H1=CAR(2)+CAR(3) |
30 |
|
H2=CAR(1)-H1 |
31 |
|
* |
32 |
|
* Greater Scintillator CAR1 (type B) |
33 |
|
* |
34 |
|
B1=CARB(2)+CAR(4)+CAR(5)+H1/TAN(CAR(7)*DEGRAD) |
35 |
|
C1=H2/TAN(CAR(7)*DEGRAD) |
36 |
|
A1=CARB(1)-C1 |
37 |
|
D1=CARB(1)-CARB(2)-CAR(4)-CAR(5) |
38 |
|
F1=C1+H1/TAN(CAR(7)*DEGRAD) |
39 |
|
ANG1C=ATAN((B1/2.+D1-A1/2.)/CAR(1)) |
40 |
|
|
41 |
|
C1D1(1) = CAR(1)/2. |
42 |
|
C1D1(2) = -ANG1C*RADDEG |
43 |
|
C1D1(3) = 0. |
44 |
|
C1D1(4) = CAR(6) |
45 |
|
C1D1(5) = A1/2. |
46 |
|
C1D1(6) = A1/2. |
47 |
|
C1D1(7) = 0. |
48 |
|
C1D1(8) = CAR(6) |
49 |
|
C1D1(9) = B1/2. |
50 |
|
C1D1(10) = B1/2. |
51 |
|
C1D1(11) = 0. |
52 |
|
|
53 |
|
* |
54 |
|
* Smaller Scintillator CAR2 (type A) |
55 |
|
* |
56 |
|
B2=CARA(2)+CAR(4)+CAR(5)+H1/TAN(CAR(7)*DEGRAD) |
57 |
|
C2=H2/TAN(CAR(7)*DEGRAD) |
58 |
|
A2=CARA(1)-C2 |
59 |
|
D2=CARA(1)-CARA(2)-CAR(4)-CAR(5) |
60 |
|
F2=C2+H1/TAN(CAR(7)*DEGRAD) |
61 |
|
ANG2C=ATAN((B2/2.+D2-A2/2.)/CAR(1)) |
62 |
|
|
63 |
|
C2D1(1) = CAR(1)/2. |
64 |
|
C2D1(2) = -ANG2C*RADDEG |
65 |
|
C2D1(3) = 0. |
66 |
|
C2D1(4) = CAR(6) |
67 |
|
C2D1(5) = A2/2. |
68 |
|
C2D1(6) = A2/2. |
69 |
|
C2D1(7) = 0. |
70 |
|
C2D1(8) = CAR(6) |
71 |
|
C2D1(9) = B2/2. |
72 |
|
C2D1(10) = B2/2. |
73 |
|
C2D1(11) = 0. |
74 |
* |
* |
75 |
* CAR1 Al box sheet |
* CAR1 Al box sheet |
76 |
* |
* |
77 |
NMED=MAL |
NMED=MAL |
78 |
CAR1CF=3.012 |
|
79 |
CAR1ANGL=16.83 |
CAR1(1) = C1D1(1)+ATZ |
80 |
CAR1H=6.7*CAR1CF |
CAR1(2) = C1D1(2) |
|
CAR1D=12*CAR1CF |
|
|
CAR1U=11.3*CAR1CF |
|
|
CAR1T=1.2 |
|
|
CAR1(1) = 0.5*CAR1H |
|
|
CAR1(2) = CAR1ANGL |
|
81 |
CAR1(3) = 0. |
CAR1(3) = 0. |
82 |
CAR1(4) = 0.5*CAR1T |
CAR1(4) = C1D1(4)+ATY |
83 |
CAR1(5) = 0.5*CAR1D |
CAR1(5) = C1D1(5)+ATZ*(1./COS(ATAN(D1/CAR(1)))+ |
84 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
85 |
CAR1(6) = CAR1(5) |
CAR1(6) = CAR1(5) |
86 |
CAR1(7) = 0. |
CAR1(7) = 0. |
87 |
CAR1(8) = 0.5*CAR1T |
CAR1(8) = C1D1(8)+ATY |
88 |
CAR1(9) = 0.5*CAR1U |
CAR1(9) = C1D1(9)+ATZ*(1./COS(ATAN(D1/CAR(1)))+ |
89 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
90 |
CAR1(10) = CAR1(9) |
CAR1(10) = CAR1(9) |
91 |
CAR1(11) = 0. |
CAR1(11) = 0. |
92 |
|
|
93 |
CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU) |
CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU) |
94 |
* |
* |
95 |
* CR1P PLASTIC BOX TO CREATE RIM |
* CR1P PLASTIC BOX TO CREATE RIM |
96 |
* |
* |
97 |
NMED=MPLAS |
NMED=MPLAS |
98 |
CR1P(1) = 0.5*(CAR1H-.7) |
|
99 |
CR1P(2) = CAR1ANGL |
CR1P(1) = C1D1(1)+PT |
100 |
|
CR1P(2) = C1D1(2) |
101 |
CR1P(3) = 0. |
CR1P(3) = 0. |
102 |
CR1P(4) = 0.5*(CAR1T-.4) |
CR1P(4) = C1D1(4) |
103 |
CR1P(5) = 0.5*(CAR1D-0.7) |
CR1P(5) = C1D1(5)+PT*(1./COS(ATAN(D1/CAR(1)))+ |
104 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
105 |
CR1P(6) = CR1P(5) |
CR1P(6) = CR1P(5) |
106 |
CR1P(7) = 0. |
CR1P(7) = 0. |
107 |
CR1P(8) = 0.5*(CAR1T-.4) |
CR1P(8) = C1D1(8) |
108 |
CR1P(9) = 0.5*(CAR1U-.7) |
CR1P(9) = C1D1(9)+PT*(1./COS(ATAN(D1/CAR(1)))+ |
109 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
110 |
CR1P(10) = CR1P(9) |
CR1P(10) = CR1P(9) |
111 |
CR1P(11) = 0. |
CR1P(11) = 0. |
112 |
|
|
113 |
CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU) |
CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU) |
114 |
* |
* |
|
* Scint sheet |
|
|
* |
|
115 |
NMED=MSCIN |
NMED=MSCIN |
116 |
C1D1(1) = 0.5*(CAR1H-1.3) |
* |
|
C1D1(2) = CAR1ANGL |
|
|
C1D1(3) = 0. |
|
|
C1D1(4) = 0.5*(CAR1T-.4) |
|
|
C1D1(5) = 0.5*(CAR1D-1.3) |
|
|
C1D1(6) = C1D1(5) |
|
|
C1D1(7) = 0. |
|
|
C1D1(8) = 0.5*(CAR1T-.4) |
|
|
C1D1(9) = 0.5*(CAR1U-1.3) |
|
|
C1D1(10) = C1D1(9) |
|
|
C1D1(11) = 0. |
|
117 |
CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU) |
CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU) |
118 |
* |
* |
119 |
* Empty volume to be subtracted from C1D1 sheet |
* Empty volume to be subtracted from C1D1 and C2D1 sheets |
120 |
* |
* |
121 |
NMED=MN2 |
NMED=MN2 |
122 |
BETA=ATAN( |
|
123 |
+ 2.*C1D1(1)/ |
AA=(ATZ/SIN(DEGRAD*CAR(7)))/(1./TAN(CAR(7)*DEGRAD)+CAR(4)/CAR(2)) |
124 |
+ (C1D1(9)-C1D1(5)+2.*C1D1(1)*TAN(C1D1(2)*3.14/180.)) ) |
AA=CAR(2)+CAR(3)+ATZ+AA |
125 |
A=3.*3.02 |
BB=AA/TAN(CAR(7)*DEGRAD)+AA*CAR(4)/CAR(2) |
126 |
B=3.*3.02 |
|
127 |
C1N1(1) = 0.5*A*SIN(BETA) |
C1N1(1) = 0.5*AA |
128 |
C1N1(9) = 0.5*B |
C1N1(2) = RADDEG*ATAN((BB/2.-AA/TAN(CAR(7)*DEGRAD))/AA) |
|
C1N1(2) = -RADDEG*ATAN( |
|
|
+ (C1N1(9)-2.*C1N1(1)/TAN(BETA))*1./(2.*C1N1(1)) ) |
|
129 |
C1N1(3) = 0. |
C1N1(3) = 0. |
130 |
C1N1(4) = 0.5*(CAR1T) |
C1N1(4) = CAR1(4) |
131 |
C1N1(5) = 0. |
C1N1(5) = 0. |
132 |
C1N1(6) = C1N1(5) |
C1N1(6) = C1N1(5) |
133 |
C1N1(7) = 0. |
C1N1(7) = 0. |
134 |
C1N1(8) = 0.5*(CAR1T) |
C1N1(8) = CAR1(8) |
135 |
|
C1N1(9) = 0.5*BB |
136 |
C1N1(10) = C1N1(9) |
C1N1(10) = C1N1(9) |
137 |
C1N1(11) = 0. |
C1N1(11) = 0. |
138 |
|
|
139 |
CALL GSVOLU('C1N1','TRAP',NMED,C1N1,11,IVOLU) |
CALL GSVOLU('C1N1','TRAP',NMED,C1N1,11,IVOLU) |
|
ALPHA=ATAN( |
|
|
+ ABS(A*SIN(BETA)/(B - A*COS(BETA))) ) |
|
|
BETA=3.14-ALPHA |
|
140 |
|
|
141 |
A=.6*3.02 |
AA=CAR(3) + ATZ |
142 |
B=1.1*3.02 |
BB=(ATZ+CAR(3))*(CAR(5)/CAR(3)-CAR(4)/CAR(2)) |
143 |
C1N2(1) = ABS(0.5*A*SIN(BETA)) |
|
144 |
C1N2(9) = 0.5*B |
C1N2(1) = 0.5*AA |
145 |
C1N2(2) = -(90. - RADDEG* |
C1N2(2) = RADDEG*ATAN((BB/2.+(CAR(3)+ATZ)*CAR(4)/CAR(2))/AA) |
|
+ ATAN( 2.*C1N2(1) /( C1N2(9) + (2.*C1N2(1)/ABS(TAN(BETA)))) )) |
|
146 |
C1N2(3) = 0. |
C1N2(3) = 0. |
147 |
C1N2(4) = 0.5*CAR1T |
C1N2(4) = CAR1(4) |
148 |
C1N2(5) = 0. |
C1N2(5) = 0. |
149 |
C1N2(6) = C1N2(5) |
C1N2(6) = C1N2(5) |
150 |
C1N2(7) = 0. |
C1N2(7) = 0. |
151 |
C1N2(8) = 0.5*CAR1T |
C1N2(8) = CAR1(8) |
152 |
|
C1N2(9) = 0.5*BB |
153 |
C1N2(10) = C1N2(9) |
C1N2(10) = C1N2(9) |
154 |
C1N2(11) = 0. |
C1N2(11) = 0. |
155 |
|
|
156 |
CALL GSVOLU('C1N2','TRAP',NMED,C1N2,11,IVOLU) |
CALL GSVOLU('C1N2','TRAP',NMED,C1N2,11,IVOLU) |
157 |
* |
* |
158 |
* CAR2 Al box sheet |
* CAR2 Al box sheet |
159 |
* |
* |
160 |
NMED=MAL |
NMED=MAL |
161 |
CAR2CF=3.012 |
|
162 |
CAR2ANGL=16.24 |
CAR2(1) = C2D1(1)+ATZ |
163 |
CAR2H=6.7*CAR2CF |
CAR2(2) = C2D1(2) |
|
CAR2D=10.35*CAR2CF |
|
|
CAR2U=10.2*CAR2CF |
|
|
CAR2T=1.2 |
|
|
CAR2(1) = 0.5*CAR2H |
|
|
CAR2(2) = CAR2ANGL |
|
164 |
CAR2(3) = 0. |
CAR2(3) = 0. |
165 |
CAR2(4) = 0.5*CAR2T |
CAR2(4) = C2D1(4)+ATY |
166 |
CAR2(5) = 0.5*CAR2D |
CAR2(5) = C2D1(5)+ATZ*(1./COS(ATAN(D2/CAR(1)))+ |
167 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
168 |
CAR2(6) = CAR2(5) |
CAR2(6) = CAR2(5) |
169 |
CAR2(7) = 0. |
CAR2(7) = 0. |
170 |
CAR2(8) = 0.5*CAR2T |
CAR2(8) = C2D1(8)+ATY |
171 |
CAR2(9) = 0.5*CAR2U |
CAR2(9) = C2D1(9)+ATZ*(1./COS(ATAN(D2/CAR(1)))+ |
172 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
173 |
CAR2(10) = CAR2(9) |
CAR2(10) = CAR2(9) |
174 |
CAR2(11) = 0. |
CAR2(11) = 0. |
175 |
|
|
176 |
CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU) |
CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU) |
177 |
* |
* |
178 |
* CR1P PLASTIC BOX TO CREATE RIM |
* CR1P PLASTIC BOX TO CREATE RIM |
179 |
* |
* |
180 |
NMED=MPLAS |
NMED=MPLAS |
181 |
CR2P(1) = 0.5*(CAR2H-.7) |
|
182 |
CR2P(2) = CAR2ANGL |
CR2P(1) = C2D1(1)+PT |
183 |
|
CR2P(2) = C2D1(2) |
184 |
CR2P(3) = 0. |
CR2P(3) = 0. |
185 |
CR2P(4) = 0.5*(CAR2T-.4) |
CR2P(4) = C2D1(4) |
186 |
CR2P(5) = 0.5*(CAR2D-0.7) |
CR2P(5) = C2D1(5)+PT*(1./COS(ATAN(D2/CAR(1)))+ |
187 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
188 |
CR2P(6) = CR2P(5) |
CR2P(6) = CR2P(5) |
189 |
CR2P(7) = 0. |
CR2P(7) = 0. |
190 |
CR2P(8) = 0.5*(CAR2T-.4) |
CR2P(8) = C2D1(8) |
191 |
CR2P(9) = 0.5*(CAR2U-.7) |
CR2P(9) = C2D1(9)+PT*(1./COS(ATAN(D2/CAR(1)))+ |
192 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
193 |
CR2P(10) = CR2P(9) |
CR2P(10) = CR2P(9) |
194 |
CR2P(11) = 0. |
CR2P(11) = 0. |
195 |
|
|
196 |
CALL GSVOLU('CR2P','TRAP',NMED,CR2P,11,IVOLU) |
CALL GSVOLU('CR2P','TRAP',NMED,CR2P,11,IVOLU) |
197 |
* |
* |
|
* Scint sheet |
|
|
* |
|
198 |
NMED=MSCIN |
NMED=MSCIN |
199 |
C2D1(1) = 0.5*(CAR2H-1.3) |
* |
|
C2D1(2) = CAR2ANGL |
|
|
C2D1(3) = 0. |
|
|
C2D1(4) = 0.5*(CAR2T-.4) |
|
|
C2D1(5) = 0.5*(CAR2D-1.3) |
|
|
C2D1(6) = C2D1(5) |
|
|
C2D1(7) = 0. |
|
|
C2D1(8) = 0.5*(CAR2T-.4) |
|
|
C2D1(9) = 0.5*(CAR2U-1.3) |
|
|
C2D1(10) = C2D1(9) |
|
|
C2D1(11) = 0. |
|
200 |
CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU) |
CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU) |
201 |
* |
* |
|
* Empty volume to be subtracted from C2D1 sheet |
|
202 |
* |
* |
203 |
NMED=MN2 |
* The zenihtal angle of the paddles |
|
BETA=ATAN( |
|
|
+ 2.*C2D1(1)/ |
|
|
+ (C2D1(9)-C2D1(5)+2.*C2D1(1)*TAN(C2D1(2)*3.14/180.)) ) |
|
|
A=3.*3.02 |
|
|
B=3.*3.02 |
|
|
C2N1(1) = 0.5*A*SIN(BETA) |
|
|
C2N1(9) = 0.5*B |
|
|
C2N1(2) = -RADDEG*ATAN( |
|
|
+ (C2N1(9)-2.*C2N1(1)/TAN(BETA))*1./(2.*C2N1(1)) ) |
|
|
C2N1(3) = 0. |
|
|
C2N1(4) = 0.5*(CAR2T) |
|
|
C2N1(5) = 0. |
|
|
C2N1(6) = C2N1(5) |
|
|
C2N1(7) = 0. |
|
|
C2N1(8) = 0.5*(CAR2T) |
|
|
C2N1(10) = C2N1(9) |
|
|
C2N1(11) = 0. |
|
|
CALL GSVOLU('C2N1','TRAP',NMED,C2N1,11,IVOLU) |
|
|
ALPHA=ATAN( |
|
|
+ ABS(A*SIN(BETA)/(B - A*COS(BETA))) ) |
|
|
BETA=3.14-ALPHA |
|
|
|
|
|
A=.6*3.02 |
|
|
B=1.1*3.02 |
|
|
C2N2(1) = ABS(0.5*A*SIN(BETA)) |
|
|
C2N2(9) = 0.5*B |
|
|
C2N2(2) = -(90. - RADDEG* |
|
|
+ ATAN( 2.*C2N2(1) /( C2N2(9) + (2.*C2N2(1)/ABS(TAN(BETA)))) )) |
|
|
C2N2(3) = 0. |
|
|
C2N2(4) = 0.5*CAR2T |
|
|
C2N2(5) = 0. |
|
|
C2N2(6) = C2N2(5) |
|
|
C2N2(7) = 0. |
|
|
C2N2(8) = 0.5*CAR2T |
|
|
C2N2(10) = C2N2(9) |
|
|
C2N2(11) = 0. |
|
|
CALL GSVOLU('C2N2','TRAP',NMED,C2N2,11,IVOLU) |
|
204 |
* |
* |
205 |
|
ANGLCAR2=CARA(3)*DEGRAD !CAR2 inclination |
206 |
|
ANGLCAR1=CARB(3)*DEGRAD !CAR1 inclination |
207 |
|
|
208 |
NMED=MN2 |
NMED=MN2 |
|
CARDB(1)=1.5*CAR2(9) |
|
|
CARDB(2)=1.5*CAR1(9) |
|
|
CARDB(3)=CAR1(1) |
|
209 |
CALL GSVOLU('CARD','BOX ',NMED,CARDB, 3,IVOLU) |
CALL GSVOLU('CARD','BOX ',NMED,CARDB, 3,IVOLU) |
210 |
* |
* |
|
* The zenihtal angle of the paddles |
|
|
* |
|
|
ANGLCAR2=ASIN( 0.5*(CAR1D-(CAR1U-2.*(C1N2(9)+C1N1(9)))) / CAR1H ) |
|
|
ANGLCAR1=ASIN( 0.5*(CAR2D-(CAR2U-2.*(C2N2(9)+C2N1(9)))) / CAR2H ) |
|
|
* |
|
211 |
* Define ANGLCAR rotation around Z axis |
* Define ANGLCAR rotation around Z axis |
212 |
* |
* |
213 |
IRZCAR2=11 |
* CAR1A |
214 |
CALL GSROTM(IRZCAR2,90.,0.,(90.-ANGLCAR2*RADDEG), |
IRZCAR1B=11 |
215 |
+ 90.,(180.-ANGLCAR2*RADDEG),90.) |
CALL GSROTM(IRZCAR1B,90.,0.,(90.-ANGLCAR1*RADDEG), |
216 |
IRZCAR22=12 |
+ 90.,(180.-ANGLCAR1*RADDEG),90.) |
217 |
CALL GSROTM(IRZCAR22,90.,180.,(270.-ANGLCAR2*RADDEG), |
* CAR1B |
218 |
+ 270.,(180.-ANGLCAR2*RADDEG),270.) |
IRZCAR1A=12 |
219 |
IRZCAR1=13 |
CALL GSROTM(IRZCAR1A,90.,180.,(270.-ANGLCAR1*RADDEG), |
220 |
CALL GSROTM(IRZCAR1,90.,270.,(90.-ANGLCAR1*RADDEG), |
+ 270.,(180.-ANGLCAR1*RADDEG),270.) |
221 |
+ 0.,(180.-ANGLCAR1*RADDEG),0.) |
* CAR2A |
222 |
IRZCAR12=14 |
IRZCAR2B=13 |
223 |
CALL GSROTM(IRZCAR12,90.,90.,(90.-ANGLCAR1*RADDEG), |
CALL GSROTM(IRZCAR2B,90.,270.,(90.-ANGLCAR2*RADDEG), |
224 |
+ 180.,(180.-ANGLCAR1*RADDEG),180.) |
+ 0.,(180.-ANGLCAR2*RADDEG),0.) |
225 |
|
* CAR2B |
226 |
|
IRZCAR2A=14 |
227 |
|
CALL GSROTM(IRZCAR2A,90.,90.,(90.-ANGLCAR2*RADDEG), |
228 |
|
+ 180.,(180.-ANGLCAR2*RADDEG),180.) |
229 |
|
|
230 |
* |
* |
231 |
* Positioning in CAR1 |
* Positioning in CAR1 |
232 |
* |
* |
233 |
N=1 |
N=1 |
234 |
X=0 |
X=(ATZ-PT)*(1./COS(ATAN(D1/CAR(1)))- |
235 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
236 |
Y=0 |
Y=0 |
237 |
Z=0 |
Z=0 |
238 |
CALL GSPOS('CR1P',N,'CAR1',X,Y,Z,0,'MANY') |
CALL GSPOS('CR1P',N,'CAR1',X,Y,Z,0,'MANY') |
239 |
N=1 |
N=1 |
|
X=( CAR1(9)+CAR1(1)*TAN(CAR1(2)*DEGRAD) ) - |
|
|
+ (C1N1(9)+C1N1(1)*TAN(C1N1(2)*DEGRAD)) |
|
240 |
Y=0 |
Y=0 |
241 |
Z=CAR1(1)-C1N1(1) |
Z=CAR1(1)-C1N1(1) |
242 |
|
X=CAR1(9)+CAR1(1)*TAN(ANG1C)- |
243 |
|
+ (C1N1(9)-C1N1(1)*TAN(C1N1(2)*DEGRAD)) |
244 |
|
X=-X !ALEX MOD |
245 |
CALL GSPOS('C1N1',N,'CAR1',X,Y,Z,0,'ONLY') |
CALL GSPOS('C1N1',N,'CAR1',X,Y,Z,0,'ONLY') |
246 |
N=1 |
N=1 |
|
X=( CAR1(9)+CAR1(1)*TAN(CAR1(2)*DEGRAD) ) - 2.*C1N1(9) - |
|
|
+ (C1N2(9)+C1N2(1)*TAN(C1N2(2)*DEGRAD)) |
|
247 |
Y=0 |
Y=0 |
248 |
Z=CAR1(1)-C1N2(1) |
Z=CAR1(1)-C1N2(1) |
249 |
|
X=CAR1(9)+CAR1(1)*TAN(ANG1C)- |
250 |
|
+ (2.*C1N1(9)+C1N2(9)-C1N2(1)*TAN(C1N2(2)*DEGRAD)) |
251 |
|
X=-X !ALEX MOD |
252 |
CALL GSPOS('C1N2',N,'CAR1',X,Y,Z,0,'ONLY') |
CALL GSPOS('C1N2',N,'CAR1',X,Y,Z,0,'ONLY') |
253 |
N=1 |
N=1 |
254 |
X=0 |
X=PT*(1./COS(ATAN(D1/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2. |
255 |
Y=0 |
Y=0 |
256 |
Z=0 |
Z=0 |
257 |
CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY') |
CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY') |
259 |
* Positioning in CAR2 |
* Positioning in CAR2 |
260 |
* |
* |
261 |
N=1 |
N=1 |
262 |
X=0 |
X=(ATZ-PT)*(1./COS(ATAN(D2/CAR(1)))- |
263 |
|
+ 1./SIN(DEGRAD*CAR(7)))/2. |
264 |
Y=0 |
Y=0 |
265 |
Z=0 |
Z=0 |
266 |
CALL GSPOS('CR2P',N,'CAR2',X,Y,Z,0,'MANY') |
CALL GSPOS('CR2P',N,'CAR2',X,Y,Z,0,'MANY') |
267 |
N=1 |
N=2 |
|
X=( CAR2(9)+CAR2(1)*TAN(CAR2(2)*DEGRAD) ) - |
|
|
+ (C2N1(9)+C2N1(1)*TAN(C2N1(2)*DEGRAD)) |
|
268 |
Y=0 |
Y=0 |
269 |
Z=CAR2(1)-C2N1(1) |
Z=CAR2(1)-C1N1(1) |
270 |
CALL GSPOS('C2N1',N,'CAR2',X,Y,Z,0,'ONLY') |
X=CAR2(9)+CAR2(1)*TAN(ANG2C)- |
271 |
N=1 |
+ (C1N1(9)-C1N1(1)*TAN(C1N1(2)*DEGRAD)) |
272 |
X=( CAR2(9)+CAR2(1)*TAN(CAR2(2)*DEGRAD) ) - 2.*C2N1(9) - |
X=-X !ALEX MOD |
273 |
+ (C2N2(9)+C2N2(1)*TAN(C2N2(2)*DEGRAD)) |
CALL GSPOS('C1N1',N,'CAR2',X,Y,Z,0,'ONLY') |
274 |
Y=0 |
Y=0 |
275 |
Z=CAR2(1)-C2N2(1) |
Z=CAR2(1)-C1N2(1) |
276 |
CALL GSPOS('C2N2',N,'CAR2',X,Y,Z,0,'ONLY') |
X=CAR2(9)+CAR2(1)*TAN(ANG2C)- |
277 |
|
+ (2.*C1N1(9)+C1N2(9)-C1N2(1)*TAN(C1N2(2)*DEGRAD)) |
278 |
|
X=-X !ALEX MOD |
279 |
|
CALL GSPOS('C1N2',N,'CAR2',X,Y,Z,0,'ONLY') |
280 |
N=1 |
N=1 |
281 |
X=0 |
X=PT*(1./COS(ATAN(D2/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2. |
282 |
Y=0 |
Y=0 |
283 |
Z=0 |
Z=0 |
284 |
CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY') |
CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY') |
285 |
* |
* |
286 |
* Positioning in card |
* Positioning in card |
287 |
* |
* |
288 |
|
* |
289 |
|
* CAR1A |
290 |
|
* CAR2B CAR2A |
291 |
|
* CAR1B |
292 |
|
* |
293 |
|
ZH=49.229-ZTPLA-TPLA(3) |
294 |
|
*--- CAR1B |
295 |
N=1 |
N=1 |
296 |
X=-(C2N1(9) + C2N2(9)) + CAR2(1)*ABS(TAN(CAR2(2)*DEGRAD)) |
Y=-CARB(5)+CAR(8)/2.*SIN(ANGLCAR1) |
297 |
Y=(CAR1(9) - (C1N1(9)+C1N2(9))) |
Z=CARB(6)+ZH-CARDB(3)-CAR(8)*COS(ANGLCAR1)/2. |
298 |
+ + CAR2(1)*ABS(COS(ANGLCAR2*RADDEG)) - 2.*CAR2(4) |
X=((CARB(7)/2.)-TAN(ANG1C)*CAR(8)/2.)-CARB(4) |
299 |
Z=0 |
CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR1B,'ONLY') |
300 |
CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR22,'ONLY') |
*--- CAR1A |
301 |
|
N=2 |
302 |
|
X=-X |
303 |
|
Y=-Y |
304 |
|
CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR1A,'ONLY') |
305 |
|
*--- CAR2A |
306 |
|
N=1 |
307 |
|
X=CARA(4)-CAR(8)/2.*SIN(ANGLCAR2) |
308 |
|
Z=CARA(6)+ZH-CARDB(3)-CAR(8)*COS(ANGLCAR2)/2. |
309 |
|
Y=(CARA(7)/2.-TAN(ANG2C)*CAR(8)/2.)-CARA(5) |
310 |
|
CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR2A,'ONLY') |
311 |
|
*--- CAR2B |
312 |
|
N=2 |
313 |
|
X=-X |
314 |
|
Y=-Y |
315 |
|
CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR2B ,'ONLY') |
316 |
|
c--------------------------------------------------------------- |
317 |
|
* |
318 |
|
* LEGS |
319 |
|
* |
320 |
|
NMED=MAL |
321 |
|
CALL GSVOLU('LEGB','BOX ',NMED,LEGB, 3,IVOLU) |
322 |
|
* |
323 |
|
* empty volumes to be subtracted from LEGB |
324 |
|
NMED=MN2 |
325 |
|
* |
326 |
|
CALL GSVOLU('LEG1','TRAP',NMED,LEG1, 11,IVOLU) |
327 |
|
X=-LEGB(1)+LEG1(1) |
328 |
|
Y=-LEGB(2)+LEG1(4) |
329 |
|
Z=0. |
330 |
|
CALL GSPOS('LEG1',1,'LEGB',X,Y,Z,RY90,'ONLY') |
331 |
|
Y=-LEGB(2)+2.*1.95-LEG1(4) |
332 |
|
CALL GSPOS('LEG1',2,'LEGB',X,Y,Z,RY90,'ONLY') |
333 |
|
* |
334 |
|
CALL GSVOLU('LEG2','BOX ',NMED,LEG2, 3,IVOLU) |
335 |
|
X=-LEGB(1)+LEG2(1) |
336 |
|
Y=-LEGB(2)+1.95 |
337 |
|
Z=0. |
338 |
|
CALL GSPOS('LEG2',1,'LEGB',X,Y,Z,0,'ONLY') |
339 |
|
* |
340 |
|
CALL GSVOLU('LEG3','BOX ',NMED,LEG3, 3,IVOLU) |
341 |
|
X=-LEGB(1)+0.65*2.+LEG3(1)+2./10 |
342 |
|
Y=LEGB(2)-LEG3(2) |
343 |
|
Z=LEGB(3)-LEG3(3) |
344 |
|
CALL GSPOS('LEG3',1,'LEGB',X,Y,Z,0,'ONLY') |
345 |
|
Z=-LEGB(3)+LEG3(3) |
346 |
|
CALL GSPOS('LEG3',2,'LEGB',X,Y,Z,0,'ONLY') |
347 |
|
* |
348 |
|
CALL GSVOLU('LEG4','BOX ',NMED,LEG4, 3,IVOLU) |
349 |
|
X=-LEGB(1)+LEG4(1) |
350 |
|
Y=LEGB(2)-LEG4(2) |
351 |
|
Z=0. |
352 |
|
CALL GSPOS('LEG4',1,'LEGB',X,Y,Z,0,'ONLY') |
353 |
|
* |
354 |
|
CALL GSVOLU('LEG5','BOX ',NMED,LEG5, 3,IVOLU) |
355 |
|
X=LEGB(1)-LEG5(1) |
356 |
|
Y=LEGB(2)-LEG5(2) |
357 |
|
Z=0. |
358 |
|
CALL GSPOS('LEG5',1,'LEGB',X,Y,Z,0,'ONLY') |
359 |
|
* |
360 |
|
CALL GSVOLU('LEG6','BOX ',NMED,LEG6, 3,IVOLU) |
361 |
|
X=-LEGB(1)+0.65*2.+LEG3(1) |
362 |
|
Y=LEGB(2)-LEG6(2) |
363 |
|
Z=0. |
364 |
|
CALL GSPOS('LEG6',1,'LEGB',X,Y,Z,0,'ONLY') |
365 |
|
* |
366 |
|
CALL GSVOLU('LEG7','BOX ',NMED,LEG7, 3,IVOLU) |
367 |
|
X=LEGB(1)-1.125-0.375 |
368 |
|
Y=-LEGB(2)+LEG7(2) |
369 |
|
Z=11.85-.6-LEG7(3) |
370 |
|
CALL GSPOS('LEG7',1,'LEGB',X,Y,Z,0,'ONLY') |
371 |
|
* |
372 |
|
CALL GSVOLU('LEG8','BOX ',NMED,LEG8, 3,IVOLU) |
373 |
|
Z=0. |
374 |
|
CALL GSPOS('LEG8',1,'LEGB',X,Y,Z,0,'ONLY') |
375 |
|
* |
376 |
|
CALL GSVOLU('LEG9','BOX ',NMED,LEG9, 3,IVOLU) |
377 |
|
Z=-(11.85-.6-LEG7(3)) |
378 |
|
CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY') |
379 |
|
* |
380 |
|
* Positioning LEG BOXES in CARD |
381 |
|
* |
382 |
|
N=1 |
383 |
|
X=-CARDB(1)+LEGB(1)+3.8 |
384 |
|
Y=-CARDB(2)+LEGB(2)+0.7 |
385 |
|
Z=-0.5 |
386 |
|
CALL GSPOS('LEGB',N,'CARD',X,Y,Z,0,'MANY') |
387 |
N=2 |
N=2 |
388 |
X=-X + 2.*CAR1(4) |
X=X |
389 |
Y=-Y + 2.*CAR1(4) |
Y=-Y |
390 |
CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR2 ,'ONLY') |
CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RX180,'MANY') |
391 |
|
N=3 |
392 |
|
X=-X |
393 |
|
Y=Y |
394 |
|
CALL GSROTM(RZALEX180,90.,180.,90., |
395 |
|
+ 270.,180.,0.) |
396 |
|
CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RZ180,'MANY') |
397 |
|
N=4 |
398 |
|
X=X |
399 |
|
Y=-Y |
400 |
|
CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RY180,'MANY') |
401 |
|
* |
402 |
|
c--------------------------------------------------------------- |
403 |
|
* |
404 |
|
* CARD TOP PLATE |
405 |
|
* |
406 |
|
* TPLT |
407 |
|
* |
408 |
|
NMED=MAL |
409 |
|
CALL GSVOLU('TPLT','BOX ',NMED,TPLT, 3,IVOLU) |
410 |
|
* |
411 |
|
* Empty volumes to be subtracted from TPLT |
412 |
|
* |
413 |
|
NMED=MN2 |
414 |
|
CALL GSVOLU('TOPC','BOX ',NMED,TOPC, 3,IVOLU) |
415 |
|
* |
416 |
|
CALL GSVOLU('TH11','BOX ',NMED,TH11, 3,IVOLU) |
417 |
|
CALL GSVOLU('TH12','BOX ',NMED,TH12, 3,IVOLU) |
418 |
|
CALL GSVOLU('TH21','BOX ',NMED,TH21, 3,IVOLU) |
419 |
|
CALL GSVOLU('TH22','BOX ',NMED,TH22, 3,IVOLU) |
420 |
|
* |
421 |
|
* XY plane |
422 |
|
CALL GSVOLU('TOPT','TRAP',NMED,TOPT,11,IVOLU) |
423 |
|
* |
424 |
|
CALL GSVOLU('TOHO','TUBE',NMED,TOHO,3,IVOLU) |
425 |
|
|
426 |
|
* |
427 |
|
* Positioning empty volumes... |
428 |
|
* |
429 |
|
* Positioning TOPC in TPLT |
430 |
|
* |
431 |
N=1 |
N=1 |
432 |
Y=(C1N1(9) + C1N2(9)) - CAR1(1)*ABS(TAN(CAR1(2)*DEGRAD)) |
X=0. |
433 |
+ + 2.* CAR2(4) |
Y=0. |
434 |
X=(CAR2(9) - (C2N1(9)+C2N2(9))) |
Z=0. |
435 |
+ + CAR1(1)*ABS(SIN(ANGLCAR1*RADDEG)) + 2.*CAR1(4) |
CALL GSPOS('TOPC',N,'TPLT',X,Y,Z,0,'ONLY') |
436 |
Z=0 |
* |
437 |
CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR12,'ONLY') |
* |
438 |
|
* Positioning H11 in TPLT |
439 |
|
* |
440 |
|
N=1 |
441 |
|
X=-23.6 |
442 |
|
Y=14.4 |
443 |
|
Z=0. |
444 |
|
CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY') |
445 |
|
N=2 |
446 |
|
X=-23.6 |
447 |
|
Y=-14.4 |
448 |
|
CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY') |
449 |
|
N=3 |
450 |
|
X=23.6 |
451 |
|
Y=14.4 |
452 |
|
CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY') |
453 |
|
N=4 |
454 |
|
X=23.6 |
455 |
|
Y=-14.4 |
456 |
|
CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY') |
457 |
|
* |
458 |
|
* Positioning H12 in TPLT |
459 |
|
* |
460 |
|
N=1 |
461 |
|
X=-23.6 |
462 |
|
Y=5.5 |
463 |
|
Z=0. |
464 |
|
CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY') |
465 |
|
N=2 |
466 |
|
X=-23.6 |
467 |
|
Y=-5.5 |
468 |
|
CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY') |
469 |
|
N=3 |
470 |
|
X=23.6 |
471 |
|
Y=5.5 |
472 |
|
CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY') |
473 |
|
N=4 |
474 |
|
X=23.6 |
475 |
|
Y=-5.5 |
476 |
|
CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY') |
477 |
|
* |
478 |
|
* Positioning H21 in TPLT |
479 |
|
* |
480 |
|
N=1 |
481 |
|
X=-17.2 |
482 |
|
Y=19.4 |
483 |
|
Z=0. |
484 |
|
CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY') |
485 |
|
N=2 |
486 |
|
X=-17.2 |
487 |
|
Y=-19.4 |
488 |
|
CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY') |
489 |
|
N=3 |
490 |
|
X=17.2 |
491 |
|
Y=19.4 |
492 |
|
CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY') |
493 |
|
N=4 |
494 |
|
X=17.2 |
495 |
|
Y=-19.4 |
496 |
|
CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY') |
497 |
|
* |
498 |
|
* Positioning H22 in TPLT |
499 |
|
* |
500 |
|
N=1 |
501 |
|
X=-10.2 |
502 |
|
Y=19.4 |
503 |
|
Z=0. |
504 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
505 |
|
N=2 |
506 |
|
X=-10.2 |
507 |
|
Y=-19.4 |
508 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
509 |
|
N=3 |
510 |
|
X=10.2 |
511 |
|
Y=19.4 |
512 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
513 |
|
N=4 |
514 |
|
X=10.2 |
515 |
|
Y=-19.4 |
516 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
517 |
|
N=5 |
518 |
|
X=0. |
519 |
|
Y=19.4 |
520 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
521 |
|
N=6 |
522 |
|
X=0. |
523 |
|
Y=-19.4 |
524 |
|
CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY') |
525 |
|
* |
526 |
|
* Positioning TOPT in TPLT |
527 |
|
* |
528 |
|
N=1 |
529 |
|
X=-CARDB(1)+4.5/4. |
530 |
|
Y=-CARDB(2)+4.5/2. |
531 |
|
Z=0. |
532 |
|
CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,0,'ONLY') |
533 |
|
N=2 |
534 |
|
X=X |
535 |
|
Y=-Y |
536 |
|
CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RX180,'ONLY') |
537 |
|
N=3 |
538 |
|
X=-X |
539 |
|
Y=Y |
540 |
|
CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RZ180,'ONLY') |
541 |
|
N=4 |
542 |
|
X=X |
543 |
|
Y=-Y |
544 |
|
CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RY180,'ONLY') |
545 |
|
* |
546 |
|
* Positioning TOHO in TPLT |
547 |
|
* |
548 |
|
N=1 |
549 |
|
X=TPLT(1)-6.2-TOHO(1) |
550 |
|
Y=TPLT(2)-4.1-TOHO(2) |
551 |
|
CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY') |
552 |
N=2 |
N=2 |
553 |
Y=-Y + 2.* CAR2(4) |
X=-X |
554 |
X=-X + 2.* CAR2(4) |
Y=Y |
555 |
CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR1,'ONLY') |
CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY') |
556 |
|
N=3 |
557 |
|
X=X |
558 |
|
Y=-Y |
559 |
|
CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY') |
560 |
|
N=4 |
561 |
|
X=-X |
562 |
|
Y=Y |
563 |
|
CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY') |
564 |
|
* |
565 |
|
* Positioning TPLT in CARD volume |
566 |
|
* |
567 |
|
N=1 |
568 |
|
X=0. |
569 |
|
Y=0. |
570 |
|
Z=CARDB(3)-TPLT(3) |
571 |
|
CALL GSPOS('TPLT',N,'CARD',X,Y,Z,0,'ONLY') |
572 |
|
C--------------------------------------------------------------- |
573 |
|
* |
574 |
|
* MAGNETIC SCREEN |
575 |
|
* |
576 |
|
NMED=10 |
577 |
|
CALL GSVOLU('MGSC','BOX ',NMED,MGSC, 3,IVOLU) |
578 |
|
* Empty volume to be subtracted from MGSC |
579 |
|
NMED=MN2 |
580 |
|
CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU) |
581 |
|
|
582 |
|
* |
583 |
|
* Positioning in CARD... |
584 |
|
* |
585 |
|
N=1 |
586 |
|
X=0. |
587 |
|
Y=0. |
588 |
|
Z=0. |
589 |
|
CALL GSPOS('MGSH',N,'MGSC',X,Y,Z,0,'ONLY') |
590 |
|
Z=-CARDB(3)+MGSC(3) |
591 |
|
CALL GSPOS('MGSC',N,'CARD',X,Y,Z,0,'ONLY') |
592 |
|
c--------------------------------------------------------------- |
593 |
RETURN |
RETURN |
594 |
END |
END |