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

Annotation of /gpamela/gpcal/gpcalv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.1 - (hide annotations) (download)
Thu Jul 11 16:02:14 2002 UTC (22 years, 4 months ago) by cafagna
Branch: MAIN
Branch point for: v3r0
Initial revision

1 cafagna 3.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