RHESSI Quicklook structure definitions, 1-sep-2002

;---------------------------------------------------------------------------- 
;Hessi Filedb structure
   x = {hsi_filedb, $
        version:0, $            ;version number
        file_id: ' ', $         ;File identification
        orbit_start:0l, $       ;Orbit number at start of file
        orbit_end:0l, $         ;Orbit number at end of file
        start_time: anytim('16-aug-1998 17:05'), $ ;data start time
        end_time: anytim('16-aug-1998 18:35'), $ ;data end time
        status_flag:0, $        ;set to -1 if the file has been deleted, and the packets are contained in another file 
        npackets:0l, $          ;Number of packets
        clock_drift_start:0.0, $;clock_drift_at_file_start
        clock_drift_end:0.0, $  ;clock_drift_at_file_end
        data_source:' '}        ;where the data comes from, could be vc 
                                ;files, could be simulations, could be 
                                ;snipped files
;---------------------------------------------------------------------------- 
;Hessi qlook control structure, shared by all qlook objects
    x = {hsi_qlook_control, $
         class_name:' ', $    ;class name
         version:0, $         ;version number
         id_string: ' ', $    ;identification
         vers_info:0, $       ;version number for info
         vers_data:0, $       ;version number for data
         obs_time_interval:[0.0d0, 0.0d0], $;if set, finds data in archive
         filename:ptr_new(), $              ;filenames with the data
         energy_band:[0.0, 0.0], $          ;energy band of qlook_images
         all:0b, $			    ;read all data in file
         time_range:[0.0d0, 0.0d0], $	    ;used with filename -not archive
         nodata:0b, $			    ;set to 1 for nodata objects
         read_from_archive:0b}		    ;set to 1 if reading from archive
    
;---------------------------------------------------------------------------- 
;Individual Objects:
;---------------------------------------------------------------------------- 
;HSI_OBS_SUMM_RATE
;info structure
   x = {hsi_obssummrateinfo, $
        ut_ref: 0.0d0, $        ;start time
        seg_index_mask: bytarr(18), $ ;detector ids
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        n_energy_bands:nfb, $   ;the number of energy bands 
        energy_edges:fltarr(10), $ ;the energy bin edges
        dim1_unit:' ', $        ;'Energy edges (keV)' an identifying string
        dim1_ids:strarr(9)}   ;The energy bins in string format
;Data Structure
   x = {hsi_obssummratedata, $
         countrate:bytarr(9)} ;all detector count rate
   
;---------------------------------------------------------------------------- 
;HSI_OBS_SUMM_FLAG
   nfl = 32
;Info structure
   x = {hsi_obssummflaginfo, $
        ut_ref:0.0d0, $         ;reference time
        n_time_intv:0l, $       ;the number of time intervals, for this summary
        time_intv:0.0, $        ;the nominal duration, in seconds, of a single time interval
        nflags:nfl, $           ;the number of data flags
        flag_ids:['SAA_FLAG', $ ;1 for SAA, from orbit data
                  'ECLIPSE_FLAG', $ ;1 for Eclipse, 0 for sunlight, from orbit data
                  'FLARE_FLAG', $ ;1 for flare
                  'IDPU_CONTROL', $ ;IDPU version control number
                  'CRYOCOOLER_POWER', $ ;average for 4 sec interval
                  'COLD_PLATE_TEMP', $ ;average for 4 sec interval
                  'IDPU_TEMP', $ ;average for 4 sec interval
                  'COLD_PLATE_SUPPLY', $ ;percent on for 4 sec interval
                  'HV28_SUPPLY', $ ;percent on for 4 sec interval
                  'ACTUATOR_SUPPLY', $ ;percent on for 4 sec interval
                  'FAST_HOUSEKEEPING', $ ;percent on for 4 sec interval
                  'SC_TRANSMITTER', $ ;(may affect detector 8), percent on for 4 sec interval
                  'SC_IN_SUNLIGHT', $ ;percent on for 4 sec interval, from packets
                  'SSR_STATE', $ ;0-8 SSR fill level, average for 4 sec interval
                  'ATTENUATOR_STATE', $ ;0,1,2,3, average for 4 sec interval
                  'FRONT_RATIO', $ ;Front counts/(front+rear), flare diagnostic
                  'NON_SOLAR_EVENT', $ ;set to 1 for a non-solar event
                  'GAP_FLAG', $ ;1 if no count rate data
                  'DECIMATION_ENERGY', $ ;energy channel upper limit for decimation
                  'DECIMATION_WEIGHT', $ ;decimation multiplier true_rate=weight*obs_rate
                  'MAX_DET_VS_TOT', $ ;fraction of counts in 1 detector, to rule out 1 detector flares
                  'NMZ_FLAG', $ ;Set to 1 if in North High-latitude Magnetic Zone
                  'SMZ_FLAG', $ ;Set to 1 if in South High-latitude Magnetic Zone
                  'AAZ_FLAG', $ ;Set to 1 if in the Atmospheric Absorption Zone
                  'PARTICLE_FLAG', $ ;Set to 1 for a Particle Event
                  'REAR_DEC_CHAN/128',$ ;Channel below which rear segment counts are decimated divided by 128.
	 	  'REAR_DEC_WEIGHT', $ ;rear decimation multiplier true_rate=weight*obs_rate
		  'PARTSTORM', $ ;particle storm
                  'HLAT', $ ;high latitude
                  'ECLIPSE_EXT', $ ;another eclipse flag, can be different from 'ECLIPSE_FLAG', which is obtained from the GDS.
                  'FRONTS_OFF', $ ;Front detector events are turned off 
		  'BAD_PACKETS'] ;Bad packets present in data
;Data structure
   nfl = 32
   x = {hsi_obssummflagdata, $
         flags:bytarr(nfl)}     ;the actual data flags for each interval
   
;---------------------------------------------------------------------------- 
;HSI_MOD_VARIANCE
;Info Structure
   x = {hsi_modvarianceinfo, $
         ut_ref: 0.0d0, $       ;start time
         n_time_intv:0l, $      ;the number of time intervals
         time_intv:0.0, $       ;duration in seconds, of a time interval
         variance_nbin:0, $     ;the number of time bins per spin period
         energy_edges:fltarr(2), $ ;the energy bin edges 
         dim1_unit:' ', $       ;'Collimator' an identifying string
         dim1_ids:strarr(2)}    ;the collimator numbers in string format
;Data Structure
   x = {hsi_modvariancedata, $
         mod_variance:bytarr(2)}   ;modulation variance for 2 detectors
   
;---------------------------------------------------------------------------- 
;HSI_EPHEMERIS
;Info structure
   x = {hsi_ephemerisinfo, $
        n_time_intv:0l, $       ;the number of ephemeris data points
        time_intv:0.0, $        ;the time interval between eph recordings
        ut_ref:0.0d0, $         ;reference time for the ephemeris data
        dim1_unit:' ', $        ;S/C position an identifying string
        dim1_ids:strarr(6)}     ;['X', 'Y', 'Z', 'Vx', 'Vy', 'Vz']
;data structure
   x = {hsi_ephemerisdata, $
         xyz_eci:fltarr(6)}
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_POINTING
;info structure
   x = {hsi_qlook_pointing_info, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        n_sample:0, $           ;number of smaller bins per time_intv
        A1:0.0, $               ;scaling factor real_data = a1*byte_data+a0
        A0:0.0, $               ;See above
        dim1_unit:' ', $        ;'Image Axis' an identifying string
        dim1_ids:strarr(2)}     ;'X', 'Y'
;Data
   x = {hsi_qlook_pointing_data, $
         pointing:bytarr(2), $
         quality:0b}
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_ROLL_PERIOD
;Info
   x = {hsi_qlook_roll_period_info, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        n_sample:0, $           ;number of smaller bins per time_intv
        A1:0.0, $               ;scaling factor real_data = a1*byte_data+a0
        A0:0.0, $               ;See above
        dim1_unit:' ', $        ;'Image Axis' an identifying string
        dim1_ids:' '}   ;'X', 'Y'
;Data
   x = {hsi_qlook_roll_period_data, $
        roll_period:0.0}
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_ROLL_ANGLE
;Info
   x = {hsi_qlook_roll_angle_info, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        n_sample:0, $           ;number of smaller bins per time_intv
        A1:0.0, $               ;scaling factor real_data = a1*byte_data+a0
        A0:0.0, $               ;See above
        dim1_unit:' ', $        ;'Image Axis' an identifying string
        dim1_ids:' '}   ;'X', 'Y'
;Data
   x = {hsi_qlook_roll_angle_data, $
        roll_angle:0b}
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_RATE_PER_DET
;Info
   x = {hsi_qlookrateperdetinfo, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        dim1_unit:' ', $        ;an identifying string
        dim1_ids:strarr(18)}    ;the segment ids
;data
   x = {hsi_qlookrateperdetdata, $
         countrate:bytarr(18)}   ;rates, all detectors
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_MONITOR_RATE
;Info
   x = {hsi_qlook_monitor_rate_info, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        dim1_unit:' ', $        ;an identifying string
        dim1_ids:strarr(6)}     ;6 different kinds of data
;Data
   x = {hsi_qlook_monitor_rate_data, $
        particle_rate:bytarr(2), $ ;hi, lo energy particle count
        preamp_reset:bytarr(18), $ ;Preamp reset count, each segment
        shaper_valid:bytarr(18), $ ;4musec Shaper Valid Event Count, each segment
        shaper_over_uld:bytarr(18), $ ;4musec Shaper over ULD Event Count, each segment
        delay_line_valid:bytarr(18), $ ;Delay Line valid event count, each segment
        live_time:bytarr(18)}   ;fraction of live time
   
;---------------------------------------------------------------------------- 
;HSI_QLOOK_PACKET_RATE
;Info
   x = {hsi_qlook_packet_rate_info, $
        ut_ref: 0.0d0, $        ;start time
        n_time_intv:0l, $       ;the number of time intervals
        time_intv:0.0, $        ;duration in seconds, of a time interval
        app_id:intarr(47), $    ;app_ids
        dim1_unit:' ', $        ;an identifying string
        dim1_ids:strarr(47)}    ;one for each app_id
;Data
   x = {hsi_qlook_packet_rate_data, $
        packet_rate:fltarr(47)}
   
;---------------------------------------------------------------------------- 
;HSI_FLARE_LIST
;Info
   nfl = 32                     ;number of flare flags
   x = {hsi_flarelistinfo, $
        n_flares:0l, $          ;the number of flares in the list
        list_start_time:' ', $  ;start time
        list_end_time:' ', $    ;end time
        nflags:nfl, $           ;the number of flare flags
        flag_ids:['SAA_AT_START', $ ; 1 if saa_at_start
                  'SAA_AT_END', $ ; 1 if saa_at_end
                  'SAA_DURING_FLARE', $ ;1 if saa_during_flare*
                  'ECLIPSE_AT_START', $ ;1 if flare starts at end of eclipse
                  'ECLIPSE_AT_END', $;1 if flare ends at start of eclipse
                  'ECLIPSE_DURING_FLARE', $ ;1 if eclipse during flare*
                  'FLARE_AT_SOF', $;1 for flare at start of file*
                  'FLARE_AT_EOF', $;1 for flare at end of file*
                  'NON_SOLAR', $ ;1 for non-solar event
                  'FAST_RATE_MODE', $;1 if in fast_rate_mode*
                  'DECIMATION_STATE', $ ;has to be changed to weight & energy
                  'ATT_STATE_AT_PEAK', $ ;0,1,2,2
                  'DATA_GAP_AT_START', $
                  'DATA_GAP_AT_END', $
                  'DATA_GAP_DURING_FLARE', $
		  'PARTICLE_EVENT', $ ;set in the presence of particles > 3 per sec
		  'POSITION_QUALITY', $ ;set to 1 if position is ok
		  'ATTEN_0', 'ATTEN_1', 'ATTEN_2','ATTEN_3', $; set to 1 if that attenuator state is present
		  'MAGNETIC_REGION', $;set to 1 if at high magnetic latitude
                  'DATA_QUALITY', $ ;totals all the 1's for SAA, Eclipse, Data_gap, particles and decimation
		  'IMAGE_STATUS', $ ;set to 1 if the Qlook images for this flare have been done.
		  'SPECTRUM_STATUS'] ;set to 1 if the Qlook spectra for this flare have been done.
                  'DATA_QUALITY'], $ ;totals all the 1's
        concat_flag:0}          ;Concatenated flare lists, set to 1
;Data
   nfl = 32
   x = {hsi_flarelistdata, $
        id_number:0l, $         ;An ID number,
        start_time:0.0d0, $     ;flare start time
        end_time:0.0d0, $       ;flare end time
        peak_time:0.0d0, $      ;flare peak time
        bck_time:[0.0d0, 0.0d0], $ ;background accumulation time
        image_time:[0.0d0, 0.0d0], $;time range for position & qlook images
        energy_range_found: [0.0, 0.0], $ ;the energy range used
        energy_hi:[0.0, 0.0], $ ;hi energy at which flare is observed
        peak_countrate:0.0, $   ;peak count rate, counts/segment/second, corrected for attenuator state
        bck_countrate:0.0, $    ;background count rate, counts/segment/sec
        total_counts:0.0, $     ;total # of counts
        peak_correction:0.0, $  ;Correction factor for peak counts, divide by this to get true observed counts
        total_correction:0.0, $  ;Correction factor for total counts, divide by this to get true observed counts
        position:[0.0, 0.0], $  ;flare position in arcsec from sun center (NOT YET)
        filename:' ', $         ;file(s) which have the data for this flare, separated by commas
        flags:bytarr(nfl), $    ;flare flags
        seg_index_mask:detids, $ ;detector index mask
        extra_bck:fltarr(3, 3), $ ;peak, background, and sigma values for rate, mod_var and front_ratio
        sflag1:0b, $            ;0 for non-solar, 1 for solar
        active_region:0, $      ;Active region number, if available (NOT YET)
        goes_class}             ;GOES Class, if observed
   
;HSI_QLOOK_SUMMARY_PAGE
;Info
   x = {hsi_qlook_summary_page_info, $
        n_pages:0, $            ;number of pages
        start_time: 0.0d0, $    ;start time
        end_time:0.0d0, $       ;end time
        concat_flag:0b}         ;1 if concatenated
;Data is a string array

Comments to: jimm@ssl.berkeley.edu

16-sep-2004, jmm