;+ ; NAME: ; SPEX_MODEL_ARRAY ; ; PURPOSE: ; Returns a matrix of flux values, 1 for each energy and each set of model parameters. ; ; CATEGORY: ; SPEX, Modeling ; ; CALLING SEQUENCE: ; ; SPEX_MODEL_ARRAY, Model, Energy, Model_pars, Values ; ; INPUTS: ; Model : Name of model function, e.g. 'F_vth_bpow' ; Energy : Vector of first argument to Model function. Usually a vector ; energies in keV. May also be 2x N_channels ; Model_pars: ; An array of model parameters, e.g. a set for each fit interval. ; #pars x #intervals. ; ; OPTIONAL INPUTS: ; ; KEYWORD PARAMETERS: ; ; OUTPUTS: ; Values : Array of returns from Model, #Energy x #Intervals. ; ; OPTIONAL OUTPUTS: ; ; COMMON BLOCKS: ; ; SIDE EFFECTS: ; ; RESTRICTIONS: ; ; PROCEDURE: ; Loops over each set of parameters to save the user the grief of a visible loop. ; ; EXAMPLE: ; ; SPEX_MODEL_ARRAY, 'F_VTH_BPOW', findgen(100)+10., Apar_arr, Fit_flux ; ; MODIFICATION HISTORY: ; Written by: RAS, 22-March-1996 ; Version 1 ; Version 2 ras, 13-april-1996, made energy input more robust ;- pro SPEX_MODEL_ARRAY, Model, Energy, Model_pars, Values spars = size(model_pars) if spars(0) eq 1 then nints = 1 else nints = spars(2) size_energy=size(energy) values = fltarr( size_energy(size_energy(0)), nints) ;number of energies by number of loop intervals for i=0,nints-1 do values(0,i) = call_function( model, energy, model_pars(*,i) ) end