
AXISLIST(3LO)        Linop Reference Manual         AXISLIST(3LO)

NAME
     Axislist - class to  contain  the  axis  information  for  a
     <type>space.

SYNOPSIS
     #include <Axislist.h>

DESCRIPTION
     An Axislist contains the axis information for a <type>space,
     including the number of dimensions, and 4 Axis objects. This
     sets the maximum on dimensions at four, and also means  that
     any  axes  up  to  four will exist, even if the dimension is
     lower than 4. An Axislist can be created by initializing  it
     with  the  number  of  dimensions,  and  then assigning Axis
     objects into it, or from a SepInfo *.

PUBLIC VARIABLES
     int ndim
          The number of dimensions.

     Axis list[4]
          The four Axis.

PUBLIC OPERATIONS
     Axislist(int dim)
          Create an Axislist of dimension  dim,  with  all  empty
          Axis.

     Axislist(SepInfo *)
          Construct an Axislist matching the SepInfo.

     SepInfo * sepinfo(int esize)
          Return  a  pointer  to  a  new  SepInfo  matching   the
          Axislist, given the element size.

     Axislist(const Axis & a)
          Construct an Axislist of dimension , with the a as the
          first Axis in list.

     Axislist()
     Axislist(const Axislist &)

     Axislist(const Axislist& old,int wildo,int wildd,int wildl)
          Construct an Axislist the same as old,  with  wildcards
          of every Axis set to the specified values.

     void setorigin(float o,float o,float o2,float o3)
     void setorigin(float o,float o,float o2)
     void setorigin(float o,float o)
     void setdelta(float d,float d,float d2,float d3)
     void setdelta(float d,float d,float d2)
     void setdelta(float d,float d)

AXISLIST(3LO)        Linop Reference Manual         AXISLIST(3LO)

     void setlength(int l,int l,int l2,int l3)
     void setlength(int l,int l,int l2)
     void setlength(int l,int l)
          Set the origin, delta, or  length  for  each  Axis  for
          which  there  is  a  value  specified  (first  argument
          corresponds to list[], second to list[], etc.).

     Axislist & operator=(const Axislist &)
     ~Axislist()

     friend ostream& operator<<(ostream&,const Axislist&)
          Print the Axislist.

     Axis & operator[](int) const
          Get an Axis by directly indexing the  Axislist,  rather
          than accessing member list.

     Axis & operator[](const char *) const
          Get an Axis from the Axislist by specifying its name.

     Axislist transpose() const
          Return an Axislist that is the transpose of  this  one.
          The first two Axis are switched, which can add a dimen-
          sion or subtract one, if  one  of  the  switching  Axis
          objects are empty.

     Axislist transpose(int i,int j=,int k=2,int l=3) const
          Return an Axislist that is transposed according to  the
          int  parameters. list[] get the Axis number i, list[]
          gets Axis[j], etc. The dimension is then set  according
          to the greatest non-empty Axis.

     void cleanup()
          Set the dimension according to the  greatest  non-empty
          Axis.

     int operator==(const Axislist &) const
          Check if two Axislist objects match- if they  have  the
          same dimension and all their Axis objects match.

     int iswild() const
          Check if all the Axis in the list are wild.

     Axislist slice(int dim, int num) const
          Return an Axislist  that  describes  slice  number  num
          along the dim dimension.

     int subspace(const Axislist & a) const
          Check if this is a subspace of a. To be a subspace  the
          two  must  have the same dimension, and all the Axis in
          the list are sub-axes of the matching Axis in a.list.

AXISLIST(3LO)        Linop Reference Manual         AXISLIST(3LO)

SEE ALSO
     Axis, <type>space, SepInfo

