These routines must track a polymorphic probe; PROBE_8. 4.2.6
type probe_8 type(real_8) x(6) ! Polymorphic orbital ray type(spinor_8) s(3) ! Polymorphic spin type(rf_phasor_8) AC ! Modulation real(dp) E_ij(6,6) ! Envelope kick ! stuff for exception logical u type(integration_node),pointer :: lost_node end type probe_8
The probe_8 contains implicitely the linear map
in the polymorph
.
!!!!!!!!!! Tracking a probe_8 to get the map !!!!!!!!!! state=default0+radiation0+envelope0 xs0=x ! closed orbit intializing a probe m=1 ! damapspin set to identity xs=xs0+m ! Probe_8 = closed orbit probe + Identity call track_probe(als,xs,state,fibre1=1) m=xs ! damapspin = Probe_8 nf=m ! normal_spin = damapspin (Normalization including spin (if present) or radiation ! envelope if present. (Spin without radiation) write(6,*) nf%n%tune(1:3) write(6,*) nf%emittance write(6,*) nf%s_ij0(1,1),nf%s_ij0(5,5) !!!!!!!!!! end Tracking a probe_8 to get the map !!!!!!!!!!
nf is of type normal_spin. It normalises the orbital map, spin and radiation.
type normal_spin type(normalform) N ! regular orbital normal form type(damapspin) a1 ! brings to fixed point type(damapspin) ar ! normalises around the fixed point type(damapspin) as ! pure spin map type(damapspin) a_t ! !! (a_t%m,a_t%s) = (a1%m, I ) o (I ,as%s) o (ar%m,I) !!! extra info integer M(NDIM,NRESO),MS(NRESO),NRES ! orbital and spin resonances to be left in the map type(real_8) n0(3) ! n0 vector type(real_8) theta0 ! angle for the matrix around the orbit (analogous to linear tunes) !!!Envelope real(dp) s_ij0(6,6) ! equilibrium beam sizes real(dp) emittance(3),tune(3),damping(3) ! equilibrium emittances (partially well defined only for infinitesimal damping) logical(lp) AUTO,STOCHASTIC real(dp) KICK(3) ! fake kicks for tracking stochastically real(dp) STOCH(6,6) ! Diagonalized of stochastic part of map for tracking stochastically end type normal_spin