# spxprm Struct Reference

Spectral variables and their derivatives. More...

`#include <spx.h>`

## Data Fields
double | restfrq
double | restwav
int | wavetype
int | velotype
double | freq
double | afrq
double | ener
double | wavn
double | vrad
double | wave
double | vopt
double | zopt
double | awav
double | velo
double | beta
double | dfreqafrq
double | dafrqfreq
double | dfreqener
double | denerfreq
double | dfreqwavn
double | dwavnfreq
double | dfreqvrad
double | dvradfreq
double | dfreqwave
double | dwavefreq
double | dfreqawav
double | dawavfreq
double | dfreqvelo
double | dvelofreq
double | dwavevopt
double | dvoptwave
double | dwavezopt
double | dzoptwave
double | dwaveawav
double | dawavwave
double | dwavevelo
double | dvelowave
double | dawavvelo
double | dveloawav
double | dvelobeta
double | dbetavelo
struct wcserr * | err
void * | padding

## Detailed Description

The spxprm struct contains the value of all spectral variables and their derivatives. It is used solely by specx() which constructs it from information provided via its function arguments.

This struct should be considered read-only, no members need ever be set nor should ever be modified by the user.

## Field Documentation

double spxprm::restfrq

(Returned) Rest frequency [Hz].

double spxprm::restwav

(Returned) Rest wavelength [m].

int spxprm::wavetype

(Returned) True if wave types have been computed, and ...

int spxprm::velotype

(Returned) ... true if velocity types have been computed; types are defined below.

If one or other of spxprm::restfrq and spxprm::restwav is given (non-zero) then all spectral variables may be computed. If both are given, restfrq is used. If restfrq and restwav are both zero, only wave characteristic xor velocity type spectral variables may be computed depending on the variable given. These flags indicate what is available.

double spxprm::freq

(Returned) Frequency [Hz] (wavetype).

double spxprm::afrq

(Returned) Angular frequency [rad/s] (wavetype).

double spxprm::ener

(Returned) Photon energy [J] (wavetype).

double spxprm::wavn

(Returned) Wave number [/m] (wavetype).

double spxprm::vrad

(Returned) Radio velocity [m/s] (velotype).

double spxprm::wave

(Returned) Vacuum wavelength [m] (wavetype).

double spxprm::vopt

(Returned) Optical velocity [m/s] (velotype).

double spxprm::zopt

(Returned) Redshift [dimensionless] (velotype).

double spxprm::awav

(Returned) Air wavelength [m] (wavetype).

double spxprm::velo

(Returned) Relativistic velocity [m/s] (velotype).

double spxprm::beta

(Returned) Relativistic beta [dimensionless] (velotype).

double spxprm::dfreqafrq

(Returned) Derivative of frequency with respect to angular frequency [/rad] (constant, ), and ...

double spxprm::dafrqfreq

(Returned) ... vice versa [rad] (constant, , always available).

double spxprm::dfreqener

(Returned) Derivative of frequency with respect to photon energy [/J/s] (constant, ), and ...

double spxprm::denerfreq

(Returned) ... vice versa [Js] (constant, , Planck's constant, always available).

double spxprm::dfreqwavn

(Returned) Derivative of frequency with respect to wave number [m/s] (constant, , the speed of light in vacuuo), and ...

double spxprm::dwavnfreq

(Returned) ... vice versa [s/m] (constant, , always available).

double spxprm::dfreqvrad

(Returned) Derivative of frequency with respect to radio velocity [/m], and ...

double spxprm::dvradfreq

(Returned) ... vice versa [m] (wavetype && velotype).

double spxprm::dfreqwave

(Returned) Derivative of frequency with respect to vacuum wavelength [/m/s], and ...

double spxprm::dwavefreq

(Returned) ... vice versa [m s] (wavetype).

double spxprm::dfreqawav

(Returned) Derivative of frequency with respect to air wavelength, [/m/s], and ...

double spxprm::dawavfreq

(Returned) ... vice versa [m s] (wavetype).

double spxprm::dfreqvelo

(Returned) Derivative of frequency with respect to relativistic velocity [/m], and ...

double spxprm::dvelofreq

(Returned) ... vice versa [m] (wavetype && velotype).

double spxprm::dwavevopt

(Returned) Derivative of vacuum wavelength with respect to optical velocity [s], and ...

double spxprm::dvoptwave

(Returned) ... vice versa [/s] (wavetype && velotype).

double spxprm::dwavezopt

(Returned) Derivative of vacuum wavelength with respect to redshift [m], and ...

double spxprm::dzoptwave

(Returned) ... vice versa [/m] (wavetype && velotype).

double spxprm::dwaveawav

(Returned) Derivative of vacuum wavelength with respect to air wavelength [dimensionless], and ...

double spxprm::dawavwave

(Returned) ... vice versa [dimensionless] (wavetype).

double spxprm::dwavevelo

(Returned) Derivative of vacuum wavelength with respect to relativistic velocity [s], and ...

double spxprm::dvelowave

(Returned) ... vice versa [/s] (wavetype && velotype).

double spxprm::dawavvelo

(Returned) Derivative of air wavelength with respect to relativistic velocity [s], and ...

double spxprm::dveloawav

(Returned) ... vice versa [/s] (wavetype && velotype).

double spxprm::dvelobeta

(Returned) Derivative of relativistic velocity with respect to relativistic beta [m/s] (constant, , the speed of light in vacuu0), and ...

double spxprm::dbetavelo

(Returned) ... vice versa [s/m] (constant, , always available).

struct wcserr * spxprm::err`[read]`

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

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

Global variable: const char *spx_errmsg[] - Status return messages Error messages to match the status value returned from each function.

void* spxprm::padding