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

Diff of /gpamela/gpspe/gpudiffusion.F

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

revision 3.2 by bottai, Tue May 8 15:02:39 2007 UTC revision 3.3 by pam-fi, Fri Apr 23 10:06:36 2010 UTC
# Line 28  Line 28 
28  #include "gpgene.inc"  #include "gpgene.inc"
29  #include "gpkey.inc"  #include "gpkey.inc"
30    
31          INTEGER IACT,NUMVOL(20)          INTEGER IACT,NUMVOL(20),numsens
32          REAL DELOSS, TRAPAR(7),xyzspa(3),VPOS(3),xyzspac(3)          REAL DELOSS, TRAPAR(7),xyzspa(3),VPOS(3),xyzspac(3)
33          REAL BMAGNET(3),STRPOSL(3),STRPOSG(3)          REAL BMAGNET(3),STRPOSL(3),STRPOSG(3)
34          INTEGER ONCE          INTEGER ONCE
35          DATA ONCE /0/          DATA ONCE /0/
36          SAVE ONCE          SAVE ONCE
37    
38          IF(NUMVOL(1).NE.0) THEN          NSPEPLANE=INT((NUMVOL(2)-1)/6)+1
39             NSPEPLANE=NUMVOL(1)          numsens=NUMVOL(2)-(NSPEPLANE-1)*6
         ELSE IF(NUMVOL(1).EQ.0) THEN  
            NSPEPLANE=6  
         ENDIF  
40    
41    
42          VPOS(1)=TRAPAR(1)-STEP/2.*TRAPAR(4)              VPOS(1)=TRAPAR(1)-STEP/2.*TRAPAR(4)    
# Line 75  Line 72 
72            CALL GUFLD(VPOS,BMAGNET)            CALL GUFLD(VPOS,BMAGNET)
73    
74  c  c
 c to be checked  
75  c  c
76            xshift=xyzspa(1)+zdown*hallmob*1.e-4*BMAGNET(2)/10.            xshift=xyzspa(1)+zdown*hallmob*1.e-4*BMAGNET(2)/10.
77            IF(NSPEPLANE.EQ.6) xshift=xyzspa(1)-            IF(NSPEPLANE.EQ.6) xshift=xyzspa(1)-
# Line 115  c Line 111  c
111               qfract=0.5*erfc((xqdivjm1-xshift)/(sqrt(2.)*sigxi))               qfract=0.5*erfc((xqdivjm1-xshift)/(sqrt(2.)*sigxi))
112       +           -0.5*erfc((xqdivj-xshift)/(sqrt(2.)*sigxi))       +           -0.5*erfc((xqdivj-xshift)/(sqrt(2.)*sigxi))
113    
114               proxtanti(NSPEPLANE,numvol(2),j)=               proxtanti(NSPEPLANE,numsens,j)=
115       +       proxtanti(NSPEPLANE,numvol(2),j)+delossmev*qfract       +       proxtanti(NSPEPLANE,numsens,j)+delossmev*qfract
116               IF(GLOBSTRIPX(NSPEPLANE,NUMVOL(2),J).EQ.0.) THEN               IF(GLOBSTRIPX(NSPEPLANE,numsens,J).EQ.0.) THEN
117                STRPOSL(1)=XSTRIP(J)                STRPOSL(1)=XSTRIP(J)
118                STRPOSL(2)=0.                STRPOSL(2)=0.
119                STRPOSL(3)=0.                STRPOSL(3)=0.
120                CALL GDTOM(STRPOSL,STRPOSG,1)                CALL GDTOM(STRPOSL,STRPOSG,1)
121                GLOBSTRIPX(NSPEPLANE,NUMVOL(2),J)=STRPOSG(1)                GLOBSTRIPX(NSPEPLANE,numsens,J)=STRPOSG(1)
122               ENDIF               ENDIF
123    
124             enddo             enddo
# Line 161  c Line 157  c
157               qfract=0.5*erfc((yqdivjm1-xyzspa(2))/(sqrt(2.)*sigyi))               qfract=0.5*erfc((yqdivjm1-xyzspa(2))/(sqrt(2.)*sigyi))
158       +           -0.5*erfc((yqdivj-xyzspa(2))/(sqrt(2.)*sigyi))       +           -0.5*erfc((yqdivj-xyzspa(2))/(sqrt(2.)*sigyi))
159    
160               proytanti(NSPEPLANE,numvol(2),j)=               proytanti(NSPEPLANE,numsens,j)=
161       +       proytanti(NSPEPLANE,numvol(2),j)+delossmev*qfract       +       proytanti(NSPEPLANE,numsens,j)+delossmev*qfract
162    
163               IF(GLOBSTRIPY(NSPEPLANE,NUMVOL(2),J).EQ.0.) THEN               IF(GLOBSTRIPY(NSPEPLANE,numsens,J).EQ.0.) THEN
164                STRPOSL(1)=0.                STRPOSL(1)=0.
165                STRPOSL(2)=YSTRIP(J)                STRPOSL(2)=YSTRIP(J)
166                STRPOSL(3)=0.                STRPOSL(3)=0.
167                CALL GDTOM(STRPOSL,STRPOSG,1)                CALL GDTOM(STRPOSL,STRPOSG,1)
168                GLOBSTRIPY(NSPEPLANE,NUMVOL(2),J)=STRPOSG(2)                GLOBSTRIPY(NSPEPLANE,numsens,J)=STRPOSG(2)
169               ENDIF               ENDIF
170    
171             enddo             enddo

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

  ViewVC Help
Powered by ViewVC 1.1.23