;+ ;FUNCTION: je_3d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins) ;INPUT: ; dat: structure, 3d data structure filled by get_eesa_surv, get_eesa_burst, etc. ;KEYWORDS ; ENERGY: fltarr(2), optional, min,max energy range for integration ; ERANGE: fltarr(2), optional, min,max energy bin numbers for integration ; EBINS: bytarr(na), optional, energy bins array for integration ; 0,1=exclude,include, ; na = dat.nenergy ; ANGLE: fltarr(2,2), optional, angle range for integration ; theta min,max (0,0),(1,0) -900. ; energy/charge analyzer solid_angle_corr=4.*!pi/total(domega(0,*)) ; this should be correct in the structure if (solid_angle_corr lt .99 or solid_angle_corr gt 1.01) and max(theta) gt 1.2 then dprint, 'Error in dat.domega' solid_angle_corr=1. eflux3dx = Const2*Const*total(denergy*(energy)^2*data*(dtheta/2.+cos(2*theta)*sin(dtheta)/2.)*(2.*sin(dphi/2.)*cos(phi))) eflux3dy = Const2*Const*total(denergy*(energy)^2*data*(dtheta/2.+cos(2*theta)*sin(dtheta)/2.)*(2.*sin(dphi/2.)*sin(phi))) eflux3dz = Const2*Const*total(denergy*(energy)^2*data*(2.*sin(theta)*cos(theta)*sin(dtheta/2.)*cos(dtheta/2.))*dphi) eflx_par=total([eflux3dx,eflux3dy,eflux3dz]*dat2.magf)/total(dat2.magf*dat2.magf)^.5 return, eflx_par ; units are ergs/cm^2-sec end