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

Annotation of /gpamela/gptof/gpdtof.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.2 - (hide annotations) (download)
Tue May 2 11:46:13 2006 UTC (18 years, 7 months ago) by pam-ba
Branch: MAIN
CVS Tags: v4r5
Changes since 3.1: +74 -63 lines
TOF geometry and position updated and a new material, the mylar, added

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

  ViewVC Help
Powered by ViewVC 1.1.23