1 |
* |
* |
2 |
* $Id: gpcalv.F,v 3.3 2003/12/17 11:32:48 pamela Exp $ |
* $Id: gpcalv.F,v 3.4 2005/07/25 11:53:20 cafagna Exp $ |
3 |
* |
* |
4 |
* $Log: gpcalv.F,v $ |
* $Log: gpcalv.F,v $ |
5 |
|
* Revision 3.4 2005/07/25 11:53:20 cafagna |
6 |
|
* Several updates. See history for details |
7 |
|
* |
8 |
* Revision 3.3 2003/12/17 11:32:48 pamela |
* Revision 3.3 2003/12/17 11:32:48 pamela |
9 |
* CALO SIMULATION COMPLETED: geometry and special tracking parameters updated and simulation checked by a comparison with the Trieste's standalone Monte Carlo simulation |
* CALO SIMULATION COMPLETED: geometry and special tracking parameters updated and simulation checked by a comparison with the Trieste's standalone Monte Carlo simulation |
10 |
* |
* |
160 |
*END EM. |
*END EM. |
161 |
* MA |
* MA |
162 |
* 11 MODULI DI 2 W |
* 11 MODULI DI 2 W |
163 |
Z = CALB(3) - CAPL(3) - DCASIZ/2 |
c Z = CALB(3) - CAPL(3) - DCASIZ/2 |
164 |
|
Z = CALB(3) - CAPL(3) - DCASIZ |
165 |
N = 0 |
N = 0 |
166 |
DO M = 0,20,2 |
DO M = 0,20,2 |
167 |
* Positioning CAPL CANS CAAB in CALB to form a module |
* Positioning CAPL CANS CAAB in CALB to form a module |
172 |
N = N + 1 |
N = N + 1 |
173 |
C if(N.EQ.1) print *,'z ini = ',Z |
C if(N.EQ.1) print *,'z ini = ',Z |
174 |
IF(.NOT.NOCAPL(N)) |
IF(.NOT.NOCAPL(N)) |
175 |
+ CALL GSPOS('CAPL',N,'CALB',X,Y,Z,0,'ONLY') |
+ CALL GSPOS('CAPL',N,'CALB',X,(Y-0.1),Z,0,'ONLY') |
176 |
* Positioning CANS |
* Positioning CANS |
177 |
Z = Z - CAPL(3) - CANS(3) |
Z = Z - CAPL(3) - CANS(3) |
178 |
CALL GSPOS('CANS',N,'CALB',0,0,Z,0,'ONLY') |
CALL GSPOS('CANS',N,'CALB',0,-0.1,Z,0,'ONLY') |
179 |
* Positioning CAAB |
* Positioning CAAB |
180 |
Z = Z - CANS(3) - CAAB(3) |
Z = Z - CANS(3) - CAAB(3) |
181 |
IF(.NOT.NOCAAB(M+I)) |
IF(.NOT.NOCAAB(M+I)) |
182 |
+ CALL GSPOS('CAAB',(M+I),'CALB',0,0,Z,0,'ONLY') |
+ CALL GSPOS('CAAB',(M+I),'CALB',0,-0.1,Z,0,'ONLY') |
183 |
* Positioning CANS (ruotato) |
* Positioning CANS (ruotato) |
184 |
N = N + 1 |
N = N + 1 |
185 |
Z = Z - CAAB(3) - CANS(3) |
Z = Z - CAAB(3) - CANS(3) |
186 |
CALL GSPOS('CANS',N,'CALB',0,0,Z,3,'ONLY') |
CALL GSPOS('CANS',N,'CALB',0,-0.1,Z,3,'ONLY') |
187 |
* Positioning CAPL (ruotato e shiftato) |
* Positioning CAPL (ruotato e shiftato) |
188 |
X1 = X |
X1 = X |
189 |
Y1 = Y |
Y1 = Y |
192 |
Z = Z - CANS(3) - CAPL(3) |
Z = Z - CANS(3) - CAPL(3) |
193 |
C if(N.EQ.44) print *,'z fin = ',Z |
C if(N.EQ.44) print *,'z fin = ',Z |
194 |
IF(.NOT.NOCAPL(N)) |
IF(.NOT.NOCAPL(N)) |
195 |
+ CALL GSPOS('CAPL',N,'CALB',X,Y,Z,3,'ONLY') |
+ CALL GSPOS('CAPL',N,'CALB',X,(Y-0.1),Z,3,'ONLY') |
196 |
|
|
197 |
IF(I.EQ.1) THEN |
IF(I.EQ.1) THEN |
198 |
Z = Z - 2*CAPL(3) - DZMO ! SPESSORE TRA I SILICI CHE SI GUARDANO |
c Z = Z - 2*CAPL(3) - DZMO ! SPESSORE TRA I SILICI CHE SI GUARDANO |
199 |
X1 = X ! SHIFT PER IL CAPL PROSSIMO CICLO |
Z = Z - 2*CAPL(3) - DZM0 ! corretto |
200 |
|
X1 = X ! SHIFT PER IL CAPL PROSSIMO CICLO |
201 |
Y1 = Y |
Y1 = Y |
202 |
X = -Y1 |
X = -Y1 |
203 |
Y = X1 |
Y = X1 |