subroutine write_BetaCrossE_turn(n, co, sumBetaCrossE, muons, BetaCrossE_start_time) use bmad use parameters_bmad use muon_mod implicit none type (coord_struct) co type (sumbetaCrossE_struct) sumBetaCrossE type (muon_struct) muons integer, save :: lun real(rp) sum_vec(3), sum_vec_pitch(3), path, pathx real(rp) sum_time real(rp) BetaCrossE_start_time integer n logical first/.true./ if(first)then lun = lunget() open(unit=lun, file = trim(directory)//'/'//'BetaCrossE_turn.dat') first=.false. write(lun,'(a10,1x,7a12,3a16,a16,3a16,a16,a16,3a16,3a16)')' turn ','x','xp','y','yp','z','pz','t','sumBetaCrossE-x','sumBetaCrossE-y','sumBetaCrossE-z', & 'sum_time', 'sm(BetDotB)Bet-x','sm(BetDotB)Bet-y','sm(BetDotB)Bet-z','path',' (path)(x)' ,' B_field-x',' B_field-y',' B_field-z',& 'BetaCrossB-x','BetaCrossB-y','BetaCrossB-z' endif write(lun,'(i10,1x,7es12.4,3es16.8, es16.8, 3es16.8, 2es16.8,3es16.8,3es16.8)')n,co%vec, co%t, muons%BetaCrossE(1:3), muons%BetaCrossE_time, muons%BetaDotB(1:3), & muons%path, muons%pathx, muons%B_field(1:3), muons%BetaCrossB(1:3) return end