In the simple trace-to-trace mapping the operator is
simply described by a transformation
of the time axis.
In the more general case,
an integral operator is defined by a transformation
of the time axis for each pair of input and output traces.
The generic interface for the mapping function
`map_amp` is:

function map_amp (want_info,inv_map,inv_amp,inp_geom,out_geom, & first_samp, last_samp, map, amp, inp_cent_coord) result (info) type(genkir3d_info_type) :: info logical, intent(in) :: want_info,inv_map,inv_amp type (seis3d_geom_type), intent(in) :: inp_geom type (seis3d_geom_type), intent(in) :: out_geom integer, dimension(:,:), intent(out) :: first_samp,last_samp real, dimension (:,:,:), intent(out) :: map,amp,max_freq real, pointer, dimension (:,:,:) :: inp_cent_coord

For each pair of input and output traces,
`map_amp` must compute the mapping function
of the input time axis into the output time axis,
(`map`)
and by its corresponding amplitude term
(`amp`).
The lower and upper limit of the mapping
are respectively described by the `first_samp`
and `last_samp` arrays.
To avoid aliasing artifacts the input traces
can be filtered with a low-pass filter before being
summed into the output space.
The high-frequency cutoff of this low-pass filtering
must also be computed by `map_amp`
and stored in the `max_freq` array.

As discussed above,
when the spraying spatial mapping is applied,
the data are first sprayed into an intermediary
output space.
The array `inp_cent_coord` contains the coordinates
of this intermediate output space.
It is used by the `map_amp` function
and it is initialized by
the operator-domain definition function `oper_domain`.

The generic interface for the operator-domain function is:

function oper_domain (inv_map,inv_amp,inp_geom,out_geom, & inp_cent_coord, out_coord) result (stat)integer :: stat logical, intent(in) :: inv_map,inv_amp type (seis3d_geom_type), intent(in) :: inp_geom type (seis3d_geom_type), intent(inout) :: out_geom real, pointer, dimension (:,:,:) :: inp_cent_coord real, pointer, dimension (:,:,:) :: out_coord

The array `inp_cent_coord` must be filled with
the coordinates of the spraying domain,
in input-centered coordinate system.
The coordinates of the spraying domain in the output-space
coordinate system is stored in the
`out_geom` data structure.

7/5/1998