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

Annotation of /gpamela/gpcal/gpdcal.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.7 - (hide annotations) (download)
Thu May 11 23:52:55 2006 UTC (18 years, 6 months ago) by cafagna
Branch: MAIN
CVS Tags: v4r7, v4r8, v4r9, v4r14, v4r12, v4r13, v4r10, v4r11, HEAD
Changes since 3.6: +22 -19 lines
More bugs fixed in the CALO ntple structure filling

1 cafagna 3.1 *
2 cafagna 3.7 * $Id: gpdcal.F,v 3.6 2006/05/11 00:39:39 cafagna Exp $
3 pamela 3.2 *
4     * $Log: gpdcal.F,v $
5 cafagna 3.7 * Revision 3.6 2006/05/11 00:39:39 cafagna
6     * A bug in hits retrival for calorimeter
7     *
8 cafagna 3.6 * Revision 3.5 2006/05/11 00:15:34 cafagna
9     * A bug in hits retrival for calorimeter
10     *
11 cafagna 3.5 * Revision 3.4 2005/07/25 11:53:20 cafagna
12     * Several updates. See history for details
13     *
14 cafagna 3.4 * Revision 3.3 2005/06/21 02:42:03 cafagna
15     * Major modification to the geometry and to the random number chain
16     *
17 cafagna 3.7 * Revision 3.2 2003/12/17 11:32:48 pamela CALO SIMULATION COMPLETED:
18     * geometry and special tracking parameters updated and simulation
19     * checked by a comparison with the Trieste's standalone Monte Carlo
20     * simulation
21 cafagna 3.3 *
22 pamela 3.2 * Revision 3.1.1.1 2002/07/11 16:02:14 cafagna
23     * First GPAMELA release on CVS
24 cafagna 3.1 *
25     *
26     *CMZ : 2.03/00 31/10/2000 11.18.51 by Francesco Cafagna
27     *CMZ : 2.02/00 10/10/2000 14.09.00 by Francesco Cafagna
28     *CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola
29     *CMZ : 2.00/00 29/02/2000 17.39.10 by Francesco Cafagna
30     *CMZ : 1.02/00 10/02/2000 17.28.08 by Francesco Cafagna
31     *CMZ : 1.01/00 21/05/96 17.33.38 by Francesco Cafagna
32     *CMZ : 1.00/02 05/04/96 11.26.03 by Francesco Cafagna
33     *-- Author : Francesco Cafagna 23/02/96
34     SUBROUTINE GPDCAL
35     ************************************************************************
36     * *
37     * To perform CAL digitization *
38     * *
39     * Called by: GUDIGI *
40     * Author: Francesco Cafagna, 23/02/96 12.50.38 *
41     * *
42     ************************************************************************
43     #include "gcunit.inc"
44 cafagna 3.5 #include "gcflag.inc"
45 cafagna 3.1 #include "gpphit.inc"
46 cafagna 3.5 PARAMETER (NH1=NHCALI,NHM1=NHMCALI,NVOL1=2)
47     PARAMETER (NH=NHCAL,NHM=NHMCAL,NVOL=3)
48 cafagna 3.1 #include "gprhit.inc"
49     #include "gpcal.inc"
50     #include "gpsed.inc"
51     #include "gpkey.inc"
52     #include "gpgeo.inc"
53 pamela 3.2 *ml:21/02/02
54     #include "gpencal.inc"
55     *end ml.
56 cafagna 3.1 *
57     INTEGER IS,ID,NV,NVM,NNHM
58     CHARACTER*4 CSET
59 cafagna 3.5 INTEGER ITRA1(NHM1),NUMD1(NVOL1),NUMBV1(NVOL1,NHM1)
60     REAL VHITS1(NH1,NHM1)
61 cafagna 3.1 *
62     * Vector zeroed
63     *
64     CALL VZERO(ICAPL ,NHMCAL)
65     CALL VZERO(ICASI ,NHMCAL)
66     CALL VZERO(ICAST ,NHMCAL)
67     CALL VZERO(XCASI,NHMCAL)
68     CALL VZERO(YCASI,NHMCAL)
69     CALL VZERO(ZCASI,NHMCAL)
70     CALL VZERO(IPARCAL,NHMCAL)
71     CALL VZERO(ERCASI,NHMCAL)
72     CALL VZERO(NUMD ,NVOL)
73     CALL VZERO(NUMD1 ,NVOL1)
74 pamela 3.2 c ml:16/4/2003
75 cafagna 3.5 CALL VZERO(ICASTRIP,NHMCALI)
76     CALL VZERO(ICAPLANE,NHMCALI)
77     CALL VZERO(ICAMOD,NHMCALI)
78     CALL VZERO(ENESTRIP,NHMCALI)
79 pamela 3.2 c end 16/4/2003
80 cafagna 3.1 *
81     *
82     * The tungsten plane case
83     *
84 cafagna 3.5 NV = NVOL
85     NVM= NVMAX
86 cafagna 3.1 IS = ISCAL
87 cafagna 3.3 ID = IDCAST
88 cafagna 3.1 IT = -1
89     CSET = 'CAL '
90     *
91     * Check on the volume level
92     *
93     IF (NV.GT.NVM) THEN
94     WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX,
95     + IDRUN,IDEVT
96     CALL GMAIL(1,0)
97     GO TO 10
98     ENDIF
99     CALL VZERO(VHITS,NH*NHM)
100     CALL VZERO(ITRA ,NHM)
101     NHITS = -1
102     *
103     * Update the max number of hits to be retrived
104     *
105     NNHM = NHM
106 cafagna 3.5 c$$$ IF(NNHM.LE.0) THEN
107     c$$$ WRITE(CHMAIL,10100) CSET,CNSED(IS,ID),NTHCAL,NHM,
108     c$$$ + IDRUN,IDEVT
109     c$$$ CALL GMAIL(1,0)
110     c$$$ GO TO 10
111     c$$$ ENDIF
112 cafagna 3.1 CALL VZERO(NUMBV,NVOL*NHM)
113     CALL GPRHIT(CSET,CNSED(IS,ID),IS,ID,NVOL,NH,NNHM,1,
114     + IT,NUMD,ITRA,NUMBV,VHITS,NHITS)
115     *
116     * If there was a problem in GPRHIT then exit
117     *
118 cafagna 3.7 NTHCAL=0
119 cafagna 3.1 IF(NHITS.LT.0) THEN
120     WRITE(CHMAIL,10200) CSET,CNSED(IS,ID),NHITS,NHM,
121     + IDRUN,IDEVT
122     CALL GMAIL(1,0)
123 cafagna 3.7 NHITS = NNHM
124     ENDIF
125 cafagna 3.1 *
126     * >>>>>>>>>>>>>>>>>>>>>> DIGI action
127     *
128     *
129     * Fill the CWN common
130     *
131 cafagna 3.7 DO I=1,NHITS
132     NTHCAL = NTHCAL + 1
133     ICAPL(NTHCAL) = NUMBV((NVCAL-2),I)
134     ICASI(NTHCAL) = NUMBV((NVCAL-1),I)
135     ICAST(NTHCAL) = NUMBV((NVCAL),I)
136     XINCAL(NTHCAL) = VHITS(1,I)
137     YINCAL(NTHCAL) = VHITS(2,I)
138     ZINCAL(NTHCAL) = VHITS(3,I)
139     ERELCAL(NTHCAL) = VHITS(4,I)
140     ENDDO
141 cafagna 3.3 C
142     C The energy released per strip
143     C
144     NV = NVOL1
145     NVM= NVMAX
146     *
147     * The tungsten plane case
148     *
149     IS = ISCAL
150     ID = IDCASI
151     IT = -1
152     CSET = 'CAL '
153 cafagna 3.6 *
154 cafagna 3.3 * Check on the volume level
155     *
156     IF (NV.GT.NVM) THEN
157     WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX,
158     + IDRUN,IDEVT
159     CALL GMAIL(1,0)
160     GO TO 10
161     ENDIF
162 cafagna 3.5 CALL VZERO(VHITS1,NH1*NHM1)
163     CALL VZERO(ITRA1 ,NHM1)
164 cafagna 3.3 NHITS = -1
165     *
166     * Update the max number of hits to be retrived
167     *
168 cafagna 3.5 NNHM = NHM1
169 cafagna 3.3 IF(NNHM.LE.0) THEN
170     WRITE(CHMAIL,10100) CSET,CNSED(IS,ID),NTHCALI,NHM,
171     + IDRUN,IDEVT
172     CALL GMAIL(1,0)
173     GO TO 10
174     ENDIF
175 cafagna 3.5 CALL VZERO(NUMBV1,NVOL1*NHM1)
176     CALL GPRHIT(CSET,CNSED(IS,ID),IS,ID,NVOL1,NH1,NNHM,1,
177     + IT,NUMD1,ITRA1,NUMBV1,VHITS1,NHITS)
178 cafagna 3.3 *
179     * If there was a problem in GPRHIT then exit
180     *
181 cafagna 3.7 NTHCALI=0
182 cafagna 3.3 IF(NHITS.LT.0) THEN
183     WRITE(CHMAIL,10200) CSET,CNSED(IS,ID),NHITS,NHM,
184     + IDRUN,IDEVT
185     CALL GMAIL(1,0)
186     GO TO 10
187     ENDIF
188     *
189     * >>>>>>>>>>>>>>>>>>>>>> DIGI action
190     *
191     *
192     * Fill the CWN common
193     *
194 pamela 3.2 c
195 cafagna 3.3 DO I=1,NHITS
196     NTHCALI=NTHCALI+1
197 cafagna 3.5 ICASTRIP(NTHCALI)=NUMBV1(NVCALI,I)
198     ICAPLANE(NTHCALI)=NUMBV1((NVCALI-1),I)
199     ICAMOD(NTHCALI)=VHITS1(1,I)
200     ENESTRIP(NTHCALI)=VHITS1(2,I)
201 cafagna 3.3 ENDDO
202     c
203 pamela 3.2 10000 FORMAT(' GPDCAL: VOLUME level too big: SET=',A4,', DET=',A4,',
204     + NVOL=',I3,', NVMAX=',I3,', RUN=',I5,', EVT=',I8)
205     10100 FORMAT(' GPDCAL: MAX number of hits retrived: SET=',A4,
206     + ', DET=',A4,',NHREAD=',I5,', NHMAX=',I5,
207     + ', RUN=',I5,', EVT=',I8)
208     10200 FORMAT(' GPDCAL: Error in GPRHIT: SET=',A4,
209     + ', DET=',A4,',NHITS=',I5,', NHMAX=',I5,
210     + ', RUN=',I5,', EVT=',I8)
211     10 RETURN
212 cafagna 3.1 END

  ViewVC Help
Powered by ViewVC 1.1.23