/[PAMELA software]/gpamela/gpspe/gpdspe.F
ViewVC logotype

Diff of /gpamela/gpspe/gpdspe.F

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

revision 3.8 by cafagna, Sun Apr 9 23:29:19 2006 UTC revision 3.11 by pam-fi, Fri Apr 23 10:03:06 2010 UTC
# Line 1  Line 1 
1  *  *
2  * $Id: gpdspe.F,v 3.7 2006/02/07 11:38:52 bottai Exp $  * $Id: gpdspe.F,v 3.10 2007/05/08 15:05:18 bottai Exp $
3  *  *
4  * $Log: gpdspe.F,v $  * $Log: gpdspe.F,v $
5    * Revision 3.10  2007/05/08 15:05:18  bottai
6    *  avoid simulating Lorentz angle drift in SPE spread positions
7    *  since new reconstruction correct it at strip level
8    *
9    * Revision 3.9  2006/05/02 12:00:24  bottai
10    *  call gpucollection for strip simulation, condition on FFIELD repositioned
11    *
12    * Revision 3.8  2006/04/09 23:29:19  cafagna
13    * Several new things, among this: ND and CARD
14    *
15  * Revision 3.7  2006/02/07 11:38:52  bottai  * Revision 3.7  2006/02/07 11:38:52  bottai
16  *  test of mail delivery  *  test of mail delivery
17  *  *
# Line 49  c +SEQ,GPDSPE. Line 59  c +SEQ,GPDSPE.
59  #include "gpspe.inc"  #include "gpspe.inc"
60  #include "gpsed.inc"  #include "gpsed.inc"
61  #include "gpkey.inc"  #include "gpkey.inc"
62    *et. 04/11/2005
63    #include "gpstripspe.inc"
64    *end et.
65  *  *
66        INTEGER IS,ID,NV,NVM,GPNHIT,NTHIT,NHFRST        INTEGER IS,ID,NV,NVM,GPNHIT,NTHIT,NHFRST
67        CHARACTER*4 CSET        CHARACTER*4 CSET
# Line 62  c +SEQ,GPDSPE. Line 75  c +SEQ,GPDSPE.
75        REAL VPOS(3),BMAGNET(3),ANGLEX,ANGLEY,XMULT,YMULT,DXPOS,DYPOS        REAL VPOS(3),BMAGNET(3),ANGLEX,ANGLEY,XMULT,YMULT,DXPOS,DYPOS
76  *  *
77        DATA NTRA,LTRA/1,1/        DATA NTRA,LTRA/1,1/
78    
79    *et. 04/11/2005
80    *
81    *
82    * Vector zeroed
83    *
84          CALL VZERO(ISTRIPX,MAXSTR)            
85          CALL VZERO(NPSTRIPX,MAXSTR)            
86          CALL VZERO(NTSTRIPX,MAXSTR)
87          CALL VZERO(QSTRIPX,MAXSTR)
88          CALL VZERO(XSTRIPX,MAXSTR)
89          CALL VZERO(ISTRIPY,MAXSTR)            
90          CALL VZERO(NPSTRIPY,MAXSTR)            
91          CALL VZERO(NTSTRIPY,MAXSTR)
92          CALL VZERO(QSTRIPY,MAXSTR)
93          CALL VZERO(YSTRIPY,MAXSTR)
94          NSTRPX=0
95          NSTRPY=0
96          
97    *
98    
99          do ip=1,nplanes
100             do iip=1,nsensors
101                 isignyesx=0
102                 isignyesy=0
103                 do iiip=1,nstripx
104                    if(proxtanti(ip,iip,iiip).gt.0) then
105                        isignyesx=1
106                        GO TO 456
107                    endif
108                 enddo
109                 do iiip=1,nstripy
110                     if(proytanti(ip,iip,iiip).gt.0) then
111                          isignyesy=1
112                          GO TO 456
113                     endif
114                 enddo
115    456          if(isignyesx.eq.1.or.isignyesy.eq.1) then
116                     call gpucollection(ip,iip)
117                 endif
118             enddo
119          enddo
120    
121    
122    
123    
124  *  *
125  *  *
126  * Vector zeroed  * Vector zeroed
# Line 69  c +SEQ,GPDSPE. Line 128  c +SEQ,GPDSPE.
128        CALL VZERO(ITRPB ,NHM)        CALL VZERO(ITRPB ,NHM)
129        CALL VZERO(ITRSL ,NHM)        CALL VZERO(ITRSL ,NHM)
130        CALL VZERO(ITSPA ,NHM)        CALL VZERO(ITSPA ,NHM)
131          CALL VZERO(NXMULT ,NHM)
132          CALL VZERO(NYMULT ,NHM)      
133        CALL VZERO(XTSPA,NHM)        CALL VZERO(XTSPA,NHM)
134        CALL VZERO(YTSPA,NHM)        CALL VZERO(YTSPA,NHM)
135        CALL VZERO(ZTSPA,NHM)        CALL VZERO(ZTSPA,NHM)
# Line 130  c +SEQ,GPDSPE. Line 191  c +SEQ,GPDSPE.
191  *  *
192        NTHSPE = NHITS        NTHSPE = NHITS
193        DO I=1,NHITS        DO I=1,NHITS
194           ITRPB(I)   = NUMBV(1,I)           NSPEPLANE=INT((NUMBV(2,I)-1)/6)+1
195           ITRSL(I)   = NUMBV(2,I)           NUMSENS=NUMBV(2,I)-(NSPEPLANE-1)*6  
196             ITRPB(I)   = NSPEPLANE
197             ITRSL(I)   = NUMSENS
198           ITSPA(I)   = NUMBV(3,I)           ITSPA(I)   = NUMBV(3,I)
199  #if defined(GPAMELA_INTER)  #if defined(GPAMELA_INTER)
200           XAVSPE(I) = VHITS(1,I)           XAVSPE(I) = VHITS(1,I)
# Line 159  c +SEQ,GPDSPE. Line 222  c +SEQ,GPDSPE.
222           PATHSPE(I) = VHITS(8,I)           PATHSPE(I) = VHITS(8,I)
223           IPARSPE(I) = VHITS(9,I)           IPARSPE(I) = VHITS(9,I)
224           P0SPE (I) = VHITS(10,I)           P0SPE (I) = VHITS(10,I)
225           IF(FFIELD.NE.0) THEN  
226  C  C
227  C ADD RESOLUTION SIMULATION TO XAVSPE  C ADD RESOLUTION SIMULATION TO XAVSPE
228  C          C        
229              ANGLEX=0.           ANGLEX=0.
230              ANGLEY=0.           ANGLEY=0.
231              IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN           IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN
232                 ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/              ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/
233       +              ABS(ZOUTSPE(I)-ZINSPE(I) ) )       +           ABS(ZOUTSPE(I)-ZINSPE(I) ) )
234                 ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/              ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/
235       +              ABS(ZOUTSPE(I)-ZINSPE(I) ) )                 +           ABS(ZOUTSPE(I)-ZINSPE(I) ) )          
236              ENDIF           ENDIF
237                            
238              VPOS(1)=XAVSPE(I)           VPOS(1)=XAVSPE(I)
239              VPOS(2)=YAVSPE(I)           VPOS(2)=YAVSPE(I)
240              VPOS(3)=ZAVSPE(I)               VPOS(3)=ZAVSPE(I)      
241              CALL GUFLD(VPOS,BMAGNET)           CALL GUFLD(VPOS,BMAGNET)
242                            
243              CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS)           CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS)
244    
245              NXMULT(I)=INT(XMULT)           NXMULT(I)=INT(XMULT)
246              NYMULT(I)=INT(YMULT)           NYMULT(I)=INT(YMULT)
247                            
248              XAVSPE(I) = XAVSPE(I) + DXPOS           XAVSPE(I) = XAVSPE(I) + DXPOS
249              YAVSPE(I) = YAVSPE(I) + DYPOS           YAVSPE(I) = YAVSPE(I) + DYPOS
250    
251  C  C
252  C ADD THE SHIFT INDUCED BY THE MAG. FIELD  C ADD THE SHIFT INDUCED BY THE MAG. FIELD
253  C  C
254    cv
255              IF(ITRPB(I).LT.6) THEN  cv 8/05/2007 not anymore needed since the effect is corrected in reco
256                 XAVSPE(I) = XAVSPE(I) - 2.64e-4/4.5*BMAGNET(2)  cv before calculating the positions for fit
257              ELSE IF(ITRPB(I).EQ.6) THEN  cv
258                 XAVSPE(I) = XAVSPE(I) + 2.64e-4/4.5*BMAGNET(2)  cv         IF(FFIELD.NE.0) THEN
259              ENDIF  cv      
260           ENDIF    cv            IF(ITRPB(I).LT.6) THEN
261    cv               XAVSPE(I) = XAVSPE(I) + 2.64e-4/4.5*BMAGNET(2)
262    cv            ELSE IF(ITRPB(I).EQ.6) THEN
263    cv               XAVSPE(I) = XAVSPE(I) - 2.64e-4/4.5*BMAGNET(2)
264    cv            ENDIF
265    cv         ENDIF  
266        ENDDO        ENDDO
267    
268  *  *

Legend:
Removed from v.3.8  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23