The psf system chooses a routine to initialise a particular psf by
looking at the name supplied at the PSF prompt by the user. If this
name is a valid abbreviation of any known psf then the initialisation
routine is called. The mapping between the full name and the routine
is defined using the internal routine PSF0_DEFPSF
in the
PSF_INIT
module. The initialisation routrine has the standard
signature,
SUBROUTINE psf_init_rtn( INTEGER psid, INTEGER status )where psid is the psf identifier. The dataset with which the psf is associated can be extracted from the
FileID
member of the
structure referenced by psid (see the file $AST_ETC/psf.adi
for the structure definition).
The psf initialisation routine's job is to ask for or locate any
additional information required to specify the psf when actual data is
requested. This extra information is known as psf instance data
as it is peculiar to the particular psf/dataset combination for which
it is computed. This data can be stored in psid using the
psf0_setid0
t routines for subsequent retrieval by the routines
evaluating the psf data.
The most important job in initialisation is to associate other routines to perform other functions in the psf system -- only one of these is mandatory, the data routine.