/[PAMELA software]/gpamela/gpcal/gpcalv.F
ViewVC logotype

Contents of /gpamela/gpcal/gpcalv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.1.1.1 - (show annotations) (download) (vendor branch)
Thu Jul 11 16:02:14 2002 UTC (22 years, 4 months ago) by cafagna
Branch: v3r0
CVS Tags: firstrelease
Changes since 3.1: +0 -0 lines
First GPAMELA release on CVS

1 *
2 * $Id$
3 *
4 * $Log$
5 *
6 *CMZ : 3.00/00 14/11/2000 10.17.50 by Emiliano Mocchiutti
7 *CMZ : 2.02/00 12/10/2000 18.19.42 by Francesco Cafagna
8 *CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola
9 *CMZ : 2.00/00 03/03/2000 15.39.06 by Francesco Cafagna
10 *CMZ : 1.02/00 21/10/99 14.46.25 by Francesco Cafagna
11 *CMZ : 1.00/02 13/03/96 18.39.55 by Francesco Cafagna
12 *-- Author : Francesco Cafagna 09/12/95
13 SUBROUTINE GPCALV
14 ************************************************************************
15 * *
16 * Volumes definition for the silicon calorimeter *
17 * Called by: GPGEM *
18 * Author: Francesco Cafagna, 05/12/95 13.39.41 *
19 * *
20 ************************************************************************
21 #include "gpgeo.inc"
22 #include "gpmed.inc"
23 #include "gpkey.inc"
24 *
25 INTEGER IROT,IVOLU,N,NMED
26 REAL X,Y,Z
27 *
28 * Define the CALB volume
29 *
30 NMED= MN2
31 CALL GSVOLU('CALB','BOX ',NMED,CALB, 3,IVOLU)
32 *
33 * Define the CALS volume
34 *
35 NMED= MAL
36 CALL GSVOLU('CALS','BOX ',NMED,CALS, 3,IVOLU)
37 *
38 * Define the CAPL volume
39 *
40 NMED= MN2
41 CALL GSVOLU('CAPL','BOX ',NMED,CAPL, 3,IVOLU)
42 *
43 * Define the CAPD volume
44 *
45 NMED= MN2
46 CALL GSVOLU('CAPD','BOX ',NMED,CAPD, 3,IVOLU)
47 *
48 * Define the CASI volume
49 *
50 NMED= MSIC
51 CALL GSVOLU('CASI','BOX ',NMED,CASI, 3,IVOLU)
52 *
53 * Division in CASI
54 *
55 CALL GSDVN ('CAST','CASI',NCASTR,1)
56 *
57 * Define the CG10 volume
58 *
59 NMED= MG10C
60 CALL GSVOLU('C10C','BOX ',NMED,C10C, 3,IVOLU)
61 *
62 * Define the CAAB volume
63 *
64 NMED= MW2
65 CALL GSVOLU('CAAB','BOX ',NMED,CAAB, 3,IVOLU)
66 *EM:
67 *
68 * Define the CAAD volume
69 *
70 NMED= MAL
71 CALL GSVOLU('CAAD','BOX ',NMED,CAAD, 3,IVOLU)
72 *
73 * Define the CAKA volume
74 *
75 NMED= MCER
76 CALL GSVOLU('CAKA','BOX ',NMED,CAKA, 3,IVOLU)
77 *
78 * Define the CAKP volume
79 *
80 NMED= MKAP
81 CALL GSVOLU('CAKP','BOX ',NMED,CAKP, 3,IVOLU)
82 *
83 * Define the CAGL volume (Silicon glue)
84 *
85 NMED= MSIC
86 CALL GSVOLU('CAGL','BOX ',NMED,CAGL, 3,IVOLU)
87 *END EM.
88 *
89 * Positioning volumes CAKA, C10C, CAGL, CAKP into the mother CAPL and CAPD
90 * (Kaolite and G10 only for CAPD)
91 *
92 N = 1
93 X = 0.
94 Y = 0.
95 *EM:
96 Z = -CAPL(3) + CAKA(3)
97 CALL GSPOS('CAKA',N,'CAPL',X,Y,Z,0,'ONLY')
98 CALL GSPOS('CAKA',N,'CAPD',X,Y,Z,0,'ONLY')
99 Z = Z + CAKA(3) + C10C(3)
100 CALL GSPOS('C10C',N,'CAPL',X,Y,Z,0,'ONLY')
101 CALL GSPOS('C10C',N,'CAPD',X,Y,Z,0,'ONLY')
102 Z = Z + C10C(3) + CAGL(3)
103 CALL GSPOS('CAGL',N,'CAPL',X,Y,Z,0,'ONLY')
104 Z = Z + CAGL(3) + CAKP(3)
105 CALL GSPOS('CAKP',N,'CAPL',X,Y,Z,0,'ONLY')
106 *
107 * Positioning volume CASI into the mother CAPL
108 *
109 N = 0
110 Z = Z + CAKP(3) + CASI(3)
111 DO I=-1,1
112 Y = I*(2.*CASI(2)+ DCASIY)
113 DO II=-1,1
114 N= N + 1
115 X = II*(2.*CASI(1)+ DCASIX)
116 *
117 * Check if detector is excluded
118 *
119 IF(.NOT.NOCASI(N))
120 + CALL GSPOS('CASI',N,'CAPL',X,Y,Z,0,'ONLY')
121 ENDDO
122 ENDDO
123 *END EM.
124 *
125 * Positioning volume CAPL and CAAB into the mother CALB
126 *
127 X= 0.
128 Y= 0.
129 C Z= CALB(3) + CAPL(3)
130 *EM:
131 Z= CALB(3) + CAPL(3) - DCASIZ/2.
132 *END EM. (we have 0.15 cm from the top to the first Si)
133 N= 0
134 DO I=1,NCAPL
135 *
136 * X view, absorber and Y view on the other
137 *
138 Z= Z - 2*CAPL(3)
139 N= N + 1
140 *
141 * Check if this plane is excluded
142 *
143 IF(.NOT.NOCAPL(N))
144 + CALL GSPOS('CAPL',N,'CALB',X,Y,Z,0,'ONLY')
145 Z= Z - CAPL(3) - CAAB(3)
146 *
147 * Check if this absorber is excluded
148 *
149 IF(.NOT.NOCAAB(I))
150 + CALL GSPOS('CAAB',(I-1),'CALB',X,Y,Z,0,'ONLY')
151 Z= Z - CAAB(3) - CAPL(3)
152 N= N + 1
153 *
154 * Check if this detector is excluded
155 *
156 IF(.NOT.NOCAPL(N))
157 + CALL GSPOS('CAPL',N,'CALB',X,Y,Z,3,'ONLY')
158 ENDDO
159 *
160 * Positioning volume CAPD and CAAD into the mother CALB
161 *
162 N= 0
163 DO I=1,NCAPLD
164 IF(I.EQ.1) THEN
165 Z= Z - CAPD(3) - CAPL(3)
166 ELSE
167 Z= Z - 2*CAPD(3)
168 ENDIF
169 N= N + 1
170 CALL GSPOS('CAPD',N,'CALB',X,Y,Z,0,'ONLY')
171 Z= Z - CAPD(3) - CAAD(3)
172 CALL GSPOS('CAAD',(I-1),'CALB',X,Y,Z,0,'ONLY')
173 Z= Z - CAAD(3) - CAPD(3)
174 N= N + 1
175 CALL GSPOS('CAPD',N,'CALB',X,Y,Z,3,'ONLY')
176 ENDDO
177 *
178 * Put the shell around it
179 *
180 X= 0.
181 Y= 0.
182 Z= CALS(3)-CALB(3)
183 N= 1
184 CALL GSPOS('CALB',N,'CALS',X,Y,Z,0,'ONLY')
185 *
186 RETURN
187 END

  ViewVC Help
Powered by ViewVC 1.1.23