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

Annotation of /gpamela/gpcal/gpdcal.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.6 - (hide annotations) (download)
Thu May 11 00:39:39 2006 UTC (18 years, 6 months ago) by cafagna
Branch: MAIN
Changes since 3.5: +19 -16 lines
A bug in hits retrival for calorimeter

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

  ViewVC Help
Powered by ViewVC 1.1.23