| 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 |