source: PSPA/parmelaPSPA/trunk/swap.f @ 478

Last change on this file since 478 was 12, checked in by lemeur, 12 years ago

parmela pspa initial

File size: 1.8 KB
Line 
1      subroutine swap(np,wtp)
2c---swap coordinates of particle np with particle ngood
3c----------------------------------------------------------------------
4      save
5c
6      include 'param_sz.h'
7      include 'constcom.h'
8      include 'coordcom.h'
9      include 'ncordscom.h'
10      include 'pcordcom.h'
11      include 'syscom.h'
12      include 'ucom.h'
13c
14      common/aswap/acor(7,imaa) 
15      common/back/bmax,byz0,byzs,pzowmin,pzowmax,iback
16      common/jones/ajones,zjones,zcath(imaa)
17      common/part/nparticle(imaa)
18      common/pnum/ipnum(imaa)
19      dimension xyz(7)
20c--------------------------------------------------------------------------
21c*
22      xyz(1)=x
23      xyz(2)=bgx
24      xyz(3)=y
25      xyz(4)=bgy
26      xyz(5)=z
27      xyz(6)=bgz
28      xyz(7)=rne
29c
30c     for back bombardment
31      if(iback.eq.1) then
32           if(xyz(7).le.1.and.xyz(6).le.0.) then
33           write(nback1) xyz(1),xyz(2),xyz(3),xyz(4),xyz(5),xyz(6),
34     1                     erest*(gamma-1.),phizero(np),wtp
35           endif
36      endif
37      if(np.eq.ngood)return
38c      real t
39      do 10 i=1,6
40      cord(i,np)=cord(i,ngood)
41      cord(i,ngood)=xyz(i)
42   10 continue
43      do 20 j=1,7 ! alpha magnet
44      atmp=acor(j,np)
45      acor(j,np)=acor(j,ngood)
46      acor(j,ngood)=atmp
47   20 continue
48      cord(7,np)=cord(7,ngood)
49      cord(7,ngood)=xyz(7)
50      wt=weight(np)
51      weight(np)=weight(ngood)
52      weight(ngood)=wt
53      ph=phizero(np)
54      phizero(np)=phizero(ngood)
55      phizero(ngood)=ph
56      iparticle=nparticle(np)
57      nparticle(np)=nparticle(ngood)
58      nparticle(ngood)=iparticle
59      gam(np)=gam(ngood)
60      gam(ngood)=gamma
61      it=ipnum(np)
62      ipnum(np)=ipnum(ngood)
63      ipnum(ngood)=it
64      t=zcath(np)
65      zcath(np)=zcath(ngood)
66      zcath(ngood)=t
67      return
68      end
69c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
Note: See TracBrowser for help on using the repository browser.