1 |
* |
* |
2 |
* $Id: gpcalv.F,v 3.3 2003/12/17 11:32:48 pamela Exp $ |
* $Id: gpcalv.F,v 3.5 2006/05/09 12:01:15 cafagna Exp $ |
3 |
* |
* |
4 |
* $Log: gpcalv.F,v $ |
* $Log: gpcalv.F,v $ |
5 |
|
* Revision 3.5 2006/05/09 12:01:15 cafagna |
6 |
|
* Calo geometry updated |
7 |
|
* |
8 |
|
* Revision 3.4 2005/07/25 11:53:20 cafagna |
9 |
|
* Several updates. See history for details |
10 |
|
* |
11 |
* Revision 3.3 2003/12/17 11:32:48 pamela |
* Revision 3.3 2003/12/17 11:32:48 pamela |
12 |
* 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 |
13 |
* |
* |
163 |
*END EM. |
*END EM. |
164 |
* MA |
* MA |
165 |
* 11 MODULI DI 2 W |
* 11 MODULI DI 2 W |
166 |
Z = CALB(3) - CAPL(3) - DCASIZ/2 |
c Z = CALB(3) - CAPL(3) - DCASIZ/2 |
167 |
|
Z = CALB(3) - CAPL(3) - DCASIZ |
168 |
N = 0 |
N = 0 |
169 |
DO M = 0,20,2 |
DO M = 0,20,2 |
170 |
* Positioning CAPL CANS CAAB in CALB to form a module |
* Positioning CAPL CANS CAAB in CALB to form a module |
175 |
N = N + 1 |
N = N + 1 |
176 |
C if(N.EQ.1) print *,'z ini = ',Z |
C if(N.EQ.1) print *,'z ini = ',Z |
177 |
IF(.NOT.NOCAPL(N)) |
IF(.NOT.NOCAPL(N)) |
178 |
+ CALL GSPOS('CAPL',N,'CALB',X,Y,Z,0,'ONLY') |
+ CALL GSPOS('CAPL',N,'CALB',X,(Y-0.1),Z,0,'ONLY') |
179 |
* Positioning CANS |
* Positioning CANS |
180 |
Z = Z - CAPL(3) - CANS(3) |
Z = Z - CAPL(3) - CANS(3) |
181 |
CALL GSPOS('CANS',N,'CALB',0,0,Z,0,'ONLY') |
CALL GSPOS('CANS',N,'CALB',0,-0.1,Z,0,'ONLY') |
182 |
* Positioning CAAB |
* Positioning CAAB |
183 |
Z = Z - CANS(3) - CAAB(3) |
Z = Z - CANS(3) - CAAB(3) |
184 |
IF(.NOT.NOCAAB(M+I)) |
IF(.NOT.NOCAAB(M+I)) |
185 |
+ CALL GSPOS('CAAB',(M+I),'CALB',0,0,Z,0,'ONLY') |
+ CALL GSPOS('CAAB',(M+I),'CALB',0,-0.1,Z,0,'ONLY') |
186 |
* Positioning CANS (ruotato) |
* Positioning CANS (ruotato) |
187 |
N = N + 1 |
N = N + 1 |
188 |
Z = Z - CAAB(3) - CANS(3) |
Z = Z - CAAB(3) - CANS(3) |
189 |
CALL GSPOS('CANS',N,'CALB',0,0,Z,3,'ONLY') |
CALL GSPOS('CANS',N,'CALB',0,-0.1,Z,3,'ONLY') |
190 |
* Positioning CAPL (ruotato e shiftato) |
* Positioning CAPL (ruotato e shiftato) |
191 |
X1 = X |
X1 = X |
192 |
Y1 = Y |
Y1 = Y |
193 |
X = -Y1 |
X = -Y1 |
194 |
Y = X1 |
Y = X1 |
195 |
Z = Z - CANS(3) - CAPL(3) |
Z = Z - CANS(3) - CAPL(3) |
196 |
C if(N.EQ.44) print *,'z fin = ',Z |
c Mod by Caf on 30th Marc 2007, the X position of the X-view planes should be swapped |
197 |
|
c$$$ IF(.NOT.NOCAPL(N)) |
198 |
|
c$$$ + CALL GSPOS('CAPL',N,'CALB',X,(Y-0.1),Z,3,'ONLY') |
199 |
IF(.NOT.NOCAPL(N)) |
IF(.NOT.NOCAPL(N)) |
200 |
+ CALL GSPOS('CAPL',N,'CALB',X,Y,Z,3,'ONLY') |
+ CALL GSPOS('CAPL',N,'CALB',-X,(Y-0.1),Z,3,'ONLY') |
201 |
|
|
202 |
IF(I.EQ.1) THEN |
IF(I.EQ.1) THEN |
203 |
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 |
204 |
X1 = X ! SHIFT PER IL CAPL PROSSIMO CICLO |
Z = Z - 2*CAPL(3) - DZM0 ! corretto |
205 |
|
X1 = X ! SHIFT PER IL CAPL PROSSIMO CICLO |
206 |
Y1 = Y |
Y1 = Y |
207 |
X = -Y1 |
X = -Y1 |
208 |
Y = X1 |
Y = X1 |