The Moc class uses the IVOA MOC (Multi-Order Coverage) recommendation to describe a region on the sky. The region is made up of an arbitrary collection of cells from the HEALPix sky tessellation, and thus may represent any area on the sky, subject to the constraint that the edges of the area correspond to edges of the HEALPix cells. See the MOC recommendation for further information (http://www.ivoa.net/documents/MOC/).
The Moc class describes an arbitrary collection of cells on the sky, whereas other subclasses of Region describe exact geometric shapes in any arbitrary domain. This results in some differences between Mocs and other types of Region, the main one being that Mocs have no associated uncertainty.
The MOC recommendation requires that a MOC always describes a sky area using the ICRS coordinate system. However, the Moc class, like other subclasses of Region, allows its attributes to be changed so that it represents the equivalent area in any celestial coordinate system that can be mapped to ICRS. See attribute Adaptive.
In practice, to use this class an empty Moc object (i.e. a Moc describing a null area of the sky) should first be created using the AST_MOC constructor. Areas of the sky should then be added into the empty Moc using one or more of the class methods.
If it is required to write a Moc out to a FITS binary table, the data value and headers to put in the table can be obtained using methods AST_GETMOCDATA and AST_GETMOCHEADER. The MOC described by an existing FITS binary table can be added into a Moc object using the AST_ADDMOCDATA method.
Note, this class is limited to MOCs for which the number of cells in the normalised MOC can be represented in a four byte signed integer.
A null Object pointer (AST__NULL) will be returned if this function is invoked with STATUS set to an error value, or if it should fail for any reason.