;+ ;FUNCTION: vp_4d(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins,MASS=ms,m_int=mi,q=q,mincnt=mincnt) ;INPUT: ; dat: structure, 4d data structure filled by themis routines mvn_sta_c6.pro, mvn_sta_d0.pro, 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, require positive energy if keyword_set(ms) then mass_amu = ms mass = dat.mass*mass_amu v = (2.*energy/mass)^.5 ; km/s note - mass=mass/charge, energy=energy/charge, charge cancels if dat2.apid eq 'CA' then begin phi = total(reform(dat.phi,16,4,16),2)/4. sth = sin(phi/!radeg) endif else sth = sin(dat.theta/!radeg) vp = v*sth ; km/s vperp = total(vp*data)/total(data) return, vperp ; km/s end