;+ ;FUNCTION: tp_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 v = energy^.5 sth = sin(dat.theta/!radeg) v0 = total(v*sth*data,2)/(total(data,2)>1.e-20) tp = total((v*sth - v0#replicate(1.,nth))^2*data)/(total(data)>1.e-20) return, tp ; eV end