/[PAMELA software]/gpamela/gptof/gpdtof.F
ViewVC logotype

Annotation of /gpamela/gptof/gpdtof.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.4 - (hide annotations) (download)
Thu May 18 10:52:32 2006 UTC (18 years, 6 months ago) by pam-ba
Branch: MAIN
CVS Tags: v4r7, v4r8, v4r9, v4r14, v4r12, v4r13, v4r10, v4r11, HEAD
Changes since 3.3: +5 -2 lines
TOF geometry completed and a new material, the polystyrene (density 35 g/l), added

1 cafagna 3.1 *
2 pam-ba 3.4 * $Id: gpdtof.F,v 3.3 2006/05/02 18:00:11 cafagna Exp $
3 pam-ba 3.2 *
4     * $Log: gpdtof.F,v $
5 pam-ba 3.4 * Revision 3.3 2006/05/02 18:00:11 cafagna
6     * Bugs fixed in TOF set definition, TOF hit back to the original naming scheme
7     *
8 cafagna 3.3 * Revision 3.2 2006/05/02 11:46:13 pam-ba
9     * TOF geometry and position updated and a new material, the mylar, added
10     *
11 pam-ba 3.2 * Revision 3.1.1.1 2002/07/11 16:02:01 cafagna
12     * First GPAMELA release on CVS
13 cafagna 3.1 *
14     *
15     *CMZ : 2.01/00 06/03/2000 13.07.03 by Francesco Cafagna
16     *CMZ : 2.00/00 25/02/2000 17.16.49 by Francesco Cafagna
17     *CMZ : 1.02/00 22/10/99 16.17.58 by Francesco Cafagna
18     *CMZ : 1.01/00 21/05/96 17.33.37 by Francesco Cafagna
19     *CMZ : 1.00/02 04/04/96 16.08.24 by Francesco Cafagna
20     *-- Author : Francesco Cafagna 23/02/96
21     SUBROUTINE GPDTOF
22     ************************************************************************
23     * *
24     * To perform TOF digitization *
25     * *
26     * Called by: GUDIGI *
27     * Author: Francesco Cafagna, 23/02/96 12.50.38 *
28     * *
29     ************************************************************************
30     #include "gcunit.inc"
31     #include "gpphit.inc"
32     PARAMETER (NH=NHTOF,NHM=NHMTOF,NVOL=3)
33     #include "gprhit.inc"
34     #include "gptof.inc"
35     #include "gpsed.inc"
36     *
37     INTEGER IS,ID,NV,NVM,NNHM,INDEX,NPLANE
38 pam-ba 3.2 CHARACTER*4 CSET(4)
39 pam-ba 3.4 DATA CSET/'S1 ','S2 ','S3 ','S4 '/
40 cafagna 3.1 *
41     * Vector zeroed
42     *
43     CALL VZERO(IPLTOF,NHM)
44     CALL VZERO(IPADDLE,NHM)
45     CALL VZERO(IPARTOF,NHM)
46     CALL VZERO(XINTOF,NHM)
47     CALL VZERO(YINTOF,NHM)
48     CALL VZERO(ZINTOF,NHM)
49     CALL VZERO(XOUTTOF,NHM)
50     CALL VZERO(YOUTTOF,NHM)
51     CALL VZERO(ZOUTTOF,NHM)
52     CALL VZERO(ERELTOF,NHM)
53     CALL VZERO(TIMETOF,NHM)
54     CALL VZERO(PATHTOF,NHM)
55     CALL VZERO(P0TOF,NHM)
56 pam-ba 3.2 *
57 cafagna 3.1 CALL VZERO(NUMD ,NVOL)
58     *
59     * Start with tof top
60     *
61     NV = NVOL
62     NVM= NVMAX
63     IT = -1
64     NTHTOF = 0
65     INDEX = 0
66 pam-ba 3.2 cc DO II=1,7
67     DO II=1,4
68     DO III=1,2
69     IF(II.EQ.4.AND.III.EQ.2) GOTO 100
70     IS= II
71     cc ID= 1
72     ID=III
73     *
74 cafagna 3.1 * Check on the volume level
75     *
76 pam-ba 3.2 IF (NV.GT.NVM) THEN
77     WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX, IDRUN,
78     + IDEVT
79     CALL GMAIL(1,0)
80     GO TO 10
81     ENDIF
82     CALL VZERO(VHITS,NH*NHM)
83     CALL VZERO(ITRA ,NHM)
84     CALL VZERO(NUMBV,NVOL*NHM)
85     NHITS = -1
86     CALL GPRHIT(CSET(II),CNSED(IS,ID),IS,ID,NVOL,NH,NHM,1,
87     + IT,NUMD,ITRA,NUMBV,VHITS,NHITS)
88     *
89     * If there was a problem in GPRHIT then exit
90     *
91     IF(NHITS.LT.0) THEN
92     WRITE(CHMAIL,10200) CSET(IS),CNSED(IS,ID),NHITS,NHM,
93     + IDRUN,IDEVT
94     CALL GMAIL(1,0)
95     GO TO 10
96     ENDIF
97 cafagna 3.1 *
98     * Fill the CWN common
99     *
100 pam-ba 3.2 CC NPLANE = II
101     IF(III.EQ.1) NPLANE=2*II-1
102     IF(III.EQ.2) NPLANE=2*II
103     NTHTOF = NHITS + NTHTOF
104     DO I=1,NHITS
105     INDEX = INDEX + 1
106     IPLTOF(INDEX) = NPLANE
107 cafagna 3.1 *ML:
108 pam-ba 3.2 IPADDLE(INDEX) = NUMBV(NVTOF-1,I)
109     IF(II.EQ.4.AND.III.EQ.1) THEN
110     IPADDLE(INDEX)= NUMBV(NVS4,I)
111     ENDIF
112 cafagna 3.1 *END ML.
113     #if defined(GPAMELA_INTER)
114 pam-ba 3.2 XAVTOF(INDEX) = VHITS(1,I)
115     YAVTOF(INDEX) = VHITS(2,I)
116     ZAVTOF(INDEX) = VHITS(3,I)
117     XOUTTOF(INDEX) = VHITS(4,I)
118     YOUTTOF(INDEX) = VHITS(5,I)
119     ZOUTTOF(INDEX) = VHITS(6,I)
120     XINTOF(INDEX) = 2*XAVTOF(INDEX) - XOUTTOF(INDEX)
121     YINTOF(INDEX) = 2*YAVTOF(INDEX) - YOUTTOF(INDEX)
122     ZINTOF(INDEX) = 2*ZAVTOF(INDEX) - ZOUTTOF(INDEX)
123 cafagna 3.1 #endif
124     #if !defined(GPAMELA_INTER)
125 pam-ba 3.2 XINTOF(INDEX) = VHITS(1,I)
126     YINTOF(INDEX) = VHITS(2,I)
127     ZINTOF(INDEX) = VHITS(3,I)
128     XOUTTOF(INDEX) = VHITS(4,I)
129     YOUTTOF(INDEX) = VHITS(5,I)
130     ZOUTTOF(INDEX) = VHITS(6,I)
131     XAVTOF(INDEX) = (XINTOF(INDEX)+XOUTTOF(INDEX))/2.
132     YAVTOF(INDEX) = (YINTOF(INDEX)+YOUTTOF(INDEX))/2.
133     ZAVTOF(INDEX) = (ZINTOF(INDEX)+ZOUTTOF(INDEX))/2.
134 cafagna 3.1 #endif
135     *ML:
136     * ERELTOF(INDEX) = VHITS(7,I)
137 cafagna 3.3 ERELTOF(INDEX) = VHITS(7,I)
138 pam-ba 3.2 TIMETOF(INDEX) = VHITS(8,I)
139     PATHTOF(INDEX) = VHITS(9,I)
140     IPARTOF(INDEX) = VHITS(10,I)
141     * P0TOF (INDEX) = VHITS(11,I)
142 cafagna 3.3 P0TOF(INDEX) = VHITS(11,I)
143 pam-ba 3.2 ENDDO
144     100 CONTINUE
145 cafagna 3.1 ENDDO
146     ENDDO
147     *
148     10000 FORMAT(' GPDTOF: VOLUME level too big: SET=',A4,', DET=',A4,
149     + ',NVOL=',I3,', NVMAX=',I3,', RUN=',I5,', EVT=',I8)
150     10100 FORMAT(' GPDTOF: MAX number of hits retrived: SET=',A4,
151     + ', DET=',A4,',NHREAD=',I5,', NHMAX=',I5,
152     + ', RUN=',I5,', EVT=',I8)
153     10200 FORMAT(' GPDTOF: Error in GPRHIT: SET=',A4,
154     + ', DET=',A4,',NHITS=',I5,', NHMAX=',I5,
155     + ', RUN=',I5,', EVT=',I8)
156     10 RETURN
157     END

  ViewVC Help
Powered by ViewVC 1.1.23