Skip to content

Commit 66e822e

Browse files
authored
Merge pull request #47 from gaskelld/master
Array size fix for newer gfortran compilers.
2 parents f88aae2 + d2ca473 commit 66e822e

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

trg_track.f

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
SUBROUTINE trgTrack (u,E,dl,l,spect)
6161
IMPLICIT NONE
62-
REAL*8 u(6),E,dl,l
62+
REAL*8 u(9),E,dl,l
6363
INTEGER spect
6464
* -- track a single particle with given start parameters
6565
*
@@ -91,7 +91,7 @@ SUBROUTINE trgTrack (u,E,dl,l,spect)
9191

9292
SUBROUTINE trgXTrack (u,E,dl,l,Bdl,Xfun,id,spect)
9393
IMPLICIT NONE
94-
REAL*8 u(6),E,dl,l,Bdl
94+
REAL*8 u(9),E,dl,l,Bdl
9595
INTEGER id,spect
9696
INTEGER Xfun
9797
EXTERNAL Xfun
@@ -142,6 +142,9 @@ SUBROUTINE trgXTrack (u,E,dl,l,Bdl,Xfun,id,spect)
142142
DO i=1,6
143143
u(i) = uu (i)
144144
ENDDO
145+
DO i=7,9
146+
u (i) = 0.
147+
ENDDO
145148

146149
! calculate Bdl ( B_x^2+B_y^2+B_z^2 )
147150
Bdl = SQRT(uu(7)**2+uu(8)**2+uu(9)**2)
@@ -151,7 +154,7 @@ SUBROUTINE trgXTrack (u,E,dl,l,Bdl,Xfun,id,spect)
151154

152155
SUBROUTINE trgTrackToPlane (u,E,dl,a,b,c,d,ok,spect)
153156
IMPLICIT NONE
154-
REAL*8 u(6),E,dl,a,b,c,d
157+
REAL*8 u(9),E,dl,a,b,c,d
155158
INTEGER spect
156159
LOGICAL ok
157160
* -- track a single particle with given start parameters
@@ -174,7 +177,7 @@ SUBROUTINE trgTrackToPlane (u,E,dl,a,b,c,d,ok,spect)
174177
REAL*8 factor
175178
COMMON /trgConversionFactor/factor
176179

177-
REAL*8 ts,n,an,bn,cn,dn,maxdist,dist0,dist1,u0(6),u1(6)
180+
REAL*8 ts,n,an,bn,cn,dn,maxdist,dist0,dist1,u0(9),u1(9)
178181

179182
INTEGER i,steps,max_steps
180183

@@ -486,7 +489,7 @@ SUBROUTINE trgDeriv(u,dudt,spect)
486489
487490
SUBROUTINE trgRK4(u0,u1,h,spect)
488491
IMPLICIT NONE
489-
REAL*8 u0(6),u1(6),h
492+
REAL*8 u0(9),u1(9),h
490493
* -- Fourth-order Runge-Kutta from Numerical Recipes book
491494
* for tracking through the target field
492495
*
@@ -499,7 +502,7 @@ SUBROUTINE trgRK4(u0,u1,h,spect)
499502
* spect I: -1 for e spectrometer, +1 for p spectrometer
500503
501504
INTEGER i,spect
502-
REAL*8 ut(6),dudt(9),dut(9),dum(9),hh,h6
505+
REAL*8 ut(9),dudt(9),dut(9),dum(9),hh,h6
503506
504507
hh=h*0.5
505508
h6=h/6.
@@ -616,7 +619,7 @@ subroutine track_from_tgt(x,y,z,dx,dy,mom,mass,spect,ok)
616619
parameter (cc = 29.9792458)
617620
real*8 vel ! velocity of particle [cm/ns]
618621
real*8 eng ! energy of particle
619-
real*8 vT(6)
622+
real*8 vT(9)
620623

621624
C write(*,*) 'from target',spect
622625
C write(*,*) mom,mass
@@ -748,7 +751,7 @@ subroutine track_to_tgt(delta,y,dx,dy,frx,fry,mom,mass,ctheta,
748751
integer spect,arm
749752
logical ok
750753

751-
real*8 vT(6),vTx(6)
754+
real*8 vT(9),vTx(9)
752755
real*8 xx,delx
753756
real*8 xxd
754757
integer*2 i,n
@@ -877,7 +880,7 @@ subroutine print_coord1(txt,y,delta,dxdz,dydz,x,z)
877880
include 'simulate.inc'
878881
character*(*) txt
879882
real*8 y,delta,dxdz,dydz,x,z
880-
real*8 vT(6)
883+
real*8 vT(9)
881884

882885
vt(1) = -x
883886
vt(2) = y
@@ -900,7 +903,7 @@ subroutine print_coord2(txt,x,y,z,dxdz,dydz)
900903
include 'simulate.inc'
901904
character*(*) txt
902905
real*8 y,dxdz,dydz,x,z
903-
real*8 vT(6)
906+
real*8 vT(9)
904907

905908
vt(1) = x
906909
vt(2) = y

0 commit comments

Comments
 (0)