;+ ;FUNCTION: pad ;PURPOSE: makes a data pad from a 3d structure ;INPUT: ; dat: A 3d data structure such as those gotten from get_el,get_pl,etc. ; e.g. "get_el" ;KEYWORDS: ; bdir: Add B direction ; esteps: Energy steps to use ; bins: bins to sum over ; num_pa: number of the pad ; ;CREATED BY: Davin Larson ;LAST MODIFICATION: @(#)pad.pro 1.20 98/07/10 ;- function pad2 ,dat, $ ; BDIR = bdir, $ magf = magf, $ ESTEPS = esteps, $ BINS=bins, $ NUM_PA=num_pa if n_elements(num_pa) eq 0 then num_pa = 8 if not keyword_set(magf) then magf=dat.magf xyz_to_polar,magf,theta=bth,phi=bph if n_elements(bins) ne 0 then ind=where(bins) else ind=indgen(dat.nbins) nbins = n_elements(ind) nenergy = dat.nenergy pa = pangle(dat.theta,dat.phi,bth,bph) pab = fix(pa/180.*num_pa) < (num_pa-1) enb = indgen(nenergy) # replicate(1,dat.nbins) pabin = pab * nenergy + enb ;bad=where(pab lt 0,c) ;if c ne 0 then pabin[bad]=-1 not needed! ;bad=where(pab lt 0,c) ;if c ne 0 then pabin[bad]=-1 not needed! ;print,minmax_range(pab) ;print,minmax_range(pa) ;print,dat.theta ;print,where(finite(dat.theta) eq 0) h = histogram(pabin,min=0,max=nenergy*num_pa-1,reverse=ri) geom = 0 deadtime = 0 fhist_average,dat.data ,h,ri,mean=data,weight=wgt fhist_average,dat.energy,h,ri,mean=energy,weight=wgt fhist_average,pa ,h,ri,mean=pang,weight=wgt pad = {project_name:dat.project_name,data_name:dat.data_name+' PAD', $ valid:1, units_name:dat.units_name, $ time:dat.time, end_time:dat.end_time, integ_t:dat.integ_t, $ nbins:num_pa,nenergy:nenergy, $ data:data,energy:energy,angles:pang, denergy:dat.denergy, $ bth:bth, bph:bph, $ magf:magf, $ gf:geom,dt:dt,geomfactor:dat.geomfactor, $ mass:dat.mass,units_procedure:dat.units_procedure, $ deadtime:deadtime } return,pad end