4 real(8),
save::
eval=0.29979
23 #if defined (MYEFIELD) 27 write(0,*)
"HowEfield=",
howefield,
" invalid" 28 write(0,*)
"You must define MYEFIELD in Zcondc%h" 30 *
"and prepare cmyEfield subroutine in your apps.",
31 *
"Interface is cmyEfield(aTrack,Efout); see",
32 *
"manual or cEfield0 in Cosmos/Module" 49 real(8),
intent(in):: leng
52 real(8),
intent(out):: newmom(3)
54 integer,
parameter:: nsim=6
55 integer,
parameter::nstep=1
56 real(8):: t(0:nstep), u(6,0:nstep)
62 real(8),
external:: fBEdeflection
64 real(8):: p2, E, gamma, bt
67 real(8),
save:: pos(3)=(/0.,0.,0./)
71 bfld(:) =(/mag%x, mag%y, mag%z/)
79 u(4:6, 0) = atrack%p%fm%p(1:3)
80 ptclz = atrack%p%charge
84 bt = sqrt( (gamma-1)*(gamma+1))/gamma
86 forall(n=0:nstep) t(n) = n*dt
87 call ksrunge_kutta4(t, u, nstep, nsim, dt,
89 dispmr%r(:) = u(1:3,nstep) - u(1:3,0)
95 p2 =dot_product( u(4:6,nstep), u(4:6,nstep) )
97 dispmd%r(:) = u(4:6,nstep)/ sqrt( p2)
99 dispmd%r(:) = (/0.,0.,1./)
101 newmom(:) = u(4:6,nstep)
111 #include "Zglobalc.h" 112 integer,
intent(in):: nv
113 real(8),
intent(in):: t
114 real(8),
intent(in):: u(nv)
119 real(8)::vp(3), temp(3)
121 p2= dot_product( vp, vp)
126 call kvec_prod3(ans(1:3),
bfld, temp(1:3))
subroutine cgetefield(aTrack)
subroutine cmyefield(aTrack, Efout)
real(8) function, dimension(nv) fbedeflection(t, u, nv)
subroutine cdefbymagande(aTrack, leng, dispmr, dispmd, newmom)
real(8), dimension(3), save bfld
real(8), dimension(3), save efld
subroutine cefield0(aTrack, Efout)
dE dx *! Nuc Int sampling table c