next up previous contents
Next: Subroutine Track_a_ray_around_ring Up: Small Example Programs Previous: Subroutine Track_a_ray_time(RADIATION_FLAG,SPIN_FLAG)   Contents


Subroutine Track_a_ray_orbit

subroutine  Track_a_ray_orbit 
use madx_ptc_module
use pointer_lattice
implicit none
type(layout), pointer :: ALS
REAL(dp) X0(6),X(6),R
TYPE(INTERNAL_STATE) STATE
integer i
als=>M_U%start

state=default

WRITE(6,*) "   " 
WRITE(6,*) " GIVE INITIAL VALUE (ONE NUMBER) FOR X(1:6)= R " 
READ(5,*) R
X0(1:6)=R

WRITE(6,*) " Tracking  " 
als%t%ORBIT_LATTICE%ORBIT_USE_ORBIT_UNITS=my_false

X=X0
do i=1,als%t%ORBIT_LATTICE%ORBIT_N_NODE
 call ORBIT_TRACK_NODE(i,x,state)
 if(x(1)> 1000.d0) exit
enddo
write(6,*) x

X=X0
CALL TRACK_PROBE_X(ALS,X,STATE,FIBRE1=1)
write(6,*) x

end subroutine  Track_a_ray_orbit



Frank Schmidt 2010-10-15