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

Diff of /gpamela/gptof/gpdtof.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3.1 by cafagna, Thu Jul 11 16:02:01 2002 UTC revision 3.3 by cafagna, Tue May 2 18:00:11 2006 UTC
# Line 1  Line 1 
1  *  *
2  * $Id$  * $Id: gpdtof.F,v 3.2 2006/05/02 11:46:13 pam-ba Exp $
3    *
4    * $Log: gpdtof.F,v $
5    * Revision 3.2  2006/05/02 11:46:13  pam-ba
6    * TOF geometry and position updated and a new material, the mylar, added
7    *
8    * Revision 3.1.1.1  2002/07/11 16:02:01  cafagna
9    * First GPAMELA release on CVS
10  *  *
 * $Log$  
11  *  *
12  *CMZ :  2.01/00 06/03/2000  13.07.03  by  Francesco Cafagna  *CMZ :  2.01/00 06/03/2000  13.07.03  by  Francesco Cafagna
13  *CMZ :  2.00/00 25/02/2000  17.16.49  by  Francesco Cafagna  *CMZ :  2.00/00 25/02/2000  17.16.49  by  Francesco Cafagna
# Line 26  Line 32 
32  #include "gpsed.inc"  #include "gpsed.inc"
33  *  *
34        INTEGER IS,ID,NV,NVM,NNHM,INDEX,NPLANE        INTEGER IS,ID,NV,NVM,NNHM,INDEX,NPLANE
35        CHARACTER*4 CSET(7)        CHARACTER*4 CSET(4)
36        DATA CSET/'S11 ','S12 ','S21 ','S22 ','S31 ','S32 ','S4  '/        DATA CSET/'S1  ','S2  ','S3A ','S4  '/
37  *  *
38  * Vector zeroed  * Vector zeroed
39  *  *
# Line 44  Line 50 
50        CALL VZERO(TIMETOF,NHM)        CALL VZERO(TIMETOF,NHM)
51        CALL VZERO(PATHTOF,NHM)        CALL VZERO(PATHTOF,NHM)
52        CALL VZERO(P0TOF,NHM)        CALL VZERO(P0TOF,NHM)
53  *  *    
54        CALL VZERO(NUMD  ,NVOL)        CALL VZERO(NUMD  ,NVOL)
55  *  *
56  * Start with tof top  * Start with tof top
# Line 54  Line 60 
60        IT = -1        IT = -1
61        NTHTOF = 0        NTHTOF = 0
62        INDEX = 0        INDEX = 0
63        DO II=1,7  cc      DO II=1,7
64           IS= II        DO II=1,4
65           ID= 1           DO III=1,2
66  *              IF(II.EQ.4.AND.III.EQ.2) GOTO 100
67                IS= II
68    cc         ID= 1
69                ID=III
70    *    
71  * Check on the volume level  * Check on the volume level
72  *  *
73           IF (NV.GT.NVM) THEN              IF (NV.GT.NVM) THEN
74              WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX, IDRUN,                 WRITE(CHMAIL,10000) CSET,CNSED(IS,ID),NVOL,NVMAX, IDRUN,
75       +      IDEVT       +              IDEVT
76              CALL GMAIL(1,0)                 CALL GMAIL(1,0)
77              GO TO 10                 GO TO 10
78           ENDIF              ENDIF
79           CALL VZERO(VHITS,NH*NHM)              CALL VZERO(VHITS,NH*NHM)
80           CALL VZERO(ITRA ,NHM)              CALL VZERO(ITRA ,NHM)
81           CALL VZERO(NUMBV,NVOL*NHM)              CALL VZERO(NUMBV,NVOL*NHM)
82           NHITS = -1              NHITS = -1
83           CALL GPRHIT(CSET(II),CNSED(IS,ID),IS,ID,NVOL,NH,NHM,1,              CALL GPRHIT(CSET(II),CNSED(IS,ID),IS,ID,NVOL,NH,NHM,1,
84       +   IT,NUMD,ITRA,NUMBV,VHITS,NHITS)       +           IT,NUMD,ITRA,NUMBV,VHITS,NHITS)
85  *  *    
86  * If there was a problem in GPRHIT then exit  *     If there was a problem in GPRHIT then exit
87  *  *    
88           IF(NHITS.LT.0) THEN              IF(NHITS.LT.0) THEN
89              WRITE(CHMAIL,10200) CSET(IS),CNSED(IS,ID),NHITS,NHM,                 WRITE(CHMAIL,10200) CSET(IS),CNSED(IS,ID),NHITS,NHM,
90       +      IDRUN,IDEVT       +              IDRUN,IDEVT
91              CALL GMAIL(1,0)                 CALL GMAIL(1,0)
92              GO TO 10                 GO TO 10
93           ENDIF              ENDIF
94  *  *
95  * Fill the CWN common  * Fill the CWN common
96  *  *
97           NPLANE = II  CC         NPLANE = II
98           NTHTOF = NHITS + NTHTOF              IF(III.EQ.1) NPLANE=2*II-1
99           DO I=1,NHITS              IF(III.EQ.2) NPLANE=2*II
100              INDEX = INDEX + 1              NTHTOF = NHITS + NTHTOF
101              IPLTOF(INDEX) = NPLANE              DO I=1,NHITS
102                   INDEX = INDEX + 1
103                   IPLTOF(INDEX) = NPLANE
104  *ML:  *ML:
105              IPADDLE(INDEX) = NUMBV(NVTOF,I)                 IPADDLE(INDEX) = NUMBV(NVTOF-1,I)
106              IF(II.EQ.7) THEN                 IF(II.EQ.4.AND.III.EQ.1) THEN
107                 IPADDLE(INDEX) = NUMBV(NVS4,I)                    IPADDLE(INDEX)= NUMBV(NVS4,I)
108              ENDIF                 ENDIF
109  *END ML.  *END ML.
110  #if defined(GPAMELA_INTER)  #if defined(GPAMELA_INTER)
111              XAVTOF(INDEX) = VHITS(1,I)                 XAVTOF(INDEX) = VHITS(1,I)
112              YAVTOF(INDEX) = VHITS(2,I)                 YAVTOF(INDEX) = VHITS(2,I)
113              ZAVTOF(INDEX) = VHITS(3,I)                 ZAVTOF(INDEX) = VHITS(3,I)
114              XOUTTOF(INDEX) = VHITS(4,I)                 XOUTTOF(INDEX) = VHITS(4,I)
115              YOUTTOF(INDEX) = VHITS(5,I)                 YOUTTOF(INDEX) = VHITS(5,I)
116              ZOUTTOF(INDEX) = VHITS(6,I)                 ZOUTTOF(INDEX) = VHITS(6,I)
117              XINTOF(INDEX) = 2*XAVTOF(INDEX) - XOUTTOF(INDEX)                 XINTOF(INDEX) = 2*XAVTOF(INDEX) - XOUTTOF(INDEX)
118              YINTOF(INDEX) = 2*YAVTOF(INDEX) - YOUTTOF(INDEX)                 YINTOF(INDEX) = 2*YAVTOF(INDEX) - YOUTTOF(INDEX)
119              ZINTOF(INDEX) = 2*ZAVTOF(INDEX) - ZOUTTOF(INDEX)                 ZINTOF(INDEX) = 2*ZAVTOF(INDEX) - ZOUTTOF(INDEX)
120  #endif  #endif
121  #if !defined(GPAMELA_INTER)  #if !defined(GPAMELA_INTER)
122              XINTOF(INDEX) = VHITS(1,I)                 XINTOF(INDEX) = VHITS(1,I)
123              YINTOF(INDEX) = VHITS(2,I)                 YINTOF(INDEX) = VHITS(2,I)
124              ZINTOF(INDEX) = VHITS(3,I)                 ZINTOF(INDEX) = VHITS(3,I)
125              XOUTTOF(INDEX) = VHITS(4,I)                 XOUTTOF(INDEX) = VHITS(4,I)
126              YOUTTOF(INDEX) = VHITS(5,I)                 YOUTTOF(INDEX) = VHITS(5,I)
127              ZOUTTOF(INDEX) = VHITS(6,I)                 ZOUTTOF(INDEX) = VHITS(6,I)
128              XAVTOF(INDEX) = (XINTOF(INDEX)+XOUTTOF(INDEX))/2.                 XAVTOF(INDEX) = (XINTOF(INDEX)+XOUTTOF(INDEX))/2.
129              YAVTOF(INDEX) = (YINTOF(INDEX)+YOUTTOF(INDEX))/2.                 YAVTOF(INDEX) = (YINTOF(INDEX)+YOUTTOF(INDEX))/2.
130              ZAVTOF(INDEX) = (ZINTOF(INDEX)+ZOUTTOF(INDEX))/2.                 ZAVTOF(INDEX) = (ZINTOF(INDEX)+ZOUTTOF(INDEX))/2.
131  #endif  #endif
132  *ML:  *ML:
133  *            ERELTOF(INDEX) = VHITS(7,I)  *            ERELTOF(INDEX) = VHITS(7,I)
134              ERELTOF(INDEX) = VHITS(11,I)                 ERELTOF(INDEX) = VHITS(7,I)
135              TIMETOF(INDEX) = VHITS(8,I)                 TIMETOF(INDEX) = VHITS(8,I)
136              PATHTOF(INDEX) = VHITS(9,I)                 PATHTOF(INDEX) = VHITS(9,I)
137              IPARTOF(INDEX) = VHITS(10,I)                 IPARTOF(INDEX) = VHITS(10,I)
138  *            P0TOF (INDEX) = VHITS(11,I)  *     P0TOF (INDEX) = VHITS(11,I)
139              P0TOF(INDEX) = VHITS(7,I)                 P0TOF(INDEX) = VHITS(11,I)
140                ENDDO
141     100        CONTINUE
142           ENDDO           ENDDO
143        ENDDO        ENDDO
144  *  *

Legend:
Removed from v.3.1  
changed lines
  Added in v.3.3

  ViewVC Help
Powered by ViewVC 1.1.23