/[PAMELA software]/DarthVader/TrackerLevel2/src/F77/tricircle.f
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/F77/tricircle.f

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

revision 1.1 by mocchiut, Fri May 19 13:15:56 2006 UTC revision 1.2 by pam-fi, Tue Nov 21 17:12:59 2006 UTC
# Line 56  c     integer nloops            !number Line 56  c     integer nloops            !number
56    
57        double precision tmp1,tmp2,tmp(npoints)    !temp variables        double precision tmp1,tmp2,tmp(npoints)    !temp variables
58    
59          logical DEBUG
60    
61        real pigr                 !3.1415...        real pigr                 !3.1415...
62        pigr=ACOS(-1.)        pigr=ACOS(-1.)
63    
64          
65          DEBUG = .false.
66          if(eflag.eq.1)DEBUG = .true.
67    
68        eflag = 0        eflag = 0
69    
70    
# Line 135  c--------------------------------------- Line 141  c---------------------------------------
141              jfail=0              jfail=0
142              call DFACT(3,a,3,ir,ifail,deta,jfail)              call DFACT(3,a,3,ir,ifail,deta,jfail)
143              if(ifail.eq.-1) then              if(ifail.eq.-1) then
144                print*,'tricircle: ERROR: singular matrix A:'                if(DEBUG)then
145                do i=1,3                   print*,'tricircle: ERROR: singular matrix A:'
146                  print*,(a(i,j),j=1,3)                   do i=1,3
147                enddo                      print*,(a(i,j),j=1,3)
148                     enddo
149                  endif
150                eflag=1                eflag=1
151              endif              endif
152              if(jfail.eq.-1) then              if(jfail.eq.-1) then
153                print*                if(DEBUG)then
154       $             ,'tricircle: ERROR: matrix A: determinant too small?'                   print*
155                do i=1,3       $           ,'tricircle: ERROR: matrix A: determinant too small?'
156                  print*,(d(i,j),j=1,3)                   do i=1,3
157                enddo                      print*,(d(i,j),j=1,3)
158                     enddo
159                  endif
160                eflag=1                eflag=1
161              elseif(jfail.eq.1) then              elseif(jfail.eq.1) then
162                print*                if(DEBUG)then
163                     print*
164       $             ,'tricircle: ERROR: matrix A: determinant too large?'       $             ,'tricircle: ERROR: matrix A: determinant too large?'
165                do i=1,3                   do i=1,3
166                  print*,(d(i,j),j=1,3)                      print*,(d(i,j),j=1,3)
167                enddo                   enddo
168                  endif
169                eflag=1                eflag=1
170              endif              endif
171                            
# Line 161  c--------------------------------------- Line 173  c---------------------------------------
173              jfail=0              jfail=0
174              call DFACT(3,d,3,ir,ifail,detd,jfail)              call DFACT(3,d,3,ir,ifail,detd,jfail)
175              if(ifail.eq.-1) then              if(ifail.eq.-1) then
176                  if(DEBUG)then
177                print*,'tricircle: ERROR: singular matrix D:'                print*,'tricircle: ERROR: singular matrix D:'
178                do i=1,3                do i=1,3
179                  print*,(d(i,j),j=1,3)                  print*,(d(i,j),j=1,3)
180                enddo                enddo
181                  endif
182                eflag=1                eflag=1
183              endif              endif
184              if(jfail.eq.-1) then              if(jfail.eq.-1) then
185                  if(DEBUG)then
186                print*                print*
187       $             ,'tricircle: ERROR: matrix D: determinant too small?'       $             ,'tricircle: ERROR: matrix D: determinant too small?'
188                do i=1,3                do i=1,3
189                  print*,(d(i,j),j=1,3)                  print*,(d(i,j),j=1,3)
190                enddo                enddo
191                  endif
192                eflag=1                eflag=1
193              elseif(jfail.eq.1) then              elseif(jfail.eq.1) then
194                  if(DEBUG)then
195                print*                print*
196       $             ,'tricircle: ERROR: matrix D: determinant too large?'       $             ,'tricircle: ERROR: matrix D: determinant too large?'
197                do i=1,3                do i=1,3
198                  print*,(d(i,j),j=1,3)                  print*,(d(i,j),j=1,3)
199                enddo                enddo
200                  endif
201                eflag=1                eflag=1
202              endif              endif
203    
# Line 187  c--------------------------------------- Line 205  c---------------------------------------
205              jfail=0              jfail=0
206              call DFACT(3,e,3,ir,ifail,dete,jfail)              call DFACT(3,e,3,ir,ifail,dete,jfail)
207              if(ifail.eq.-1) then              if(ifail.eq.-1) then
208                  if(DEBUG)then
209                print*,'tricircle: ERROR: singular matrix E:'                print*,'tricircle: ERROR: singular matrix E:'
210                do i=1,3                do i=1,3
211                  print*,(e(i,j),j=1,3)                  print*,(e(i,j),j=1,3)
212                enddo                enddo
213                  endif
214                eflag=1                eflag=1
215              endif              endif
216              if(jfail.eq.-1) then              if(jfail.eq.-1) then
217                  if(DEBUG)then
218                print*                print*
219       $             ,'tricircle: ERROR: matrix E: determinant too small?'       $             ,'tricircle: ERROR: matrix E: determinant too small?'
220                do i=1,3                do i=1,3
221                  print*,(e(i,j),j=1,3)                  print*,(e(i,j),j=1,3)
222                enddo                enddo
223                  endif
224                eflag=1                eflag=1
225              elseif(jfail.eq.1) then              elseif(jfail.eq.1) then
226                  if(DEBUG)then
227                print*                print*
228       $             ,'tricircle: ERROR: matrix E: determinant too large?'       $             ,'tricircle: ERROR: matrix E: determinant too large?'
229                do i=1,3                do i=1,3
230                  print*,(e(i,j),j=1,3)                  print*,(e(i,j),j=1,3)
231                enddo                enddo
232                  endif
233                eflag=1                eflag=1
234              endif              endif
235    
# Line 214  c--------------------------------------- Line 238  c---------------------------------------
238              call DFACT(3,f,3,ir,ifail,detf,jfail)              call DFACT(3,f,3,ir,ifail,detf,jfail)
239  c     ifail=-1            !???  c     ifail=-1            !???
240              if(ifail.eq.-1) then              if(ifail.eq.-1) then
241                  if(DEBUG)then
242                print*,'tricircle: ERROR: singular matrix F:'                print*,'tricircle: ERROR: singular matrix F:'
243                do i=1,3                do i=1,3
244                  print*,(f(i,j),j=1,3)                  print*,(f(i,j),j=1,3)
245                enddo                enddo
246                  endif
247                eflag=1                eflag=1
248              endif              endif
249              if(jfail.eq.-1) then              if(jfail.eq.-1) then
250                  if(DEBUG)then
251                print*                print*
252       $             ,'tricircle: ERROR: matrix F: determinant too small?'       $             ,'tricircle: ERROR: matrix F: determinant too small?'
253                do i=1,3                do i=1,3
254                  print*,(f(i,j),j=1,3)                  print*,(f(i,j),j=1,3)
255                enddo                enddo
256                  endif
257                eflag=1                eflag=1
258              elseif(jfail.eq.1) then              elseif(jfail.eq.1) then
259                  if(DEBUG)then
260                print*                print*
261       $             ,'tricircle: ERROR: matrix F: determinant too large?'       $             ,'tricircle: ERROR: matrix F: determinant too large?'
262                do i=1,3                do i=1,3
263                  print*,(f(i,j),j=1,3)                  print*,(f(i,j),j=1,3)
264                enddo                enddo
265                  endif
266                eflag=1                eflag=1
267              endif              endif
268    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.23