/[PAMELA software]/gpamela/gpcat/gpdcat.F
ViewVC logotype

Contents of /gpamela/gpcat/gpdcat.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.1 - (show 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 *
2 * $Id$
3 *
4 * $Log$
5 *
6 *CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola
7 *CMZ : 2.00/00 03/03/2000 15.39.06 by Francesco Cafagna
8 *CMZ : 1.02/00 22/10/99 16.17.58 by Francesco Cafagna
9 *CMZ : 1.01/00 21/05/96 17.33.38 by Francesco Cafagna
10 *CMZ : 1.00/02 04/04/96 16.08.24 by Francesco Cafagna
11 *-- Author : Francesco Cafagna 23/02/96
12 SUBROUTINE GPDCAT
13 ************************************************************************
14 * *
15 * To perform CAT digitization *
16 * *
17 * Called by: GUDIGI *
18 * Author: Francesco Cafagna, 23/02/96 12.50.38 *
19 * *
20 ************************************************************************
21 #include "gcunit.inc"
22 #include "gpphit.inc"
23 PARAMETER (NH=NHCAT,NHM=NHMCAT,NVOL=3)
24 #include "gprhit.inc"
25 #include "gpcat.inc"
26 #include "gpsed.inc"
27 *
28 INTEGER IS,ID,NV,NVM,NNHM
29 CHARACTER*4 CSET
30 *
31 *
32 * Vector zeroed
33 *
34 CALL VZERO(ICAT ,NHM)
35 CALL VZERO(XCAT ,NHM)
36 CALL VZERO(YCAT ,NHM)
37 CALL VZERO(ZCAT ,NHM)
38 CALL VZERO(XOCAT,NHM)
39 CALL VZERO(YOCAT,NHM)
40 CALL VZERO(ZOCAT,NHM)
41 CALL VZERO(ERCAT,NHM)
42 CALL VZERO(TIMECAT,NHM)
43 CALL VZERO(PACAT,NHM)
44 CALL VZERO(ICATPAR,NHM)
45 CALL VZERO(P0CAT,NHM)
46 CALL VZERO(NUMD ,NVOL)
47 *
48 * Start with tof top
49 *
50 NV = NVOL
51 NVM= NVMAX
52 IS = ISCAT
53 ID = IDCATL
54 CSET = 'CAT '
55 IT = -1
56 *
57 * Check on the volume level
58 *
59 IF (NV.GT.NVM) THEN
60 WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX,
61 + IDRUN,IDEVT
62 CALL GMAIL(1,0)
63 GO TO 10
64 ENDIF
65 CALL VZERO(VHITS,NH*NHM)
66 CALL VZERO(ITRA ,NHM)
67 CALL VZERO(NUMBV,NVOL*NHM)
68 NHITS = -1
69 CALL GPRHIT(CSET,CNSED(IS,ID),IS,ID,NVOL,NH,NHM,1,
70 + IT,NUMD,ITRA,NUMBV,VHITS,NHITS)
71 *
72 * If there was a problem in GPRHIT then exit
73 *
74 IF(NHITS.LT.0) THEN
75 WRITE(CHMAIL,10100) CSET,CNSED(IS,ID),NHITS,NHM,
76 + IDRUN,IDEVT
77 CALL GMAIL(1,0)
78 GO TO 10
79 ENDIF
80 *
81 * >>>>>>>>>>>>>>>>>>>>>> DIGI action
82 *
83 *
84 * Fill the CWN common
85 *
86 NTHCAT = NHITS
87 DO I=1,NHITS
88 ICAT(I) = NUMBV(NVCAT,I)
89 #if defined(GPAMELA_INTER)
90 XINCAT(I) = 2*VHITS(1,I)-VHITS(4,I)
91 YINCAT(I) = 2*VHITS(2,I)-VHITS(5,I)
92 ZINCAT(I) = 2*VHITS(3,I)-VHITS(6,I)
93 #endif
94 #if !defined(GPAMELA_INTER)
95 XINCAT(I) = VHITS(1,I)
96 YINCAT(I) = VHITS(2,I)
97 ZINCAT(I) = VHITS(3,I)
98 #endif
99 XOUTCAT(I) = VHITS(4,I)
100 YOUTCAT(I) = VHITS(5,I)
101 ZOUTCAT(I) = VHITS(6,I)
102 ERELCAT(I) = VHITS(7,I)
103 TIMECAT(I)= VHITS(8,I)
104 PATHCAT(I) = VHITS(9,I)
105 IPARCAT(I) = VHITS(10,I)
106 P0CAT(I) = VHITS(11,I)
107 ENDDO
108 *
109 * Next detector
110 *
111 ID = IDCATT
112 CALL VZERO(VHITS,NH*NHM)
113 CALL VZERO(ITRA ,NHM)
114 CALL VZERO(NUMBV,NVOL*NHM)
115 NHITS = -1
116 *
117 * Update the max number of hits to be retrived
118 *
119 NNHM = NHM - NTHCAT
120 IF(NNHM.LE.0) THEN
121 WRITE(CHMAIL,10100) CSET,CNSED(IS,ID),NTHCAT,NHM,
122 + IDRUN,IDEVT
123 CALL GMAIL(1,0)
124 GO TO 10
125 ENDIF
126 CALL GPRHIT(CSET,CNSED(IS,ID),IS,ID,NVOL,NH,NNHM,1,
127 + IT,NUMD,ITRA,NUMBV,VHITS,NHITS)
128 *
129 * If there was a problem in GPRHIT then exit
130 *
131 IF(NHITS.LT.0) THEN
132 WRITE(CHMAIL,10200) CSET,CNSED(IS,ID),NHITS,NHM,
133 + IDRUN,IDEVT
134 CALL GMAIL(1,0)
135 GO TO 10
136 ENDIF
137 *
138 * >>>>>>>>>>>>>>>>>>>>>> DIGI action
139 *
140 *
141 DO I=1,NHITS
142 NTHCAT = NTHCAT + 1
143 ICAT(NTHCAT) = 2 + NUMBV(NVCAT,I)
144 #if defined(GPAMELA_INTER)
145 XINCAT(NTHCAT) = 2*VHITS(1,I)-VHITS(4,I)
146 YINCAT(NTHCAT) = 2*VHITS(2,I)-VHITS(5,I)
147 ZINCAT(NTHCAT) = 2*VHITS(3,I)-VHITS(6,I)
148 #endif
149 #if !defined(GPAMELA_INTER)
150 XINCAT(NTHCAT) = VHITS(1,I)
151 YINCAT(NTHCAT) = VHITS(2,I)
152 ZINCAT(NTHCAT) = VHITS(3,I)
153 #endif
154 XOUTCAT(NTHCAT) = VHITS(4,I)
155 YOUTCAT(NTHCAT) = VHITS(5,I)
156 ZOUTCAT(NTHCAT) = VHITS(6,I)
157 ERELCAT(NTHCAT) = VHITS(7,I)
158 TIMECAT(NTHCAT)= VHITS(8,I)
159 PATHCAT(NTHCAT) = VHITS(9,I)
160 IPARCAT(NTHCAT) = VHITS(10,I)
161 P0CAT(NTHCAT) = VHITS(11,I)
162 ENDDO
163 10000 FORMAT(' GPDCAT: VOLUME level too big: SET=',A4,', DET=',A4,',
164 + NVOL=',I3,', NVMAX=',I3,', RUN=',I5,', EVT=',I8)
165 10100 FORMAT(' GPDCAT: MAX number of hits retrived: SET=',A4,
166 + ', DET=',A4,',NHREAD=',I5,', NHMAX=',I5,
167 + ', RUN=',I5,', EVT=',I8)
168 10200 FORMAT(' GPDCAT: Error in GPRHIT: SET=',A4,
169 + ', DET=',A4,',NHITS=',I5,', NHMAX=',I5,
170 + ', RUN=',I5,', EVT=',I8)
171 10 RETURN
172 END

  ViewVC Help
Powered by ViewVC 1.1.23