B.4 IMD COMMON block variables


Listed here, for those of you who might actually be interested in such things, are all the IMD COMMON blocks. All of these COMMON block variables are accessible from the IDL command line, whenever you see the IMD prompt. I'm only going to describe the variables that you really ought to be concerned with (to the extent that you wish to be concerned.)

Click here to go directly to the COMMON IMD_VARS section, containing the variables you are most likely to use when defining user-functions (as described in Section 2.3).


;  COMMON IMD, $
;    IMD,IMDHOME,IMD_NKPATH,IMD_NKPATH_PTR, $
;    IMDSPLOT,IMDSPLOT_FC,IMDSPLOT_BANGPY, $
;    IMDNPLOT,IMDNPLOT_FC, $
;    IMDFPLOT,IMDFPLOT_FC, $
;    IMDCPLOT,IMDCPLOT_FC, $
;    IMDPRINT
;  
;  ------------------------------------------------------------------------------
;  
;  IMD - A structure largely controlling the behavior of IMD.  The only
;        tags you might need to be concerned with are:
;  
;  
;  IMD.ANGLEUNITS_PTR - Pointer for angle units: 0=normal, 1=grazing.
;  
;  IMD.PHOTONUNITS_PTR - Pointer for photon units: 0=A, 1=nm, 2=um, 3=eV, 4=keV.
;  
;  IMD.LAYERUNITS_PTR - Pointer for layer (length) units: 0=A, 1=nm, 2=um
;  
;  
;  IMD.Y_M - Measured data dependent variable pointer.
;  
;  IMD.X_M - Measured data independent variable pointer.
;  
;  IMD.RD_M_CMD - Read measured data command.
;  
;  IMD.LIMIT_M - Flag to indicate whether or not to limit measured data.
;  
;  IMD.X_M_RANGE - 2-element array specifying the X_M range of valid measured data.
;  
;  IMD.X_M_OFFSET - Offset factor to be added to X_M data.
;
;  IMD.X_M_SCALE - Scale factor to be applied to X_M data.
;
;  IMD.Y_M_OFFSET - Offset factor to be added to Y_M data.
;
;  IMD.Y_M_SCALE - Scale factor to be applied to Y_M data.
;
;  ------------------------------------------------------------------------------
;  
;  IMDSPLOT - A structure controlling the behavior of the IMDSPLOT
;             procedure, containing the following tags:
;  
;  IMDSPLOT.XAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDSPLOT.YAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDSPLOT.PYAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDSPLOT.ZAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDSPLOT.IV - Bit-wise flag for independent variables.
;  IMDSPLOT.IVINDICES - Array indices for independent variables.
;  IMDSPLOT.M - Plot measured data flag
;  IMDSPLOT.RA - Plot average reflectance flag
;  IMDSPLOT.RS - Plot s-reflectance flag.
;  IMDSPLOT.RP - Plot p-reflectance flag.
;  IMDSPLOT.PRS - Plot s-reflected phase flag.
;  IMDSPLOT.PRP - Plot p-reflected phase flag.
;  IMDSPLOT.PSI - Plot ellipsometric psi flag.
;  IMDSPLOT.DELTA - Plot ellipsometric delta flag.
;  IMDSPLOT.TA - Plot average reflectance flag
;  IMDSPLOT.TS - Plot s-transmittance flag.
;  IMDSPLOT.TP - Plot p-transmittance flag.
;  IMDSPLOT.PTS - Plot s-transmitted phase flag.
;  IMDSPLOT.PTP - Plot p-transmitted phase flag.
;  IMDSPLOT.AA - Plot average absorptance flag
;  IMDSPLOT.AS - Plot s-absorptance flag.
;  IMDSPLOT.AP - Plot p-absorptance flag.
;  IMDSPLOT.USER1 - Plot user1 flag.
;  IMDSPLOT.USER2 - Plot user2 flag.
;  IMDSPLOT.USER3 - Plot user3 flag.
;  IMDSPLOT.RASTYLE - Style parameters for average reflectance
;  IMDSPLOT.RSSTYLE - Style parameters for s-reflectance
;  IMDSPLOT.RPSTYLE - Style parameters for p-reflectance
;  IMDSPLOT.PRSSTYLE - Style parameters for s-reflected phase
;  IMDSPLOT.PRPSTYLE - Style parameters for p-reflected phase
;  IMDSPLOT.PSISTYLE - Style parameters for psi
;  IMDSPLOT.DELTASTYLE - Style parameters for delta
;  IMDSPLOT.TASTYLE - Style parameters for average transmittance
;  IMDSPLOT.TSSTYLE - Style parameters for s-transmittance
;  IMDSPLOT.TPSTYLE - Style parameters for p-transmittance
;  IMDSPLOT.PTSSTYLE - Style parameters for s-transmitted phase
;  IMDSPLOT.PTPSTYLE - Style parameters for p-transmitted phase
;  IMDSPLOT.AASTYLE - Style parameters for average absorptance
;  IMDSPLOT.ASSTYLE - Style parameters for s-absorptance
;  IMDSPLOT.APSTYLE - Style parameters for p-absorptance
;  IMDSPLOT.USER1STYLE - Style parameters for user1
;  IMDSPLOT.USER2STYLE - Style parameters for user2
;  IMDSPLOT.USER3STYLE - Style parameters for user3
;  IMDSPLOT.MSTYLE - Style parameters for average reflectance
;  IMDSPLOT.MCLABEL - Curve label for measured data.
;  IMDSPLOT.MCURVE_LABEL_POS - Curve label position for measured data.
;  IMDSPLOT.TITLE - Title
;  IMDSPLOT.AUTO_TITLE - Automatically generate titles.
;  IMDSPLOT.SUBTITLE - Subtitle
;  IMDSPLOT.AUTO_SUBTITLE - Automatically generate subtitles.
;  IMDSPLOT.XTITLE - Xtitle
;  IMDSPLOT.AUTO_XTITLE - Automatically generate xtitle
;  IMDSPLOT.YTITLE - Ytitle
;  IMDSPLOT.AUTO_YTITLE - Automatically generate ytitle
;  IMDSPLOT.PYTITLE - Phase title
;  IMDSPLOT.AUTO_PYTITLE - Automatically generate phase title
;  IMDSPLOT.ZTITLE - Ztitle
;  IMDSPLOT.AUTO_ZTITLE - Automatically generate ztitle
;  IMDSPLOT.CHARSIZE - Charsize
;  IMDSPLOT.S_LABEL_POS - Position for structure label
;  IMDSPLOT.APFQ_LABEL_POS - Position for ares/pres/f/q label
;  IMDSPLOT.FP_LABEL_POS - Position for fit parameters label
;  IMDSPLOT.LEGEND:0 -  0: use curve_label, 1: use legend, -1: no legend
;  IMDSPLOT.CURVE_LABEL_POS - Curve_label position
;  IMDSPLOT.CLABEL - Curve labels
;  IMDSPLOT.LEGEND_POS - Position for legend.
;  IMDSPLOT.BANGX - Private copy of !x
;  IMDSPLOT.BANGY - Private copy of !y
;  IMDSPLOT.BANGZ - Private copy of !z
;  IMDSPLOT.BANGPY - Private copy of !y used for phase plots
;  IMDSPLOT.BANGP - Private copy of !p
;  IMDSPLOT.WXSIZE - Plot window X size
;  IMDSPLOT.WYSIZE - Plot window Y size
;  IMDSPLOT.QSPACE - Flag for q-space plots
;  IMDSPLOT.THREED - Flag for type of 2D plot.
;  IMDSPLOT.C_NLEVELS - Number of contour levels for contour plots.
;  IMDSPLOT.HORIZONTAL- Horizontal keyword to surface
;  IMDSPLOT.CURSOR_VALUE - Cursor function pointer.
;  IMDSPLOT.STATS_FUNCTION - Statistics function pointer.
;  IMDSPLOT.STATS_FLAGS - Array of flags for computing statistics
;  IMDSPLOT.STATS - Array of statistics values.
;  IMDSPLOT.STATS_PRECISION - Array of integers specifying statistics
;                             display precision
;  IMDSPLOT.ROI_RANGE - 2-element array of substrates for ROI
;  IMDSPLOT.ROI_MARK_FLAG - flag to indicate that the ROI is in the
;                           process of being marked.
;  IMDSPLOT.ROI - flag to indicate ROI.
;
;  ------------------------------------------------------------------------------
;  
;  IMDNPLOT - A structure controlling the behavior of the IMDNPLOT
;             procedure, containing the following tags:
;  
;  IMDNPLOT.XAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDNPLOT.YAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDNPLOT.ZAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDNPLOT.IV - Bit-wise flag for independent variables.
;  IMDNPLOT.IVINDICES - Array indices for independent variables.
;  IMDNPLOT.M - Plot measured data flag
;  IMDNPLOT.BAA - Plot didomega_baa
;  IMDNPLOT.BAS - Plot didomega_bas
;  IMDNPLOT.BAP - Plot didomega_bap
;  IMDNPLOT.DWBA - Plot didomega_dwba
;  IMDNPLOT.BAASTYLE - Style parameters for didomega_baa
;  IMDNPLOT.BASSTYLE - Style parameters for didomega_bas
;  IMDNPLOT.BAPSTYLE - Style parameters for didomega_bap
;  IMDNPLOT.DWBASTYLE - Style parameters for didomega_dwba
;  IMDNPLOT.MSTYLE - Style parameters for average reflectance
;  IMDNPLOT.MCLABEL - Curve label for measured data.
;  IMDNPLOT.MCURVE_LABEL_POS - Curve label position for measured data.
;  IMDNPLOT.TITLE - Title
;  IMDNPLOT.AUTO_TITLE - Automatically generate titles.
;  IMDNPLOT.SUBTITLE - Subtitle
;  IMDNPLOT.AUTO_SUBTITLE - Automatically generate subtitles.
;  IMDNPLOT.XTITLE - Xtitle
;  IMDNPLOT.AUTO_XTITLE - Automatically generate xtitle
;  IMDNPLOT.YTITLE - Ytitle
;  IMDNPLOT.AUTO_YTITLE - Automatically generate ytitle
;  IMDNPLOT.PYTITLE - Phase title
;  IMDNPLOT.AUTO_PYTITLE - Automatically generate phase title
;  IMDNPLOT.ZTITLE - Ztitle
;  IMDNPLOT.AUTO_ZTITLE - Automatically generate ztitle
;  IMDNPLOT.CHARSIZE - Charsize
;  IMDNPLOT.S_LABEL_POS - Position for structure label
;  IMDNPLOT.APFQ_LABEL_POS - Position for ares/pres/f/q label
;  IMDNPLOT.FP_LABEL_POS - Position for fit parameters label
;  IMDNPLOT.LEGEND:0 -  0: use curve_label, 1: use legend, -1: no legend
;  IMDNPLOT.CURVE_LABEL_POS - Curve_label position
;  IMDNPLOT.CLABEL - Curve labels
;  IMDNPLOT.LEGEND_POS - Position for legend.
;  IMDNPLOT.BANGX - Private copy of !x
;  IMDNPLOT.BANGY - Private copy of !y
;  IMDNPLOT.BANGZ - Private copy of !z
;  IMDNPLOT.BANGP - Private copy of !p
;  IMDNPLOT.WXSIZE - Plot window X size
;  IMDNPLOT.WYSIZE - Plot window Y size
;  IMDNPLOT.QSPACE - Flag for q-space plots
;  IMDNPLOT.THREED - Flag for type of 2D plot.
;  IMDNPLOT.C_NLEVELS - Number of contour levels for contour plots.
;  IMDNPLOT.HORIZONTAL- Horizontal keyword to surface
;  IMDNPLOT.CURSOR_VALUE - Cursor function pointer.
;  IMDNPLOT.STATS_FUNCTION - Statistics function pointer.
;  IMDNPLOT.STATS_FLAGS - Array of flags for computing statistics
;  IMDNPLOT.STATS - Array of statistics values.
;  IMDNPLOT.STATS_PRECISION - Array of integers specifying statistics
;                             display precision
;  IMDNPLOT.ROI_RANGE - 2-element array of substrates for ROI
;  IMDNPLOT.ROI_MARK_FLAG - flag to indicate that the ROI is in the
;                           process of being marked.
;  IMDNPLOT.ROI - flag to indicate ROI.
;
;  ------------------------------------------------------------------------------
;  
;  IMDFPLOT - A structure controlling the behavior of the IMDFPLOT
;             procedure, containing the following tags:
;  
;  IMDFPLOT.XAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDFPLOT.YAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDFPLOT.ZAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDFPLOT.IV - Bit-wise flag for independent variables.
;  IMDFPLOT.IVINDICES - Array indices for independent variables.
;  IMDFPLOT.FA - Plot average field intensity flag
;  IMDFPLOT.FS - Plot s-field intensity flag.
;  IMDFPLOT.FP - Plot p-field intensity flag.
;  IMDFPLOT.FASTYLE - Style parameters for average field intensity
;  IMDFPLOT.FSSTYLE - Style parameters for s-field intensity
;  IMDFPLOT.FPSTYLE - Style parameters for p-field intensity
;  IMDFPLOT.TITLE - Title
;  IMDFPLOT.AUTO_TITLE - Automatically generate titles.
;  IMDFPLOT.SUBTITLE - Subtitle
;  IMDFPLOT.AUTO_SUBTITLE - Automatically generate subtitles.
;  IMDFPLOT.XTITLE - Xtitle
;  IMDFPLOT.AUTO_XTITLE - Automatically generate xtitle
;  IMDFPLOT.YTITLE - Ytitle
;  IMDFPLOT.AUTO_YTITLE - Automatically generate ytitle
;  IMDFPLOT.ZTITLE - Ztitle
;  IMDFPLOT.AUTO_ZTITLE - Automatically generate ztitle
;  IMDFPLOT.CHARSIZE - Charsize
;  IMDFPLOT.S_LABEL_POS - Position for structure label
;  IMDFPLOT.APFQ_LABEL_POS - Position for ares/pres/f/q label
;  IMDFPLOT.LEGEND:0 -  0: use curve_label, 1: use legend, -1: no legend
;  IMDFPLOT.CURVE_LABEL_POS - Curve_label position
;  IMDFPLOT.CLABEL - Curve labels
;  IMDFPLOT.LEGEND_POS - Position for legend.
;  IMDFPLOT.BANGX - Private copy of !x
;  IMDFPLOT.BANGY - Private copy of !y
;  IMDFPLOT.BANGZ - Private copy of !z
;  IMDFPLOT.BANGP - Private copy of !p
;  IMDFPLOT.WXSIZE - Plot window X size
;  IMDFPLOT.WYSIZE - Plot window Y size
;  IMDFPLOT.QSPACE - Flag for q-space plots
;  IMDFPLOT.THREED - Flag for type of 2D plot.
;  IMDFPLOT.C_NLEVELS - Number of contour levels for contour plots.
;  IMDFPLOT.HORIZONTAL- Horizontal keyword to surface
;  
;  ------------------------------------------------------------------------------
;  
;  IMDCPLOT - A structure controlling the behavior of the IMDCPLOT
;             procedure, containing the following tags:
;  
;  IMDCPLOT.XAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDCPLOT.YAXIS - 4-element array corresponding to TYPE, RANGE(0:1), and STYLE
;  IMDCPLOT.FP - Bit-wise flag for fit parameters.
;  IMDCPLOT.FPINDICES - Array indices for fit parameters.
;  IMDCPLOT.CSTYLE - Style parameters for Chi^2.
;  IMDCPLOT.PTSTYLE - Style parameters for best-fit point
;  IMDCPLOT.TITLE - Title
;  IMDCPLOT.AUTO_TITLE - Automatically generate titles.
;  IMDCPLOT.SUBTITLE - Subtitle
;  IMDCPLOT.AUTO_SUBTITLE - Automatically generate subtitles.
;  IMDCPLOT.XTITLE - Xtitle
;  IMDCPLOT.AUTO_XTITLE - Automatically generate xtitle
;  IMDCPLOT.YTITLE - Ytitle
;  IMDCPLOT.AUTO_YTITLE - Automatically generate ytitle
;  IMDCPLOT.CHARSIZE - Charsize
;  IMDCPLOT.S_LABEL_POS - Position for structure label
;  IMDCPLOT.APFQ_LABEL_POS - Position for ares/pres/f/q label
;  IMDCPLOT.FP_LABEL_POS - Position for fit parameters label
;  IMDCPLOT.LEGEND:0 -  0: use curve_label, 1: use legend, -1: no legend
;  IMDCPLOT.CURVE_LABEL_POS - Curve_label position
;  IMDCPLOT.CLABEL - Curve labels
;  IMDCPLOT.JOINT - 0 for independent, 1 for joint confidence intervals
;  IMDCPLOT.LEVEL - Confidence level
;  IMDCPLOT.DCHI2_LABEL_POS - Curve_label position for Delta(Chi^2)
;  IMDCPLOT.DCHI2LABEL - Curve labels for Delta(Chi^2)
;  IMDCPLOT.LEGEND_POS - Position for legend.
;  IMDCPLOT.BANGX - Private copy of !x
;  IMDCPLOT.BANGY - Private copy of !y
;  IMDCPLOT.BANGZ - Private copy of !z
;  IMDCPLOT.BANGP - Private copy of !p
;  IMDCPLOT.WXSIZE - Plot window X size
;  IMDCPLOT.WYSIZE - Plot window Y size
;  IMDCPLOT.QSPACE - Flag for q-space plots
;  IMDCPLOT.THREED - Flag for type of 2D plot.
;  IMDCPLOT.C_NLEVELS - Number of contour levels for contour plots.
;  

; COMMON IMD_PARS, $ ; IV,FP,FP_C,AMBIENT,AMBIENT_NC,AMBIENT_F1F2, ; LAYER,LAYER_NC,LAYER_F1F2,SUBSTRATE,SUBSTRATE_NC,SUBSTRATE_F1F2, $ ; IV0,AMBIENT0,AMBIENT_NC0,AMBIENT_F1F20, ; LAYER0,LAYER_NC0,LAYER_F1F20,SUBSTRATE0,SUBSTRATE_NC0,SUBSTRATE_F1F20, ; SEED ; ; You shouldn't be concerned with any variables in IMD_PARS. ;

; COMMON IMD_VARS, $ ; THETA,LAMBDA,IDVAR,FITPAR,CHI_2,NC,Z,SIGMA,SIGMA_FROM_PSD, ; INTERFACE,F,Q,ARES,PRES, $ ; R,RS,RP,PRS,PRP,PSI,DELTA, ; T,TS,TP,PTS,PTP,A,AS,AP, ; USER1,USER2,USER3 ; ; THETA - Incidence angles, in degrees from normal. ; ; LAMBDA - Wavelengths, in angstroms. ; ; IDVAR - A structure containing independent variable arrays. ; Each tag of IDVAR is an array. i.e., IDVAR.IV0 = Theta, ; IDVAR.IV1 = Lambda, etc. ; ; FITPAR - Similar to IDVAR, but for Fit Parameters. ; ; CHI_2 - Array of Chi^2 values. Dimensions are given by the ; number of tags to FITPAR ; ; NC - Complex array of indices of refraction. Dimensions are equal to ; N_ELEMENTS(Z)+2 by N_ELEMENTS(LAMBDA) ; ; Z - 1D array of layer thicknesses, in angstroms. ; ; SIGMA - 1D array of interface roughnesses. ; ; SIGMA_FROM_PSD - 1D array of flags indicating that the SIGMA value ; for that interface is to be computed from the PSD. ; ; INTERFACE - 1D array of interface profile pointers ; ; F - Polarization factor ; ; Q - Polarization analyzer sensitivity ; ; ARES - Angular resolution, in degrees. ; ; PRES - Spectral resolution, in angstroms. ; ; R, RS, RP - Reflectance ; ; PRS, PRP - Reflected phases. ; ; PSI, DELTA - Ellipsometric Psi and Delta. ; ; T, TS, TP - Transmittance ; ; PTS, PTP - Transmitted phases ; ; A, AS, AP - Absorptance ; ; USER1, USER2, USER3 - User-defined functions. ; ; Note: the dimensions of the optical properties are determined by the ; number of independent variables.

; ; COMMON IMD_FPARS,PT_SPACING,AMBIENT_DEPTH,SUBSTRATE_DEPTH ; ; Field calculation parameters. Don't mess with these. ;

; COMMON IMD_FVARS,DEPTH,INT,INTS,INTP ; ; DEPTH - Depth array (for field intensities) ; ; INT, INTS, INTP - Field intensities. ; ; Note: the dimensions of the field intensities are determined by the ; number of independent variables.

; COMMON IMD_NSVARS,Q_RANGE, $ ; THETA_IN,THETA_OUT,PHI, $ ; PSD_XI_PERP,SIGMA_D, $ ; PSD_SIGMA_R,PSD_XI_PAR,PSD_H, $ ; PSD_OMEGA,PSD_NU,PSD_N, $ ; DIDOMEGA_DWBA,DIDOMEGA_BAA,DIDOMEGA_BAS,DIDOMEGA_BAP ; ; THETA_IN - Multi-dimensional array of Theta_in values, in degress ; from normal. ; ; THETA_OUT - Multi-dimensional array of Theta_out values, in ; degress from normal. ; ; PHI - Scattering plane azimuthal angle, in degrees. ; ; PSD_XI_PERP - Perpendicular correlation length, used with the ; sigma_r/xi_par/H PSD model. ; ; SIGMA_D - 1D array of interface diffuseness values. ; ; PSD_SIGMA_R - 1D array of interface roughnesses. ; ; PSD_XI_PAR - 1D array of interface correlation lengths. ; ; PSD_H - 1D array of interface jaggedness factors. ; ; PSD_OMEGA - 1D array of interface volume element parameters. ; ; PSD_NU - 1D array of interface relaxation parameters. ; ; PSD_N - 1D array of interface PSD exponenets. ; ; DIDOMEGA_DWBA - Non-specular reflected intensity computed from the ; DWBA ; ; DIDOMEGA_BAS - s-polarized component of non-specular reflected ; intensity computed using the BA. ; ; DIDOMEGA_BAP - p-polarized component of non-specular reflected ; intensity computed using the BA. ; ; DIDOMEGA_BAA - polarization-averaged non-specular reflected ; intensity computed using the BA.

; ; COMMON IMD_M,X_M,Y_M,SIGY_M ; ; X_M, Y_M, SIGY_M - Measured data (in internal units, i.e., angstroms, ; degrees, etc.)

; ; COMMON IMD_F1F2,ATWT_LIST,ELEMENT_LIST, $ ; F1F2_COMPOUND_NAME,F1F2_DENSITY,F1F2_NUMBER,F1F2_ELEMENT, $ ; F1F2_LAMBDA,F1F2_N,F1F2_K,F1F2_AUTOPLOT ; ; These are all variables used by the IMD_F1F2TONK function. You shouldn't ; mess with any of these. ;

; ; COMMON IMD_WIDGET, $ ; MAINW,AMBW,LAYW,SUBW,IVW,OPEN_MW,FITW,CPW,FPW, $ ; PMFCW,PPSDW,PSAVW,PFLDW,NKVIEWW,PNKPATHW,PRINTW,F1F2W ; ; Widget ids. You definitely shouldn't mess with these.

; ; COMMON IMD_STR, $ ; IV_STR,CP_STR,FP_STR,AMBIENT_STR,LAYER_STR,SUBSTRATE_STR ; ; Structure variable templates. You definitely shouldn't mess with ; these.


Back | Contents