;+
; Project     :	SOLAR-B - EIS
;
; Name        :	EIS_raster_detail__DEFINE
;
; Purpose     :	Generates structure EIS_raster_detail.
;
; Explanation : When IDL encounters structure 'STRname', if structure not already defined
;               it looks for routine strname__define and compiles and calls routine to define
;               structure. NB under unix it looks for lower case filename.
;
;               This routine defines the structure :
;
;                 EIS_raster_detail. Tags are :-
;                   raster_description       : STRING mnemonic identifying the raster.
;                   linelist_description     : STRING mnemonic identifying the line list.
;                   raster_id                : ULONG used by planning tools.
;                                              Last 16 bits must not be 0 or 0xFFFF.
;                   linelist_id              : ULONG used by planning tools.
;                   duration                 : ULONG indicates the expected duration
;                                              in seconds of the raster and raster repeats.
;                   data                     : ULONG the amount of data in bytes expected
;                                              from running the raster and raster repeats.
;                   slit_slot                : UINT the slit slot to be used for the raster.
;                                              Range 0-3.
;                                                0 : slit width 1"
;                                                1 : slot width 250"
;                                                2 : slit width 2"
;                                                3 : slot width 40"
;                   fine_mirror_position     : UINT the initial fine mirror encoder position.
;                                              See engineering parameters for range.
;                   fine_mirror_step         : UINT the fine mirror encoder step size between
;                                              raster positions, Ensure fine mirror
;                                              limit not exceeded. See engineering
;                                              parameters for range. NB step can only be zero or positive.
;                   number_of_mirror_positions : UINT the number of mirror positions in raster,
;                                              range 1-65535.
;                   exposure_times           : ULONG[8] exposure time for each exposure in
;                                              the exposure loop in milliseconds. NB  Any non-zero time gives an exposure.
;                   exposure_delays          : UINT[8] time delays between exposures in the exposure loop
;                                              in milliseconds, range 1-65535. NB  Any non-zero time gives a delay.
;                   number_of_raster_repeats : UINT the number of times to repeat the raster,
;                                              range 1-4095.
;                   data_compression_parameter : UINT selects the data compression scheme
;                                              to be used, range 0-7 (tbc).
;                   ASRC_step                : INT the fine mirror step performed at the
;                                              start of each raster in order to compensate
;                                              for Anti Solar Rotation Compensation.
;                                              If no ASRC then should be 0.
;                                              Range -127->+127.
;                   ASRC_skip                : UINT defines how often the Anti Solar Rotation
;                                              Compensation fine mirror step performed at the
;                                              start of each raster is performed during raster
;                                              repeats A value of 'n' implies ASRC step performed
;                                              every 'n'th raster.
;                                              If no ASRC then should be 0.
;                                              Range 0-255.
;                   XRT_flare_control_flag   : UINT flag indicating whether to respond to an XRT flare event.
;                   EIS_flare_control_flag   : UINT flag indicating whether to generate an EIS flare event.
;                   EIS_event_control_flag   : UINT flag indicating whether to generate an EIS event
;                   AEC_control_flag         : UINT flag indicating whether to use AEC control
;                   special_hardware_window_flag : UINT flag defining whether to use the normal
;                                              hardware window (0) or the special hardware window (1).
;                   special_hardware_window  : UINT[4] coordinates of special Camera hardware window (CSG ID 4) :
;                                                0 : X start (0-2147)
;                                                1 : Y start (0-1023)
;                                                2 : X length (1-2148)
;                                                3 : Y length (1-1024)
;                   normal_hardware_window   : UINT[4] coordinates of normal Camera hardware window (CSG ID 3):
;                                                0 : X start (0-2147)
;                                                1 : Y start (0-1023)
;                                                2 : X length (1-2148)
;                                                3 : Y length (1-1024)
;                   number_of_data_extraction_windows : UINT the number of data extraction windows. Range 1-25.
;                   data_extraction_windows  : Structure array[25] of type EIS_data_extraction_window.
;
; Use         :	<dummy = {EIS_raster_detail>
;
; Inputs      :	None.
;
; Opt. Inputs : None.
;
; Outputs     : Sets up structure definition.
;
; Opt. Outputs:	None.
;
; Keywords    : None,
;
; Calls       : None.
;
; Common      :	None.
;
; Restrictions:	None.
;
; Side effects:	None.
;
; Category    :	EIS_CPT.
;
; Prev. Hist. :	None.
;
; Written     :	Martin Carter RAL 03/08/04
;
; Modified    :	Version 0.1, 25/08/04, MKC
;                 Renamed tag number_of_raster_positions as
;                 number _of_mirror_positions.
;                 Removed raster_loop_flat_field tag.
;                 Removed insert_slit_slot_command tag.
;               Version 0.2, 29/09/04, MKC
;                 Renamed eis_event tag as eis_event_response.
;                 Renamed xrt_flare tag as xrt_flare_response.
;                 Renamed eis_flare tag as eis_flare_response.
;                 Renamed AEC tag as AEC_control.
;                 Added normal_hardware_window tag.
;               Version 0.3, 23/11/04, MKC
;                 Added raster_description and linelist description tags.
;                 Removed raster_title.
;                 Added ASRC_skip.
;               Version 0.4, 28/02/05, MKC
;                 Removed EIS XRT flare response, EIS flare response, EIS event response and AEC control structures
;                 and replaced them with flags.
;                 Removed flat_field tag and changed no. of exposures range.
;               Version 0.5, 10/03/05, MKC
;                 Added raster_id and linelist_id tags.
;               Version 0.6, 24/06/05, MKC
;                 Changed INT values to UINT.
;                 Removed coarse mirror position and insert flag tags.
;               Version 0.7, 27/09/05, MKC
;                 Changed fine mirror step to UINT.
;               Version 0.8, 12/01/07, MKC
;                 Added exposure delays tag.
;                 Removed number of exposures per raster position tag.
;
; Version     :	0.8, 12/01/07
;-
;**********************************************************

PRO eis_raster_detail__define

  dummy = {EIS_raster_detail, $
           raster_description                      :'', $
           linelist_description                    :'', $
           raster_id                               :0UL, $
           linelist_id                             :0UL, $
           duration                                :0UL, $
           data                                    :0UL, $
           slit_slot                               :0U, $
           fine_mirror_position                    :0U, $
           fine_mirror_step                        :0U, $
           number_of_mirror_positions              :0U, $
           exposure_times                          : ULONARR(8), $
           exposure_delays                         : UINTARR(8), $
           number_of_raster_repeats                : 0U, $
           data_compression_parameter              : 0U, $
           ASRC_step                               : 0, $
           ASRC_skip                               : 0U, $
           XRT_flare_control_flag                  : 0U, $
           EIS_flare_control_flag                  : 0U, $
           EIS_event_control_flag                  : 0U, $
           AEC_control_flag                        : 0U, $
           special_hardware_window_flag            : 0U, $
           special_hardware_window                 : INTARR(4), $
           normal_hardware_window                  : INTARR(4), $
           number_of_data_extraction_windows       : 0U, $
           data_extraction_windows                 : REPLICATE({EIS_data_extraction_window},25) }

END





