spcprm Struct Reference

Spectral transformation parameters. More...

#include <spc.h>


Data Fields

int flag
char type [8]
char code [4]
double crval
double restfrq
double restwav
double pv [7]
double w [6]
int isGrism
int padding1
struct wcserrerr
void * padding2
int(* spxX2P )(SPX_ARGS)
int(* spxP2S )(SPX_ARGS)
int(* spxS2P )(SPX_ARGS)
int(* spxP2X )(SPX_ARGS)


Detailed Description

The spcprm struct contains information required to transform spectral coordinates. It consists of certain members that must be set by the user (given) and others that are set by the WCSLIB routines (returned). Some of the latter are supplied for informational purposes while others are for internal use only.

Field Documentation

(Given and returned) This flag must be set to zero whenever any of the following spcprm structure members are set or changed:

This signals the initialization routine, spcset(), to recompute the returned members of the spcprm struct. spcset() will reset flag to indicate that this has been done.

(Given) Four-letter spectral variable type, e.g "ZOPT" for CTYPEia = 'ZOPT-F2W'. (Declared as char[8] for alignment reasons.)

(Given) Three-letter spectral algorithm code, e.g "F2W" for CTYPEia = 'ZOPT-F2W'.

double spcprm::crval

(Given) Reference value (CRVALia), SI units.

(Given) The rest frequency [Hz], and ...

(Given) ... the rest wavelength in vacuo [m], only one of which need be given, the other should be set to zero. Neither are required if the $X$ and $S$ spectral variables are both wave-characteristic, or both velocity-characteristic, types.

double spcprm::pv

(Given) Grism parameters for 'GRI' and 'GRA' algorithm codes:

  • 0: $G$, grating ruling density.
  • 1: $m$, interference order.
  • 2: $\alpha$, angle of incidence [deg].
  • 3: $n_r$, refractive index at the reference wavelength, $\lambda_r$.
  • 4: $n'_r$, $dn/d\lambda$ at the reference wavelength, $\lambda_r$ (/m).
  • 5: $\epsilon$, grating tilt angle [deg].
  • 6: $\theta$, detector tilt angle [deg].

The remaining members of the spcprm struct are maintained by spcset() and must not be modified elsewhere:

double spcprm::w

(Returned) Intermediate values:

  • 0: Rest frequency or wavelength (SI).
  • 1: The value of the $X$-type spectral variable at the reference point (SI units).
  • 2: $dX/dS$ at the reference point (SI units).
The remainder are grism intermediates.

(Returned) Grism coordinates?

  • 0: no,
  • 1: in vacuum,
  • 2: in air.

(An unused variable inserted for alignment purposes only.)

struct wcserr * spcprm::err [read]

(Returned) If enabled, when an error status is returned this structure contains detailed information about the error, see wcserr_enable().

void *padding2 (An unused variable inserted for alignment purposes only.)

(Returned) The first and ...

(Returned) ... the second of the pointers to the transformation functions in the two-step algorithm chain $X\leadsto P\rightarrow S$ in the pixel-to-spectral direction where the non-linear transformation is from $X$ to $P$. The argument list, SPX_ARGS, is defined in spx.h.

(Returned) The first and ...

(Returned) ... the second of the pointers to the transformation functions in the two-step algorithm chain $S\rightarrow P\leadsto X$ in the spectral-to-pixel direction where the non-linear transformation is from $P$ to $X$. The argument list, SPX_ARGS, is defined in spx.h.


Generated on Mon Apr 2 17:55:24 2012 for WCSLIB 4.13.4 by  doxygen 1.5.6