Create a SpecFrame


This function creates a new SpecFrame and optionally initialises its attributes.

A SpecFrame is a specialised form of one-dimensional Frame which represents various coordinate systems used to describe positions within an electro-magnetic spectrum. The particular coordinate system to be used is specified by setting the SpecFrame s System attribute (the default is wavelength) qualified, as necessary, by other attributes such as the rest frequency, the standard of rest, the epoch of observation, etc (see the description of the System attribute for details).

By setting a value for thr SpecOrigin attribute, a SpecFrame can be made to represent offsets from a given spectral position, rather than absolute


AstSpecFrame astSpecFrame( const char options, ... )


Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new SpecFrame. The syntax used is identical to that for the astSet function and may include " printf" format specifiers identified by " %" symbols in the normal way. If no initialisation is required, a zero-length string may be supplied.
If the " options" string contains " %" format specifiers, then an optional list of additional arguments may follow it in order to supply values to be substituted for these specifiers. The rules for supplying these are identical to those for the astSet function (and for the C " printf" function).

Returned Value

A pointer to the new SpecFrame.


frame = astSpecFrame( " " );
Creates a SpecFrame to describe the default wavelength spectral coordinate system. The RestFreq attribute (rest frequency) is unspecified, so it will not be possible to align this SpecFrame with another SpecFrame on the basis of a velocity-based system. The standard of rest is also unspecified. This means that alignment will be possible with other SpecFrames, but no correction will be made for Doppler shift caused by change of rest frame during the alignment.
frame = astSpecFrame( " System=VELO, RestFreq=1.0E15, StdOfRest=LSRK" );
Creates a SpecFrame describing a apparent radial velocity (" VELO" ) axis with rest frequency 1.0E15 Hz (about 3000 Angstroms), measured in the kinematic Local Standard of Rest (" LSRK" ). Since the source position has not been specified (using attributes RefRA and RefDec), it will only be possible to align this SpecFrame with other SpecFrames which are also measured in the LSRK standard of rest.