/[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.7 by bottai, Tue Feb 7 11:38:52 2006 UTC revision 3.10 by bottai, Tue May 8 15:05:18 2007 UTC
# Line 1  Line 1 
1  *  *
2  * $Id: gpdspe.F,v 3.6 2006/02/06 14:17:21 bottai Exp $  * $Id: gpdspe.F,v 3.9 2006/05/02 12:00:24 bottai Exp $
3  *  *
4  * $Log: gpdspe.F,v $  * $Log: gpdspe.F,v $
5    * Revision 3.9  2006/05/02 12:00:24  bottai
6    *  call gpucollection for strip simulation, condition on FFIELD repositioned
7    *
8    * Revision 3.8  2006/04/09 23:29:19  cafagna
9    * Several new things, among this: ND and CARD
10    *
11    * Revision 3.7  2006/02/07 11:38:52  bottai
12    *  test of mail delivery
13    *
14  * Revision 3.6  2006/02/06 14:17:21  bottai  * Revision 3.6  2006/02/06 14:17:21  bottai
15  *  adapt again the resolution simulation to the ITRPB volume identification  *  adapt again the resolution simulation to the ITRPB volume identification
16  *  *
# Line 45  c +SEQ,GPDSPE. Line 54  c +SEQ,GPDSPE.
54  #include "gprhit.inc"  #include "gprhit.inc"
55  #include "gpspe.inc"  #include "gpspe.inc"
56  #include "gpsed.inc"  #include "gpsed.inc"
57    #include "gpkey.inc"
58    *et. 04/11/2005
59    #include "gpstripspe.inc"
60    *end et.
61  *  *
62        INTEGER IS,ID,NV,NVM,GPNHIT,NTHIT,NHFRST        INTEGER IS,ID,NV,NVM,GPNHIT,NTHIT,NHFRST
63        CHARACTER*4 CSET        CHARACTER*4 CSET
# Line 58  c +SEQ,GPDSPE. Line 71  c +SEQ,GPDSPE.
71        REAL VPOS(3),BMAGNET(3),ANGLEX,ANGLEY,XMULT,YMULT,DXPOS,DYPOS        REAL VPOS(3),BMAGNET(3),ANGLEX,ANGLEY,XMULT,YMULT,DXPOS,DYPOS
72  *  *
73        DATA NTRA,LTRA/1,1/        DATA NTRA,LTRA/1,1/
74    
75    *et. 04/11/2005
76    *
77    *
78    * Vector zeroed
79    *
80          CALL VZERO(ISTRIPX,MAXSTR)            
81          CALL VZERO(NPSTRIPX,MAXSTR)            
82          CALL VZERO(NTSTRIPX,MAXSTR)
83          CALL VZERO(QSTRIPX,MAXSTR)
84          CALL VZERO(XSTRIPX,MAXSTR)
85          CALL VZERO(ISTRIPY,MAXSTR)            
86          CALL VZERO(NPSTRIPY,MAXSTR)            
87          CALL VZERO(NTSTRIPY,MAXSTR)
88          CALL VZERO(QSTRIPY,MAXSTR)
89          CALL VZERO(YSTRIPY,MAXSTR)
90          NSTRPX=0
91          NSTRPY=0
92          
93    *
94    
95          do ip=1,nplanes
96             do iip=1,nsensors
97                 isignyesx=0
98                 isignyesy=0
99                 do iiip=1,nstripx
100                    if(proxtanti(ip,iip,iiip).gt.0) then
101                        isignyesx=1
102                        GO TO 456
103                    endif
104                 enddo
105                 do iiip=1,nstripy
106                     if(proytanti(ip,iip,iiip).gt.0) then
107                          isignyesy=1
108                          GO TO 456
109                     endif
110                 enddo
111    456          if(isignyesx.eq.1.or.isignyesy.eq.1) then
112                     call gpucollection(ip,iip)
113                 endif
114             enddo
115          enddo
116    
117    
118    
119    
120  *  *
121  *  *
122  * Vector zeroed  * Vector zeroed
# Line 65  c +SEQ,GPDSPE. Line 124  c +SEQ,GPDSPE.
124        CALL VZERO(ITRPB ,NHM)        CALL VZERO(ITRPB ,NHM)
125        CALL VZERO(ITRSL ,NHM)        CALL VZERO(ITRSL ,NHM)
126        CALL VZERO(ITSPA ,NHM)        CALL VZERO(ITSPA ,NHM)
127          CALL VZERO(NXMULT ,NHM)
128          CALL VZERO(NYMULT ,NHM)      
129        CALL VZERO(XTSPA,NHM)        CALL VZERO(XTSPA,NHM)
130        CALL VZERO(YTSPA,NHM)        CALL VZERO(YTSPA,NHM)
131        CALL VZERO(ZTSPA,NHM)        CALL VZERO(ZTSPA,NHM)
# Line 155  c +SEQ,GPDSPE. Line 216  c +SEQ,GPDSPE.
216           PATHSPE(I) = VHITS(8,I)           PATHSPE(I) = VHITS(8,I)
217           IPARSPE(I) = VHITS(9,I)           IPARSPE(I) = VHITS(9,I)
218           P0SPE (I) = VHITS(10,I)           P0SPE (I) = VHITS(10,I)
219    
220  C  C
221  C ADD RESOLUTION SIMULATION TO XAVSPE  C ADD RESOLUTION SIMULATION TO XAVSPE
222  C          C        
223           ANGLEX=0.           ANGLEX=0.
224           ANGLEY=0.           ANGLEY=0.
225           IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN           IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN
226              ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/              ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/
227       +              ABS(ZOUTSPE(I)-ZINSPE(I) ) )       +           ABS(ZOUTSPE(I)-ZINSPE(I) ) )
228              ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/              ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/
229       +              ABS(ZOUTSPE(I)-ZINSPE(I) ) )                 +           ABS(ZOUTSPE(I)-ZINSPE(I) ) )          
230           ENDIF           ENDIF
231                
232           VPOS(1)=XAVSPE(I)           VPOS(1)=XAVSPE(I)
233           VPOS(2)=YAVSPE(I)           VPOS(2)=YAVSPE(I)
234           VPOS(3)=ZAVSPE(I)                 VPOS(3)=ZAVSPE(I)      
235           CALL GUFLD(VPOS,BMAGNET)           CALL GUFLD(VPOS,BMAGNET)
236                
237           CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS)           CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS)
238    
239           NXMULT(I)=INT(XMULT)           NXMULT(I)=INT(XMULT)
240           NYMULT(I)=INT(YMULT)           NYMULT(I)=INT(YMULT)
241                
242           XAVSPE(I) = XAVSPE(I) + DXPOS           XAVSPE(I) = XAVSPE(I) + DXPOS
243           YAVSPE(I) = YAVSPE(I) + DYPOS           YAVSPE(I) = YAVSPE(I) + DYPOS
244    
245  C  C
246  C ADD THE SHIFT INDUCED BY THE MAG. FIELD  C ADD THE SHIFT INDUCED BY THE MAG. FIELD
247  C  C
248    cv
249           IF(ITRPB(I).LT.6) THEN  cv 8/05/2007 not anymore needed since the effect is corrected in reco
250              XAVSPE(I) = XAVSPE(I) - 2.64e-4/4.5*BMAGNET(2)  cv before calculating the positions for fit
251           ELSE IF(ITRPB(I).EQ.6) THEN  cv
252              XAVSPE(I) = XAVSPE(I) + 2.64e-4/4.5*BMAGNET(2)  cv         IF(FFIELD.NE.0) THEN
253           ENDIF  cv      
254    cv            IF(ITRPB(I).LT.6) THEN
255    cv               XAVSPE(I) = XAVSPE(I) + 2.64e-4/4.5*BMAGNET(2)
256    cv            ELSE IF(ITRPB(I).EQ.6) THEN
257    cv               XAVSPE(I) = XAVSPE(I) - 2.64e-4/4.5*BMAGNET(2)
258    cv            ENDIF
259    cv         ENDIF  
260        ENDDO        ENDDO
261    
262  *  *
263  * Loop on the hits retrived to fill the CWN common and the DIGI b  * Loop on the hits retrived to fill the CWN common and the DIGI b
264  *  *

Legend:
Removed from v.3.7  
changed lines
  Added in v.3.10

  ViewVC Help
Powered by ViewVC 1.1.23