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

Diff of /gpamela/gpspe/gpucollection.F

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

revision 3.1 by bottai, Tue May 2 11:55:31 2006 UTC revision 3.3 by bottai, Wed Dec 23 13:39:13 2009 UTC
# Line 17  Line 17 
17  ***************************************************************************  ***************************************************************************
18    
19  #include "gpstripspe.inc"  #include "gpstripspe.inc"
20    c
21    c eventually to be removed in future version containing the BADVA1 filling
22    c
23            DATA BADVA1/ntotva1*1/
24    c
25    c new strip capacitance simulation 19/02/09 S. Bottai
26    c        
27    c
28          dimension stripqxtanti(nstripx)          dimension stripqxtanti(nstripx)
29          dimension stripqytanti(nstripy)          dimension stripqytanti(nstripy)
30                    
# Line 73  Line 80 
80                                                            
81          c=cistrx/cdec          c=cistrx/cdec
82          c2=cistrx2/cdec          c2=cistrx2/cdec
           
   
83    
84    
85          do j=8,nstripx-6,2       ! only even strips on X side          do j=8,nstripx-6,2       ! only even strips on X side
86              jm2=1  CV            jm2=1
87              IF(j-2.lt.8) jm2=0  CV            IF(j-2.lt.8) jm2=0
88              jp2=1  CV            jp2=1
89              IF(j+2.gt.(nstripx-6)) jp2=0  CV            IF(j+2.gt.(nstripx-6)) jp2=0
90              jm4=1  CV            jm4=1
91              IF(j-4.lt.8) jm4=0  CV            IF(j-4.lt.8) jm4=0
92              jp4=1  CV            jp4=1
93              IF(j+4.gt.(nstripx-6)) jp4=0  CV            IF(j+4.gt.(nstripx-6)) jp4=0
94    
95              stripqxtanti(j)=proxtanti(np,nt,j)*(1.-2.*(c+c2))+                  
96       +   c*(1.-2.*c)*(jm2*proxtanti(np,nt,j-2)              stripqxtanti(j)=proxtanti(np,nt,j)
97       +   +jp2*proxtanti(np,nt,j+2))+              SUMF=0.
98       +  (c**2)*(jm4*proxtanti(np,nt,j-4)*(1.+c2/(c**2))+  CV            DO KK=1,15  
99       +   2.*proxtanti(np,nt,j)+jp4*proxtanti(np,nt,j+4)*(1.+c2/(c**2)))              DO KK=1,4
100                KF=KK*2
101                IF(KK.EQ.1) FN=F1
102                IF(KK.EQ.2) FN=F2
103                IF(KK.EQ.3) FN=F3
104                IF(KK.EQ.4) FN=F4
105                IF(KK.GE.5) FN=F1/KK
106                  IF((J-KF).GE.8) THEN
107                     stripqxtanti(j)=stripqxtanti(j)+FN*proxtanti(np,nt,j-KF)
108                     SUMF=SUMF+FN
109                  ENDIF
110                  IF((J+KF).LE.(nstripx-6)) THEN
111                     stripqxtanti(j)=stripqxtanti(j)+FN*proxtanti(np,nt,j+KF)
112                     SUMF=SUMF+FN
113                  ENDIF
114                ENDDO
115    
116                stripqxtanti(j)=stripqxtanti(j)-SUMF*proxtanti(np,nt,j)
117                
118    cv          stripqxtanti(j)=proxtanti(np,nt,j)*(1.-2.*(c+c2))+    
119    cv     +   c*(1.-2.*c)*(jm2*proxtanti(np,nt,j-2)
120    cv     +   +jp2*proxtanti(np,nt,j+2))+
121    cv     +  (c**2)*(jm4*proxtanti(np,nt,j-4)*(1.+c2/(c**2))+
122    cv     +   2.*proxtanti(np,nt,j)+jp4*proxtanti(np,nt,j+4)*(1.+c2/(c**2)))
123            
124    
125              if(stripqxtanti(j).gt.1.e-8) then              if(stripqxtanti(j).gt.1.e-8) then
126                NSTRPX=NSTRPX+1  
127                floatadcx=stripqxtanti(j)*xcalib                IVA1=INT((J/2-1)/128)+1
128                IF(NSTRPX.GT.MAXSTR) THEN                IF(badva1(NP*2,LADD,IVA1).EQ.1) THEN              
129                  WRITE(6,*) 'ERROR - NSTRPX > MAXSTR'                 NSTRPX=NSTRPX+1
130                  NSTRPX=MAXSTR                 floatadcx=stripqxtanti(j)*xcalib
131                ENDIF                           IF(NSTRPX.GT.MAXSTR) THEN
132                NPSTRIPX(NSTRPX)=NP                   WRITE(6,*) 'ERROR - NSTRPX > MAXSTR'
133                NTSTRIPX(NSTRPX)=NT                   NSTRPX=MAXSTR
134                ISTRIPX(NSTRPX)=(J/2)+(LADD-1)*1024                 ENDIF          
135                QSTRIPX(NSTRPX)=floatadcx                 NPSTRIPX(NSTRPX)=NP
136                XSTRIPX(NSTRPX)=GLOBSTRIPX(NP,NT,J)                             NTSTRIPX(NSTRPX)=NT
137                   ISTRIPX(NSTRPX)=(J/2)+(LADD-1)*1024
138                   QSTRIPX(NSTRPX)=floatadcx
139                   XSTRIPX(NSTRPX)=GLOBSTRIPX(NP,NT,J)            
140                  ENDIF
141    
142              endif              endif
143          enddo          enddo
144                    
# Line 150  Line 185 
185       +    jp2*proytanti(np,nt,jpiu2))       +    jp2*proytanti(np,nt,jpiu2))
186    
187             if(stripqytanti(j).gt.1.e-8) then             if(stripqytanti(j).gt.1.e-8) then
              NSTRPY=NSTRPY+1  
              IF(NSTRPY.GT.MAXSTR) THEN  
                WRITE(6,*) 'ERROR - NSTRPY > MAXSTR'  
                NSTRPY=MAXSTR  
              ENDIF  
              floatadcy=stripqytanti(j)*ycalib  
              NPSTRIPY(NSTRPY)=NP  
              NTSTRIPY(NSTRPY)=NT  
              ISTRIPY(NSTRPY)=J+(LADD-1)*1024  
              QSTRIPY(NSTRPY)=FLOATADCY  
              YSTRIPY(NSTRPY)=GLOBSTRIPY(NP,NT,J)  
188    
189    
190                 IVA1=INT((J-1)/128)+1
191                 IF(badva1(NP*2-1,LADD,IVA1).EQ.1) THEN          
192    
193                  NSTRPY=NSTRPY+1
194                  IF(NSTRPY.GT.MAXSTR) THEN
195                    WRITE(6,*) 'ERROR - NSTRPY > MAXSTR'
196                    NSTRPY=MAXSTR
197                  ENDIF
198                  floatadcy=stripqytanti(j)*ycalib
199                  NPSTRIPY(NSTRPY)=NP
200                  NTSTRIPY(NSTRPY)=NT
201                  ISTRIPY(NSTRPY)=J+(LADD-1)*1024
202                  QSTRIPY(NSTRPY)=FLOATADCY
203                  YSTRIPY(NSTRPY)=GLOBSTRIPY(NP,NT,J)
204                  
205                 ENDIF
206                
207              endif              endif
208    
209           enddo           enddo

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

  ViewVC Help
Powered by ViewVC 1.1.23