;+
;FUNCTION: symm3d
;PURPOSE: Returns [theta,phi] given a 3d data struct
;INPUT:
; dat: A 3d data structure such as those generated by get_el,get_pl,etc
; e.g. "get_el"
;KEYWORDS:
; esteps: energy steps to use
;
;CREATED BY: Davin Larson
;LAST MODIFICATION: @(#)symm3d.pro 1.5 95/10/06
;
;-
function symm3d,dat, $
ESTEPS= esteps
if keyword_set(esteps) eq 0 then begin
nrgs = total(dat.energy,2)/dat.nbins
esteps = (nrgs gt 100.) and (nrgs lt 2000.)
esteps = where(esteps)
min = min(esteps,max=max)
esteps = [min,max]
;dprint, esteps
endif
pt = prestens(dat,estep=esteps)
q = heatflux(dat,estep=esteps)
b = symmetry_dir(pt)
bdotq = total(b*q)
if bdotq lt 0 then b = -b
cart_to_sphere,b(0),b(1),b(2),r,theta,phi
return,[theta,phi]
end