#### Description:

A SpecMap is a specialised form of Mapping which can be used to represent a sequence of conversions between standard spectral coordinate systems.

When an SpecMap is first created, it simply performs a unit (null) Mapping. Using the astSpecAdd function, a series of coordinate conversion steps may then be added. This allows multi-step conversions between a variety of spectral coordinate systems to be assembled out of a set of building blocks.

Conversions are available to transform between standards of rest. Such conversions need to know the source position as an RA and DEC. This information can be supplied in the form of parameters for the relevant conversions, in which case the SpecMap is 1-dimensional, simply transforming the spectral axis values. This means that the same source position will always be used by the SpecMap. However, this may not be appropriate for an accurate description of a 3-D spectral cube, where changes of spatial position can produce significant changes in the Doppler shift introduced when transforming between standards of rest. For this situation, a 3-dimensional SpecMap can be created in which axes 2 and 3 correspond to the source RA and DEC The SpecMap simply copies values for axes 2 and 3 from input to output), but modifies axis 1 values (the spectral axis) appropriately.

For details of the individual coordinate conversions available, see the description of the astSpecAdd function.

#### Constructor Function

astSpecMap (also see astSpecAdd)

#### Inheritance

The SpecMap class inherits from the Mapping class.

#### Attributes

The SpecMap class does not define any new attributes beyond those which are applicable to all Mappings.

#### Functions

In addition to those functions applicable to all Mappings, the following function may also be applied to all SpecMaps:

- astSpecAdd: Add a spectral coordinate conversion to an SpecMap

Copyright (C) 2021 East Asian Observatory