;+
;PROCEDURE:	prestens
;PURPOSE:	This function computes the relative components of the pressure
;		tensor
;INPUT:	
;	dat:	A 3d structure such as those gotten by using get_el,get_pl,etc.
;		e.g. "get_el"
;KEYWORDS:	
;	esteprange:	energy range to use
;
;CREATED BY:	Davin Larson
;LAST MODIFICATION:	@(#)prestens.pro	1.5 95/10/06
;
;NOTE:	 It is NOT yet corrected to give physical results
;-

function prestens, dat, $
   ESTEPRANGE = esteprange

if n_elements(esteprange) eq 0 then esteprange = [0 ,dat.nenergy-1]

e1 = esteprange(0)
e2 = esteprange(1)
;e1 = 9
;e2 = dat.nenergy-1
b1 = 0
b2 = dat.nbins-1


data = dat.data(e1:e2,b1:b2)
theta= dat.theta(e1:e2,b1:b2)
phi  = dat.phi(e1:e2,b1:b2)
energy = dat.energy(e1:e2,b1:b2)

mult = replicate(1.,e2-e1+1)
domega = mult # dat.domega(b1:b2)
geom =  mult # dat.geom

sphere_to_cart, 1., theta, phi, sx,sy,sz

pp = data * domega * energy * energy / geom  ;  must be fixed
pxx = total(sx*sx*pp,/double)
pyy = total(sy*sy*pp,/double)
pzz = total(sz*sz*pp,/double)
pxy = total(sx*sy*pp,/double)
pxz = total(sx*sz*pp,/double)
pyz = total(sy*sz*pp,/double)

prtens = [ [pxx,pxy,pxz],[pxy,pyy,pyz],[pxz,pyz,pzz] ]

return ,prtens
end