HESSI SIMULATION CONTROL PARAMETERS

These are control parameters that can be used as keywords in calls to the image object, or eventlist or lightcurve objects, they can also be passed into the routines HSI_SIM_FILE or HSI_SIM_FLARE as keywords.

sim_time_unit

sim_time_unit is the time unit, in binary microseconds of the .time tag in the eventlist structure. The default value is 1. It is a good idea to set both sim_time_unit and time_unit to the same value for all simulations. Note that for simulations longer than 2048.0 seconds, a larger value of sim_time_unit is needed. If the time range passed in is lnger that 2048.0 seconds, then the time_unit will be increased to 16.

sim_ut_ref

sim_ut_ref is the reference time for the simulation, this is usually the start time. Can be in any ANYTIM format. The default is '21-jun-2001 00:00'.

sim_time_range

sim_time_range is the time range, in seconds, relative to the reference time sim_ut_ref for the simulation. Note that sim_time_range is not required if a time array or time profile is passed in.

sim_use_spectrum

if sim_use_spectrum is set, then use an input spectrum or spectral model to create the simulations. (As opposed to the old method of specifying sim_photons_per_coll, and a count distribution). If this is set, then the spec_model, spec_pars keywords, or the photon_flux and photon_energy keywords must be used.

sim_photons_per_coll

sim_photons_per_coll, a floating point number, is used to control the overall flux level of the simulated data. The units are in photons per second per collimator incident on the spacecraft, with a default value of 10000. This is dealt with differently in the new software; in previous versions, sim_photons_per_coll referred to photon counts, after the energy response matrix of the given detector was accounted for, now this number refers to the total photon flux incident before taking the detector response into account. This means that there are fewer counts registered in the new version for the same value of sim_photons_per_coll. This is a scalar. This parameter is ignored if sim_use_spectrum is set. Note that this is the total value of photons per detector, if there are multple sources in the image (see sim_model ) then the counts are divided up between the sources, photons_per_source=sim_photons_per_coll*model.amplitude/total(model.amplitude)

If no control parameters are set, then then simulation will run using sim_photons_per_coll = 1.0e4, as always.

sim_time_profile_ptr

sim_time_profile_ptr is a pointer to a structure with two tags, time and profile. The time profile of the generated events follows profile. The observed time of the event is governed by interpolating the time integration of the profile using the time tag, referenced to the start of the time_range. (See Numerical Recipies, Chapter 7) Profile has values from 0 to 1. Note also that the time profile will have steps; if you want variation on small time scales, then you need to pass in a time profile with a small time resolution, or set the /sim_interp_tprofile keyword described below.

sim_photon_flux_ptr

sim_photon_flux_ptr is a pointer to an array of photon flux in photons/cm^2/sec/keV. If this is set the sim_spec_pars and sim_spec_model keywords are ignored, but the photon_energy_ptr keyword must also be used. Note that photon flux arrays can be different for different sources, just pass in the array as (n_energies, n_times, n_sources). Note that the values in sim_photon_flux_ptr can be used to give the shape of the spectrum if the sim_photons_per_coll parameter is set, but not the magnitude. Note that this is the total flux for all sources, unless a photon flux is specified for each source; if there are multple sources in the image (see sim_model ) then the flux is divided up between the sources, flux_per_source=sim_photon_flux*model.amplitude/total(model.amplitude) If a flux is specified for each source, then model.amplitude is not used.

There are two ways to deal with time variation. If the shape of the spectrum varies with time then a time array must be passed in using the sim_photon_times_ptr keyword. If the spectral shape is constant, and only the magnitude of the spectrum changes, then pass in a time profile and time array in the sim_time_profile_ptr keyword described above.

sim_photon_energy_ptr

sim_photon_energy_ptr is a Pointer to an array of photon energies for the input photon flux. This is required if sim_photon_flux_ptr is used.

sim_photon_times_ptr

sim_photon_times_ptr is a pointer to a time array for the input photon flux. This is needed if sim_photon_flux_ptr is a 2d (n_energies, ntimes) or 3d (n_energies, ntimes, n_sources) array. This is defined relative to the reference time that was passed in.

sim_spec_model

sim_spec_model is the spectral model, the default is 'f_bpow', a double power law spectrum. These models are defined for the spectroscopy routines used by the XRAY package. The XRAY package must be part of the local SSW tree.

sim_spec_pars

sim_spec_pars are spectral parameters for the given model, usually a fltarr[6] or fltarr[8]. As for the case of sim_photon_flux_ptr, the spectrum is used if /sim_use_spectrum is set, if it is not set, then only the shape of the spectrum is used. can be an array of (n_pars), (n_pars, ntimes) in which case sim_photon_times_ptr must be set, or an array of (n_pars, ntimes, n_sources). The default spectrum is a power law with spectral index of 3, spec_pars=[1, 3, 100, 3, 10, 1.5], with a low enegry break at 10 keV. This is used also for the cases where sim_photons_per_coll is used, and the spectrum is not passed in.

sim_interp_tprofile

As mentioned above, the time profile for the simulation doesn't vary smoothly, there are steps. Sometimes it's convenient to only pass in a time profile with one or two intervals. For these cases, use sim_interp_tprofile to be sure that the count rate varies smoothly relative to the modulation.

sim_interp_dt

sim_interp_dt is the time interval for the sim_interp_tprofile option. The default value is 1/128 seconds.

sim_just_background

If sim_just_background is set, only background counts are produced.

sim_background

sim_background is a factor used to multiply the background spectrum given by HESSI_BACKGROUND. The default is 0, If set to 0 no background is used.

sim_bkgd_*

All of the spectral and time profile keywords are applicable to the background case with sim_bkgd_ instead of just sim_ . These are applied to the background spectrum in the same manner as to the model spectrum except that background spectra are always interpreted as counts spectra and not flux spectra. The parameters are: sim_bkgd_time_unit, sim_bkgd_ut_ref, sim_bkgd_time_range, sim_use_bkgd_spectrum, sim_bkgd_time_profile_ptr, sim_bkgd_photons_per_coll, sim_bkgd_photon_flux_ptr, sim_bkgd_photon_energy_ptr, sim_bkgd_photon_times_ptr, sim_bkgd_spec_model, sim_bkgd_spec_pars, sim_bkgd_interp_tprofile, and sim_bkgd_interp_dt.

sim_energy_band

sim_energy_band is the energy band for the simulation, the default is [6.0, 100.0] keV. If sim_energy_band has n+1 elements, then the simulation routines are run n times, once for each energy band. This is the way to simulate large energy ranges;e.g., if you need to do the range from 3 to 1000 keV, you can pass in sim_energy_band=[3, 20, 50, 100, 200, 400, 600, 800, 1000] (or somethig similar) so that the variation of the grid responses with energy can be accounted for properly.

sim_gain_generation

This is the gain_generation parameter passed into the routine Hsi_get_e_edges. (generation 0 is "old" gain, generation 1 is new gain, generation 2 will probably be on-orbit results) The default is 1.

sim_gain_time_wanted

This is the gain_time_wanted parameter passed into the routine Hsi_get_e_edges. Causes a time-dependent database (FITS format) to be read for interpolation if set. The default is 0.0.

sim_aspect_solution

sim_aspect_solution is an object passed into (and returned) by the simulation. If you have a known aspect solution and you want to simulate data using this solution, then pass in the object with the aspect solution as sim_aspect_solution.

sim_saszero

If sim_saszero is set, the aspect solution is constant, with pointing of [0, 0], and roll_period of 4 seconds.

sim_model

sim_model can be used to pass in a structure (labelled gaussian_source_str) which specifies a 2d Gaussian source. The Gaussian is specified by its amplitude, x and y standard deviation (in arcseconds), its position relative to the center of the image (in arcseconds), and its tilt angle. The amplitude refers to the total photon flux from the source, not the peak value. The maximum value of amplitude is 1, if you want two sources of equal strength, set both amplitudes to 1.0. See the demo program sim_2gaussians.pro in the hsi_sim_flare document. The model also may be of the type {curved_gaussian_source_str}, which has a curvature value in addition to the above parameters. The model can also be given as an array with zeroes everywhere except at the location of point sources. The non zero values should be specified in normalized units, with a maximum of 1.0. The default model is a two-component gaussian source with equal amplitudes, and xy standard deviations of 0.001 arcesc, to simulate point sources.

sim_a2d_index_mask

sim_a2d_index_mask is a 27 element byte array that controls which detector data is used in the simulation. A value of 1 indicates the detector will be used, and a value of 0 indicates that it will not. The first 9 elements refer to the front segments of detectors 1-9, the next 9 elements of the array refer to the low energy portion of the rear segments of detectors 1-9, and the last 9 elements refer to the high energy portion of the rear segments for detectors 1-9.

sim_pixel_size

sim_pixel_size is used to set the size of the pixels when using a model image of some size (e.g. 64 X 64). The default sim_pixel_size is 2.0 arcseconds, which is different from the default imaging pixel_size.

sim_xyoffset

sim_xyoffset, a 2 element floating point vector, is used to specify the center of the simulation box.

sim_srt_filename

sim_srt_filename denotes the grid response database file to use for simulations. The default is the latest version, $SSW/hessi/dbase/grid_resp/SRT_2*.dat.

sim_seed

sim_seed is the seed value for random number routines, set this to reproduce results.

sim_nbuff

sim_nbuff is the maximum number of photons that are processed at one time, the default value is 5.0e5, which results in a maximum memory usage of aboput 100 Mbytes. A larger value can be used if you have more memory.

sim_idpu_version

These next 12 parameters describe the data that ends up in the science data header in each packet. This parameter contains the version number of the IDPU software, which controls the decimation interface control table. The default is zero, and this parameter does nothing as of 12-Nov-2001.

sim_cryocooler_power

sim_cryocooler_power is set to 1 if the cryocoller is on, 0 if it is off.

sim_cold_plate_temperature

sim_cold_plate_temperature gives the cold_plate temperature -60.

sim_idpu_temp

sim_idpu_temperature gives the idpu temperature -60.

sim_heater_power

sim_heater_power is set to 1 if the heater is on, 0 if the heater is off.

sim_hv_power

sim_hv_power is set to 1 if the high voltage is on, 0 if the high voltage is off.

sim_actuator_power

sim_actuator_power is set to 1 if the actuator is on, 0 if the actuator is off.

sim_fast_rates

sim_fast_rates is set to 1 if fast rates are enabled, 0 if not. In the future fast rate packets will be generated when sim_fast_rates is set.

sim_sc_transmit

sim_sc_transmit is set to 1 if the spacecraft is transmitting, 0 if not.

sim_insun

sim_insun is 1 if the spacecraft is in sunlight, 0 if not. The use of this keyword has not been synched to oribt data (as of 12-nov-2001).

sim_ssr_state

sim_ssr_state measures how full the memory is, 0 = empty 8 = full. The default value is 0.

sim_atten_state

sim_atten_state is the attenuator state, 0 = no attanuators, 1 = Thin in, thick out (default), 2 = thick in, thin out, 3 = both in.


Comments to: jimm@ssl.berkeley.edu

19-nov-2001, jmm