module multibunch_interface interface subroutine beam_moments(beam, bunch_moments) use bmad use beam_mod use multibunch_mod implicit none type (beam_struct) beam type(moment_struct), allocatable :: bunch_moments(:) end subroutine end interface interface subroutine write_phase_space_turn(i,beam) use bmad use beam_mod use multibunch_mod implicit none type (beam_struct) beam integer i,j,k, lun end subroutine write_phase_space_turn end interface interface subroutine feedback(beam, bunch_moments) use bmad use beam_mod use multibunch_mod implicit none type (beam_struct) beam type(moment_struct), allocatable :: bunch_moments(:) end subroutine end interface interface subroutine find_peaks(fft,tune) use bmad implicit none real(rp), dimension(:),intent(in) :: fft real(rp), dimension(:), intent(out) :: tune integer n end subroutine end interface interface subroutine create_profile(Q) use bmad implicit none real(rp) Q(0:7000) end subroutine end interface interface subroutine write_full_turn(lat,turn, co, n_ele) use bmad implicit none type (lat_struct) lat type (coord_struct), allocatable:: co(:) integer i,turn, n_ele, lun end subroutine end interface interface subroutine write_phase_space(lun, turn, beam) use bmad use beam_mod implicit none type (beam_struct) beam integer lun integer turn end subroutine end interface interface subroutine track_sept1_end(lat,co, ix_essept, ix_magsept1,ix_magsept2, ix_extraction_fork) use bmad use ramp_parameters implicit none type (lat_struct) lat type (coord_struct), allocatable :: co(:) integer ix_essept, ix_magsept1,ix_magsept2, ix_extraction_fork end subroutine end interface interface subroutine check_septum_clearance(bunch, n_clear,n_hit, n_lost, bunch_clear,ix_septum) use bmad use ramp_parameters implicit none type (bunch_struct)bunch, bunch_clear integer ix_septum, n_clear, n_lost, n_hit end subroutine end interface interface subroutine turn_2000(lat, co) use bmad use ramp_parameters implicit none type (lat_struct) lat type (coord_struct) co type (coord_struct), allocatable:: co_2000(:),co_many(:) end subroutine end interface end module multibunch_interface