/[PAMELA software]/gpamela/gpcard/gpcardv.F
ViewVC logotype

Diff of /gpamela/gpcard/gpcardv.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by cafagna, Thu Nov 30 12:29:04 2006 UTC revision 1.3 by cafagna, Sun Dec 17 14:53:05 2006 UTC
# Line 14  Line 14 
14  #include "gprot.inc"  #include "gprot.inc"
15        INTEGER IROT,IVOLU,N,NMED,NUM,I        INTEGER IROT,IVOLU,N,NMED,NUM,I
16        REAL X,Y,Z        REAL X,Y,Z
       REAL CAR1(11),CR1P(11)  
       REAL C1D1(11),C2D1(11)  
       REAL CAR2(11),CR2P(11)  
       REAL C1N1(11),C1N2(11)  
17        REAL ANGLCAR1,ANGLCAR2        REAL ANGLCAR1,ANGLCAR2
18        REAL H1,H2        REAL H1,H2
19        REAL A1,B1,C1,D1,F1,ANG1C        REAL A1,B1,C1,D1,F1,ANG1C
20        REAL A2,B2,C2,D2,F2,ANG2C        REAL A2,B2,C2,D2,F2,ANG2C
21        REAL AA, BB,ZH        REAL AA,BB,DD,ZH
22  *  *
 * Scint sheets  
 *        
23        H1=CAR(2)+CAR(3)        H1=CAR(2)+CAR(3)
24        H2=CAR(1)-H1        H2=CAR(1)-H1
25  *  *
26  * Greater Scintillator CAR1 (type B)  * Greater Scintillator CAR1 (or type B)
27  *            *          
28        B1=CARB(2)+CAR(4)+CAR(5)+H1/TAN(CAR(7)*DEGRAD)        B1=CARB(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
29        C1=H2/TAN(CAR(7)*DEGRAD)        C1=H2/TAN(DEGRAD*CAR(7))
30        A1=CARB(1)-C1        A1=CARB(1)-C1
31        D1=CARB(1)-CARB(2)-CAR(4)-CAR(5)        D1=CARB(1)-CARB(2)-CAR(4)-CAR(5)
32        F1=C1+H1/TAN(CAR(7)*DEGRAD)        F1=C1+H1/TAN(DEGRAD*CAR(7))
33        ANG1C=ATAN((B1/2.+D1-A1/2.)/CAR(1))        ANG1C=ATAN((B1/2.+D1-A1/2.)/CAR(1))
34                
35        C1D1(1) = CAR(1)/2.        C1D1(1) = CAR(1)/2.
# Line 49  Line 43 
43        C1D1(9) = B1/2.        C1D1(9) = B1/2.
44        C1D1(10) = B1/2.        C1D1(10) = B1/2.
45        C1D1(11) = 0.        C1D1(11) = 0.
46          
47          NMED=MSCIN
48          CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU)
49  *        *      
50  * Smaller Scintillator CAR2 (type A)  * Smaller Scintillator CAR2 (or type A)
51  *            *          
52        B2=CARA(2)+CAR(4)+CAR(5)+H1/TAN(CAR(7)*DEGRAD)        B2=CARA(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
53        C2=H2/TAN(CAR(7)*DEGRAD)        C2=H2/TAN(DEGRAD*CAR(7))
54        A2=CARA(1)-C2        A2=CARA(1)-C2
55        D2=CARA(1)-CARA(2)-CAR(4)-CAR(5)        D2=CARA(1)-CARA(2)-CAR(4)-CAR(5)
56        F2=C2+H1/TAN(CAR(7)*DEGRAD)        F2=C2+H1/TAN(DEGRAD*CAR(7))
57        ANG2C=ATAN((B2/2.+D2-A2/2.)/CAR(1))        ANG2C=ATAN((B2/2.+D2-A2/2.)/CAR(1))
58    
59        C2D1(1) = CAR(1)/2.        C2D1(1) = CAR(1)/2.
# Line 71  Line 67 
67        C2D1(9) = B2/2.        C2D1(9) = B2/2.
68        C2D1(10) = B2/2.        C2D1(10) = B2/2.
69        C2D1(11) = 0.        C2D1(11) = 0.
70    
71          NMED=MSCIN
72          CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU)
73  *  *
74  * CAR1 Al box sheet  * CAR1 Al box sheet
75  *  *
76        NMED=MAL        BB=C1D1(9)+ATZ*(1./COS(ATAN(D1/CAR(1)))-
77               +               D1/CAR(1)+1./TAN(DEGRAD*CAR(7))+
78         +                       1./SIN(DEGRAD*CAR(7)))/2.
79          AA=C1D1(5)+ATZ*(1./COS(ATAN(D1/CAR(1)))+
80         +               D1/CAR(1)-1./TAN(DEGRAD*CAR(7))+
81         +                       1./SIN(DEGRAD*CAR(7)))/2.
82        CAR1(1) = C1D1(1)+ATZ        CAR1(1) = C1D1(1)+ATZ
83        CAR1(2) = C1D1(2)        DD=2.*CAR1(1)*D1/CAR(1)
84          CAR1(2) = -RADDEG*ATAN((BB+DD-AA)/(2.*CAR1(1)))
85        CAR1(3) = 0.        CAR1(3) = 0.
86        CAR1(4) = C1D1(4)+ATY        CAR1(4) = C1D1(4)+ATY
87        CAR1(5) = C1D1(5)+ATZ*(1./COS(ATAN(D1/CAR(1)))+        CAR1(5) = AA
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
88        CAR1(6) = CAR1(5)        CAR1(6) = CAR1(5)
89        CAR1(7) = 0.        CAR1(7) = 0.
90        CAR1(8) = C1D1(8)+ATY        CAR1(8) = C1D1(8)+ATY
91        CAR1(9) = C1D1(9)+ATZ*(1./COS(ATAN(D1/CAR(1)))+        CAR1(9) = BB
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
92        CAR1(10) = CAR1(9)        CAR1(10) = CAR1(9)
93        CAR1(11) = 0.        CAR1(11) = 0.
94    
95          NMED=MAL
96        CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU)        CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU)
97  *  *
98  * CR1P PLASTIC BOX TO CREATE RIM  * CR1P PLASTIC BOX TO CREATE RIM
99  *  *
100        NMED=MPLAS        BB=C1D1(9)+PT*(1./COS(ATAN(D1/CAR(1)))-
101               +              D1/CAR(1)+1./TAN(DEGRAD*CAR(7))+
102         +                       1./SIN(DEGRAD*CAR(7)))/2.
103          AA=C1D1(5)+PT*(1./COS(ATAN(D1/CAR(1)))+
104         +              D1/CAR(1)-1./TAN(DEGRAD*CAR(7))+
105         +                       1./SIN(DEGRAD*CAR(7)))/2.
106        CR1P(1) = C1D1(1)+PT        CR1P(1) = C1D1(1)+PT
107        CR1P(2) = C1D1(2)        DD=2.*CR1P(1)*D1/CAR(1)
108          CR1P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR1P(1)))
109        CR1P(3) = 0.        CR1P(3) = 0.
110        CR1P(4) = C1D1(4)        CR1P(4) = C1D1(4)
111        CR1P(5) = C1D1(5)+PT*(1./COS(ATAN(D1/CAR(1)))+        CR1P(5) = AA
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
112        CR1P(6) = CR1P(5)        CR1P(6) = CR1P(5)
113        CR1P(7) = 0.        CR1P(7) = 0.
114        CR1P(8) = C1D1(8)        CR1P(8) = C1D1(8)
115        CR1P(9) = C1D1(9)+PT*(1./COS(ATAN(D1/CAR(1)))+        CR1P(9) = BB
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
116        CR1P(10) = CR1P(9)        CR1P(10) = CR1P(9)
117        CR1P(11) = 0.        CR1P(11) = 0.
         
       CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU)  
 *  
       NMED=MSCIN  
 *  
       CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU)  
 *  
 * Empty volume to be subtracted from C1D1 and C2D1 sheets  
 *  
       NMED=MN2  
         
       AA=(ATZ/SIN(DEGRAD*CAR(7)))/(1./TAN(CAR(7)*DEGRAD)+CAR(4)/CAR(2))  
       AA=CAR(2)+CAR(3)+ATZ+AA  
       BB=AA/TAN(CAR(7)*DEGRAD)+AA*CAR(4)/CAR(2)  
               
       C1N1(1) = 0.5*AA  
       C1N1(2) = RADDEG*ATAN((BB/2.-AA/TAN(CAR(7)*DEGRAD))/AA)  
       C1N1(3) = 0.  
       C1N1(4) = CAR1(4)  
       C1N1(5) = 0.  
       C1N1(6) = C1N1(5)  
       C1N1(7) = 0.  
       C1N1(8) = CAR1(8)  
       C1N1(9) = 0.5*BB  
       C1N1(10) = C1N1(9)  
       C1N1(11) = 0.  
         
       CALL GSVOLU('C1N1','TRAP',NMED,C1N1,11,IVOLU)  
118    
119        AA=CAR(3) + ATZ        NMED=MPLAS
120        BB=(ATZ+CAR(3))*(CAR(5)/CAR(3)-CAR(4)/CAR(2))        CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU)
   
       C1N2(1) = 0.5*AA  
       C1N2(2) = RADDEG*ATAN((BB/2.+(CAR(3)+ATZ)*CAR(4)/CAR(2))/AA)  
       C1N2(3) = 0.  
       C1N2(4) = CAR1(4)  
       C1N2(5) = 0.  
       C1N2(6) = C1N2(5)  
       C1N2(7) = 0.  
       C1N2(8) = CAR1(8)  
       C1N2(9) = 0.5*BB  
       C1N2(10) = C1N2(9)  
       C1N2(11) = 0.  
         
       CALL GSVOLU('C1N2','TRAP',NMED,C1N2,11,IVOLU)  
121  *  *
122  * CAR2 Al box sheet  * CAR2 Al box sheet
123  *  *
124        NMED=MAL        BB=C2D1(9)+ATZ*(1./COS(ATAN(D2/CAR(1)))-
125               +               D2/CAR(1)+1./TAN(DEGRAD*CAR(7))+
126        CAR2(1) = C2D1(1)+ATZ       +                       1./SIN(DEGRAD*CAR(7)))/2.
127        CAR2(2) = C2D1(2)        AA=C2D1(5)+ATZ*(1./COS(ATAN(D2/CAR(1)))+
128         +               D2/CAR(1)-1./TAN(DEGRAD*CAR(7))+
129         +                       1./SIN(DEGRAD*CAR(7)))/2.
130          CAR2(1) = C1D1(1)+ATZ
131          DD=2.*CAR2(1)*D2/CAR(1)
132          CAR2(2) = -RADDEG*ATAN((BB+DD-AA)/(2.*CAR2(1)))
133        CAR2(3) = 0.        CAR2(3) = 0.
134        CAR2(4) = C2D1(4)+ATY        CAR2(4) = C2D1(4)+ATY
135        CAR2(5) = C2D1(5)+ATZ*(1./COS(ATAN(D2/CAR(1)))+        CAR2(5) = AA
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
136        CAR2(6) = CAR2(5)        CAR2(6) = CAR2(5)
137        CAR2(7) = 0.        CAR2(7) = 0.
138        CAR2(8) = C2D1(8)+ATY        CAR2(8) = C2D1(8)+ATY
139        CAR2(9) = C2D1(9)+ATZ*(1./COS(ATAN(D2/CAR(1)))+        CAR2(9) = BB
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
140        CAR2(10) = CAR2(9)        CAR2(10) = CAR2(9)
141        CAR2(11) = 0.        CAR2(11) = 0.
142                            
143          NMED=MAL
144        CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU)        CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU)
145  *  *
146  * CR1P PLASTIC BOX TO CREATE RIM  * CR1P PLASTIC BOX TO CREATE RIM
147  *  *
148        NMED=MPLAS        BB=C2D1(9)+PT*(1./COS(ATAN(D2/CAR(1)))-
149         +              D2/CAR(1)+1./TAN(DEGRAD*CAR(7))+
150         +                       1./SIN(DEGRAD*CAR(7)))/2.
151          AA=C2D1(5)+PT*(1./COS(ATAN(D2/CAR(1)))+
152         +              D2/CAR(1)-1./TAN(DEGRAD*CAR(7))+
153         +                       1./SIN(DEGRAD*CAR(7)))/2.
154        CR2P(1) = C2D1(1)+PT        CR2P(1) = C2D1(1)+PT
155        CR2P(2) = C2D1(2)        DD=2.*CR2P(1)*D2/CAR(1)
156          CR2P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR2P(1)))
157        CR2P(3) = 0.        CR2P(3) = 0.
158        CR2P(4) = C2D1(4)        CR2P(4) = C2D1(4)
159        CR2P(5) = C2D1(5)+PT*(1./COS(ATAN(D2/CAR(1)))+        CR2P(5) = AA
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
160        CR2P(6) = CR2P(5)        CR2P(6) = CR2P(5)
161        CR2P(7) = 0.        CR2P(7) = 0.
162        CR2P(8) = C2D1(8)        CR2P(8) = C2D1(8)
163        CR2P(9) = C2D1(9)+PT*(1./COS(ATAN(D2/CAR(1)))+        CR2P(9) = BB
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
164        CR2P(10) = CR2P(9)        CR2P(10) = CR2P(9)
165        CR2P(11) = 0.        CR2P(11) = 0.
166          
167          NMED=MPLAS      
168        CALL GSVOLU('CR2P','TRAP',NMED,CR2P,11,IVOLU)        CALL GSVOLU('CR2P','TRAP',NMED,CR2P,11,IVOLU)
169  *  *
170        NMED=MSCIN  *  Volumes to be subtracted from C1D1 and C2D1
 *      
       CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU)  
171  *  *
172          AA=CAR(2)+CAR(3)
173          BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
174        
175          VSN1(1) = 0.5*AA
176          VSN1(2) = RADDEG*ATAN((BB/2.-AA/TAN(DEGRAD*CAR(7)))/AA)
177          VSN1(3) = 0.
178          VSN1(4) = C1D1(4)
179          VSN1(5) = 0.
180          VSN1(6) = VSN1(5)
181          VSN1(7) = 0.
182          VSN1(8) = C1D1(8)
183          VSN1(9) = 0.5*BB
184          VSN1(10) = VSN1(9)
185          VSN1(11) = 0.
186    
187          AA=CAR(3)
188          BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
189        
190          VSN2(1) = 0.5*AA
191          VSN2(2) = RADDEG*ATAN((BB/2.+(AA)*CAR(4)/CAR(2))/AA)
192          VSN2(3) = 0.
193          VSN2(4) = C1D1(4)
194          VSN2(5) = 0.
195          VSN2(6) = VSN2(5)
196          VSN2(7) = 0.
197          VSN2(8) = C1D1(8)
198          VSN2(9) = 0.5*BB
199          VSN2(10) = VSN2(9)
200          VSN2(11) = 0.
201    
202          NMED=MN2
203          CALL GSVOLU('VSN1','TRAP',NMED,VSN1,11,IVOLU)
204          NMED=MPLAS
205          CALL GSVOLU('VSN2','TRAP',NMED,VSN2,11,IVOLU)
206    *
207    *  Volumes to be subtracted from CR1P and CR2P
208    *
209          AA=(PT/SIN(DEGRAD*CAR(7)))/(1./TAN(DEGRAD*CAR(7))+
210         +    CAR(4)/CAR(2))+CAR(2)+CAR(3)+PT
211          BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
212      
213          VPN1(1) = 0.5*AA
214          VPN1(2) = VSN1(2)
215          VPN1(3) = 0.
216          VPN1(4) = CR1P(4)
217          VPN1(5) = 0.
218          VPN1(6) = VPN1(5)
219          VPN1(7) = 0.
220          VPN1(8) = CR1P(8)
221          VPN1(9) = 0.5*BB
222          VPN1(10) = VPN1(9)
223          VPN1(11) = 0.
224          
225          AA=CAR(3) + PT -
226         +    COS(ATAN(CAR(4)/CAR(2)))*PT/SIN(ATAN(CAR(5)/CAR(3))-
227         +    ATAN(CAR(4)/CAR(2)))
228          BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
229        
230          VPN2(1) = 0.5*AA
231          VPN2(2) = RADDEG*ATAN((BB/2.+AA*CAR(4)/CAR(2))/AA)
232          VPN2(3) = 0.
233          VPN2(4) = CAR1(4)
234          VPN2(5) = 0.
235          VPN2(6) = VPN2(5)
236          VPN2(7) = 0.
237          VPN2(8) = CAR1(8)
238          VPN2(9) = 0.5*BB
239          VPN2(10) = VPN2(9)
240          VPN2(11) = 0.
241    
242          NMED=MAL
243          CALL GSVOLU('VPN2','TRAP',NMED,VPN2,11,IVOLU)
244          NMED=MN2
245          CALL GSVOLU('VPN1','TRAP',NMED,VPN1,11,IVOLU)
246    *
247    *  Volumes to be subtracted from CAR1 and CAR2
248    *
249          AA=(ATZ/SIN(DEGRAD*CAR(7)))/(1./TAN(DEGRAD*CAR(7))+
250         +    CAR(4)/CAR(2))+CAR(2)+CAR(3)+ATZ
251          BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
252        
253          VAN1(1) = 0.5*AA
254          VAN1(2) = VSN1(2)
255          VAN1(3) = 0.
256          VAN1(4) = CAR1(4)
257          VAN1(5) = 0.
258          VAN1(6) = VAN1(5)
259          VAN1(7) = 0.
260          VAN1(8) = CAR1(8)
261          VAN1(9) = 0.5*BB
262          VAN1(10) = VAN1(9)
263          VAN1(11) = 0.
264    
265          AA=CAR(3) + ATZ -
266         +    COS(ATAN(CAR(4)/CAR(2)))*ATZ/SIN(ATAN(CAR(5)/CAR(3))-
267         +    ATAN(CAR(4)/CAR(2)))
268          BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
269        
270          VAN2(1) = 0.5*AA
271          VAN2(2) = RADDEG*ATAN((BB/2.+(AA)*CAR(4)/CAR(2))/AA)
272          VAN2(3) = 0.
273          VAN2(4) = CAR1(4)
274          VAN2(5) = 0.
275          VAN2(6) = VAN2(5)
276          VAN2(7) = 0.
277          VAN2(8) = CAR1(8)
278          VAN2(9) = 0.5*BB
279          VAN2(10) = VAN2(9)
280          VAN2(11) = 0.
281    
282          NMED=MN2    
283          CALL GSVOLU('VAN1','TRAP',NMED,VAN1,11,IVOLU)
284          CALL GSVOLU('VAN2','TRAP',NMED,VAN2,11,IVOLU)
285  *  *
286  * The zenihtal angle of the paddles  * The zenihtal angle of the paddles
287  *  *
# Line 231  Line 314 
314  * Positioning in CAR1  * Positioning in CAR1
315  *  *
316        N=1        N=1
       X=(ATZ-PT)*(1./COS(ATAN(D1/CAR(1)))-  
      +                       1./SIN(DEGRAD*CAR(7)))/2.  
317        Y=0        Y=0
318        Z=0        Z=C1D1(1)-VSN1(1)
319        CALL GSPOS('CR1P',N,'CAR1',X,Y,Z,0,'MANY')        X=-(C1D1(9)+C1D1(1)*TAN(ANG1C)-
320         +     (VSN1(9)-VSN1(1)*TAN(VSN1(2)*DEGRAD)))
321          CALL GSPOS('VSN1',N,'C1D1',X,Y,Z,0,'ONLY')
322    *
323        N=1        N=1
324        Y=0        Y=0
325        Z=CAR1(1)-C1N1(1)        Z=CR1P(1)-VPN1(1)
326        X=CAR1(9)+CAR1(1)*TAN(ANG1C)-        X=-(CR1P(9)-CR1P(1)*TAN(CR1P(2)*DEGRAD)-
327       +     (C1N1(9)-C1N1(1)*TAN(C1N1(2)*DEGRAD))       +     (VPN1(9)-VPN1(1)*TAN(VPN1(2)*DEGRAD)))
328        X=-X !ALEX MOD        CALL GSPOS('VPN1',N,'CR1P',X,Y,Z,0,'ONLY')
329        CALL GSPOS('C1N1',N,'CAR1',X,Y,Z,0,'ONLY')  *
330        N=1        N=1
331        Y=0        Y=0
332        Z=CAR1(1)-C1N2(1)        Z=CAR1(1)-VAN1(1)
333        X=CAR1(9)+CAR1(1)*TAN(ANG1C)-        X=-(CAR1(9)-CAR1(1)*TAN(CAR1(2)*DEGRAD)-
334       +     (2.*C1N1(9)+C1N2(9)-C1N2(1)*TAN(C1N2(2)*DEGRAD))       +     (VAN1(9)-VAN1(1)*TAN(VAN1(2)*DEGRAD)))
335        X=-X !ALEX MOD        CALL GSPOS('VAN1',N,'CAR1',X,Y,Z,0,'ONLY')
336        CALL GSPOS('C1N2',N,'CAR1',X,Y,Z,0,'ONLY')  *
337          N=1
338          Y=0
339          Z=C1D1(1)-VSN2(1)
340          X=-(C1D1(9)+C1D1(1)*TAN(ANG1C)-
341         +     (2.*VSN1(9)+VSN2(9)-VSN2(1)*TAN(VSN2(2)*DEGRAD)))
342          CALL GSPOS('VSN2',N,'C1D1',X,Y,Z,0,'ONLY')
343    *
344          N=1
345          Y=0
346          Z=CR1P(1)-VPN2(1)
347          X=-(CR1P(9)-CR1P(1)*TAN(CR1P(2)*DEGRAD)-
348         +     (2.*VPN1(9)+VPN2(9)-VPN2(1)*TAN(VPN2(2)*DEGRAD)))
349          CALL GSPOS('VPN2',N,'CR1P',X,Y,Z,0,'ONLY')
350    *
351        N=1        N=1
352        X=PT*(1./COS(ATAN(D1/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2.        Y=0
353          Z=CAR1(1)-VAN2(1)
354          X=-(CAR1(9)-CAR1(1)*TAN(CAR1(2)*DEGRAD)-
355         +     (2.*VAN1(9)+VAN2(9)-VAN2(1)*TAN(VAN2(2)*DEGRAD)))
356          CALL GSPOS('VAN2',N,'CAR1',X,Y,Z,0,'ONLY')
357    *  
358          N=1
359          X=PT*(1./COS(ATAN(D1/CAR(1)))-
360         +    (1./SIN(DEGRAD*CAR(7))))/2.
361        Y=0        Y=0
362        Z=0        Z=0
363        CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY')        CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY')
364  *  *
 * Positioning in CAR2  
 *  
365        N=1        N=1
366        X=(ATZ-PT)*(1./COS(ATAN(D2/CAR(1)))-        X=(ATZ-PT)*(1./COS(ATAN(D1/CAR(1)))-
367       +                       1./SIN(DEGRAD*CAR(7)))/2.       +    (1./SIN(DEGRAD*CAR(7))))/2.
368        Y=0        Y=0
369        Z=0        Z=0
370        CALL GSPOS('CR2P',N,'CAR2',X,Y,Z,0,'MANY')        CALL GSPOS('CR1P',N,'CAR1',X,Y,Z,0,'ONLY')
371    *
372    * Positioning in CAR2
373    *
374          N=2
375          Y=0
376          Z=C2D1(1)-VSN1(1)
377          X=-(C2D1(9)+C2D1(1)*TAN(ANG2C)-
378         +     (VSN1(9)-VSN1(1)*TAN(VSN1(2)*DEGRAD)))
379          CALL GSPOS('VSN1',N,'C2D1',X,Y,Z,0,'ONLY')
380    *
381          N=2
382          Y=0
383          Z=CR2P(1)-VPN1(1)
384          X=-(CR2P(9)+CR2P(1)*TAN(ANG2C)-
385         +     (VPN1(9)-VPN1(1)*TAN(VPN1(2)*DEGRAD)))
386          CALL GSPOS('VPN1',N,'CR2P',X,Y,Z,0,'ONLY')
387    *
388          N=2
389          Y=0
390          Z=CAR2(1)-VAN1(1)
391          X=-(CAR2(9)-CAR2(1)*TAN(CAR2(2)*DEGRAD)-
392         +     (VAN1(9)-VAN1(1)*TAN(VAN1(2)*DEGRAD)))
393          CALL GSPOS('VAN1',N,'CAR2',X,Y,Z,0,'ONLY')
394    *
395          N=2
396          Y=0
397          Z=C2D1(1)-VSN2(1)
398          X=-(C2D1(9)+C2D1(1)*TAN(ANG2C)-
399         +   (2.*VSN1(9)+VSN2(9)-VSN2(1)*TAN(VSN2(2)*DEGRAD)))
400          CALL GSPOS('VSN2',N,'C2D1',X,Y,Z,0,'ONLY')
401    *
402          N=2
403          Y=0
404          Z=CR2P(1)-VPN2(1)
405          X=-(CR2P(9)-CR2P(1)*TAN(CR2P(2)*DEGRAD)-
406         +   (2.*VPN1(9)+VPN2(9)-VPN2(1)*TAN(VPN2(2)*DEGRAD)))
407          CALL GSPOS('VPN2',N,'CR2P',X,Y,Z,0,'ONLY')
408    *
409        N=2        N=2
410        Y=0        Y=0
411        Z=CAR2(1)-C1N1(1)        Z=CAR2(1)-VAN2(1)
412        X=CAR2(9)+CAR2(1)*TAN(ANG2C)-        X=-(CAR2(9)-CAR2(1)*TAN(CAR2(2)*DEGRAD)-
413       +     (C1N1(9)-C1N1(1)*TAN(C1N1(2)*DEGRAD))       +   (2.*VAN1(9)+VAN2(9)-VAN2(1)*TAN(VAN2(2)*DEGRAD)))
414        X=-X !ALEX MOD        CALL GSPOS('VAN2',N,'CAR2',X,Y,Z,0,'ONLY')
415        CALL GSPOS('C1N1',N,'CAR2',X,Y,Z,0,'ONLY')  *  
       Y=0  
       Z=CAR2(1)-C1N2(1)  
       X=CAR2(9)+CAR2(1)*TAN(ANG2C)-  
      +     (2.*C1N1(9)+C1N2(9)-C1N2(1)*TAN(C1N2(2)*DEGRAD))  
       X=-X !ALEX MOD  
       CALL GSPOS('C1N2',N,'CAR2',X,Y,Z,0,'ONLY')  
416        N=1        N=1
417        X=PT*(1./COS(ATAN(D2/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2.        X=PT*(1./COS(ATAN(D2/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2.
418        Y=0        Y=0
419        Z=0        Z=0
420        CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY')        CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY')
421  *  *
422          N=1
423          X=(ATZ-PT)*(1./COS(ATAN(D2/CAR(1)))-
424         +                       1./SIN(DEGRAD*CAR(7)))/2.
425          Y=0
426          Z=0
427          CALL GSPOS('CR2P',N,'CAR2',X,Y,Z,0,'ONLY')
428    *
429  * Positioning in card  * Positioning in card
430  *  *
431  *  *
# Line 321  c--------------------------------------- Line 464  c---------------------------------------
464        CALL GSVOLU('LEGB','BOX ',NMED,LEGB, 3,IVOLU)        CALL GSVOLU('LEGB','BOX ',NMED,LEGB, 3,IVOLU)
465  *  *
466  *     empty volumes to be subtracted from LEGB        *     empty volumes to be subtracted from LEGB      
       NMED=MN2  
467  *  *
468          NMED=MN2
469        CALL GSVOLU('LEG1','TRAP',NMED,LEG1, 11,IVOLU)                    CALL GSVOLU('LEG1','TRAP',NMED,LEG1, 11,IVOLU)            
470        X=-LEGB(1)+LEG1(1)        X=-LEGB(1)+LEG1(1)
471        Y=-LEGB(2)+LEG1(4)        Y=-LEGB(2)+LEG1(4)
472        Z=0.        Z=0.
473        CALL GSPOS('LEG1',1,'LEGB',X,Y,Z,RY90,'ONLY')              CALL GSPOS('LEG1',1,'LEGB',X,Y,Z,RY90,'ONLY')      
474        Y=-LEGB(2)+2.*1.95-LEG1(4)        Y=-LEGB(2)+2.*LEGP(1)-LEG1(4)
475        CALL GSPOS('LEG1',2,'LEGB',X,Y,Z,RY90,'ONLY')              CALL GSPOS('LEG1',2,'LEGB',X,Y,Z,RY90,'ONLY')      
476  *        *      
477        CALL GSVOLU('LEG2','BOX ',NMED,LEG2, 3,IVOLU)              CALL GSVOLU('LEG2','BOX ',NMED,LEG2, 3,IVOLU)      
478        X=-LEGB(1)+LEG2(1)        X=-LEGB(1)+LEG2(1)
479        Y=-LEGB(2)+1.95        Y=-LEGB(2)+LEGP(1)
480        Z=0.        Z=0.
481        CALL GSPOS('LEG2',1,'LEGB',X,Y,Z,0,'ONLY')        CALL GSPOS('LEG2',1,'LEGB',X,Y,Z,0,'ONLY')
482  *  *
483        CALL GSVOLU('LEG3','BOX ',NMED,LEG3, 3,IVOLU)              CALL GSVOLU('LEG3','BOX ',NMED,LEG3, 3,IVOLU)      
484        X=-LEGB(1)+0.65*2.+LEG3(1)+2./10        X=-LEGB(1)+LEGP(2)*2.+LEG3(1)+0.2
485        Y=LEGB(2)-LEG3(2)        Y=LEGB(2)-LEG3(2)
486        Z=LEGB(3)-LEG3(3)        Z=LEGB(3)-LEG3(3)
487        CALL GSPOS('LEG3',1,'LEGB',X,Y,Z,0,'ONLY')        CALL GSPOS('LEG3',1,'LEGB',X,Y,Z,0,'ONLY')
# Line 358  c--------------------------------------- Line 501  c---------------------------------------
501        CALL GSPOS('LEG5',1,'LEGB',X,Y,Z,0,'ONLY')        CALL GSPOS('LEG5',1,'LEGB',X,Y,Z,0,'ONLY')
502  *  *
503        CALL GSVOLU('LEG6','BOX ',NMED,LEG6, 3,IVOLU)              CALL GSVOLU('LEG6','BOX ',NMED,LEG6, 3,IVOLU)      
504        X=-LEGB(1)+0.65*2.+LEG3(1)        X=-LEGB(1)+LEGP(2)*2.+LEG3(1)
505        Y=LEGB(2)-LEG6(2)        Y=LEGB(2)-LEG6(2)
506        Z=0.        Z=0.
507        CALL GSPOS('LEG6',1,'LEGB',X,Y,Z,0,'ONLY')              CALL GSPOS('LEG6',1,'LEGB',X,Y,Z,0,'ONLY')      
508  *  *
509        CALL GSVOLU('LEG7','BOX ',NMED,LEG7, 3,IVOLU)              CALL GSVOLU('LEG7','BOX ',NMED,LEG7, 3,IVOLU)      
510        X=LEGB(1)-1.125-0.375        X=LEGB(1)-LEGP(3)-LEGP(4)
511        Y=-LEGB(2)+LEG7(2)        Y=-LEGB(2)+LEG7(2)
512        Z=11.85-.6-LEG7(3)        Z=LEGP(5)-LEGP(8)-LEG7(3)
513        CALL GSPOS('LEG7',1,'LEGB',X,Y,Z,0,'ONLY')              CALL GSPOS('LEG7',1,'LEGB',X,Y,Z,0,'ONLY')      
514  *  *
515        CALL GSVOLU('LEG8','BOX ',NMED,LEG8, 3,IVOLU)              CALL GSVOLU('LEG8','BOX ',NMED,LEG8, 3,IVOLU)      
# Line 374  c--------------------------------------- Line 517  c---------------------------------------
517        CALL GSPOS('LEG8',1,'LEGB',X,Y,Z,0,'ONLY')              CALL GSPOS('LEG8',1,'LEGB',X,Y,Z,0,'ONLY')      
518  *  *
519        CALL GSVOLU('LEG9','BOX ',NMED,LEG9, 3,IVOLU)              CALL GSVOLU('LEG9','BOX ',NMED,LEG9, 3,IVOLU)      
520        Z=-(11.85-.6-LEG7(3))        Z=-(LEGP(5)-LEGP(8)-LEG7(3))
521        CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY')              CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY')      
522  *  *
523  *     Positioning LEG BOXES in CARD  *     Positioning LEG BOXES in CARD
524  *  *
525        N=1        N=1
526        X=-CARDB(1)+LEGB(1)+3.8        X=-CARDB(1)+LEGB(1)+LEGP(6)
527        Y=-CARDB(2)+LEGB(2)+0.7        Y=-CARDB(2)+LEGB(2)+LEGP(7)
528        Z=-0.5        Z=-0.5
529        CALL GSPOS('LEGB',N,'CARD',X,Y,Z,0,'MANY')        CALL GSPOS('LEGB',N,'CARD',X,Y,Z,0,'MANY')
530        N=2        N=2
# Line 418  c--------------------------------------- Line 561  c---------------------------------------
561        CALL GSVOLU('TH21','BOX ',NMED,TH21, 3,IVOLU)              CALL GSVOLU('TH21','BOX ',NMED,TH21, 3,IVOLU)      
562        CALL GSVOLU('TH22','BOX ',NMED,TH22, 3,IVOLU)                              CALL GSVOLU('TH22','BOX ',NMED,TH22, 3,IVOLU)                      
563  *  *
 *     XY plane  
564        CALL GSVOLU('TOPT','TRAP',NMED,TOPT,11,IVOLU)        CALL GSVOLU('TOPT','TRAP',NMED,TOPT,11,IVOLU)
565  *  *
566        CALL GSVOLU('TOHO','TUBE',NMED,TOHO,3,IVOLU)        CALL GSVOLU('TOHO','TUBE',NMED,TOHO,3,IVOLU)
# Line 438  c--------------------------------------- Line 580  c---------------------------------------
580  *     Positioning H11 in TPLT  *     Positioning H11 in TPLT
581  *  *
582        N=1        N=1
583        X=-23.6        X=-TOPP(1)
584        Y=14.4        Y=TOPP(2)
585        Z=0.        Z=0.
586        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                
587        N=2        N=2
588        X=-23.6        X=-TOPP(1)
589        Y=-14.4        Y=-TOPP(2)
590        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                
591        N=3        N=3
592        X=23.6        X=TOPP(1)
593        Y=14.4        Y=TOPP(2)
594        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                
595        N=4        N=4
596        X=23.6        X=TOPP(1)
597        Y=-14.4        Y=-TOPP(2)
598        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')                
599  *  *
600  *     Positioning H12 in TPLT  *     Positioning H12 in TPLT
601  *  *
602        N=1        N=1
603        X=-23.6        X=-TOPP(1)
604        Y=5.5        Y=TOPP(3)
605        Z=0.        Z=0.
606        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                
607        N=2        N=2
608        X=-23.6        X=-TOPP(1)
609        Y=-5.5        Y=-TOPP(3)
610        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                
611        N=3        N=3
612        X=23.6        X=TOPP(1)
613        Y=5.5        Y=TOPP(3)
614        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                
615        N=4        N=4
616        X=23.6        X=TOPP(1)
617        Y=-5.5        Y=-TOPP(3)
618        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')                
619  *  *
620  *     Positioning H21 in TPLT  *     Positioning H21 in TPLT
621  *  *
622        N=1        N=1
623        X=-17.2        X=-TOPP(4)
624        Y=19.4        Y=TOPP(5)
625        Z=0.        Z=0.
626        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                
627        N=2        N=2
628        X=-17.2        X=-TOPP(4)
629        Y=-19.4        Y=-TOPP(5)
630        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                
631        N=3        N=3
632        X=17.2        X=TOPP(4)
633        Y=19.4        Y=TOPP(5)
634        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                
635        N=4        N=4
636        X=17.2        X=TOPP(4)
637        Y=-19.4        Y=-TOPP(5)
638        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')                
639  *  *
640  *     Positioning H22 in TPLT  *     Positioning H22 in TPLT
641  *  *
642        N=1        N=1
643        X=-10.2        X=-TOPP(6)
644        Y=19.4        Y=TOPP(5)
645        Z=0.        Z=0.
646        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
647        N=2        N=2
648        X=-10.2        X=-TOPP(6)
649        Y=-19.4        Y=-TOPP(5)
650        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
651        N=3        N=3
652        X=10.2        X=TOPP(6)
653        Y=19.4        Y=TOPP(5)
654        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
655        N=4        N=4
656        X=10.2        X=TOPP(6)
657        Y=-19.4        Y=-TOPP(5)
658        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
659        N=5        N=5
660        X=0.        X=0.
661        Y=19.4        Y=TOPP(5)
662        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
663        N=6        N=6
664        X=0.        X=0.
665        Y=-19.4        Y=-TOPP(5)
666        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                        CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')                
667  *  *
668  *     Positioning TOPT in TPLT  *     Positioning TOPT in TPLT
669  *  *
670        N=1        N=1
671        X=-CARDB(1)+4.5/4.        X=-CARDB(1)+TOPP(7)/4.
672        Y=-CARDB(2)+4.5/2.        Y=-CARDB(2)+TOPP(7)/2.
673        Z=0.        Z=0.
674        CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,0,'ONLY')        CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,0,'ONLY')
675        N=2        N=2
# Line 546  c--------------------------------------- Line 688  c---------------------------------------
688  *     Positioning TOHO in TPLT  *     Positioning TOHO in TPLT
689  *  *
690        N=1        N=1
691        X=TPLT(1)-6.2-TOHO(1)        X=TPLT(1)-TOPP(8)-TOHO(1)
692        Y=TPLT(2)-4.1-TOHO(2)        Y=TPLT(2)-TOPP(9)-TOHO(2)
693        CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')        CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
694        N=2        N=2
695        X=-X        X=-X
# Line 575  C--------------------------------------- Line 717  C---------------------------------------
717  *  *
718        NMED=10        NMED=10
719        CALL GSVOLU('MGSC','BOX ',NMED,MGSC, 3,IVOLU)              CALL GSVOLU('MGSC','BOX ',NMED,MGSC, 3,IVOLU)      
720  * Empty volume to be subtracted from MGSC  *
721    *  Empty volume to be subtracted from MGSC
722    *
723        NMED=MN2        NMED=MN2
724        CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU)              CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU)      
725    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.23