#### Description:

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

A FluxFrame is a specialised form of one-dimensional Frame which represents various systems used to represent the signal level in an observation. The particular coordinate system to be used is specified by setting the FluxFrame`’` s System attribute qualified, as necessary, by other attributes such as the units, etc (see the description of the System attribute for details).

All flux values are assumed to be measured at the same frequency or wavelength (as given by the SpecVal attribute). Thus this class is more appropriate for use with images rather than spectra.

#### Synopsis

AstFluxFrame ∗astFluxFrame( double specval, AstSpecFrame ∗specfrm, const char ∗options, ... )

#### Parameters:

##### specval

The spectral value to which the flux values refer, given in the spectral coordinate system specified by `"` specfrm`"` . The value supplied for the `"` specval`"` parameter becomes the default value for the SpecVal attribute. A value of AST__BAD may be supplied if the spectral position is unknown, but this may result in it not being possible for the astConvert function to determine a Mapping between the new FluxFrame and some other FluxFrame.

##### specfrm

A pointer to a SpecFrame describing the spectral coordinate system in which the `"` specval`"` parameter is given. A deep copy of this object is taken, so any subsequent changes to the SpecFrame using the supplied pointer will have no effect on the new FluxFrame. A NULL pointer can be supplied if AST__BAD is supplied for `"` specval`"` .

##### options

Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new FluxFrame. 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

##### astFluxFrame()

A pointer to the new FluxFrame.

#### Notes:

- When conversion between two FluxFrames is requested (as when supplying FluxFrames to astConvert), account will be taken of the nature of the flux coordinate systems they represent, together with any qualifying attribute values, including the AlignSystem attribute. The results will therefore fully reflect the relationship between positions measured in the two systems. In addition, any difference in the Unit attributes of the two systems will also be taken into account.

- A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.

Copyright (C) 2021 East Asian Observatory