Next:
Data objects    Up: Preliminaries


S2HAT parameters and structures

  • Parameters;
  • Structures.

    NB. all parameters and structures are defined in s2hat_types.h and s2hat_types.f90

  • Parameters

    PIXCHOICE_HEALPIX -- parameter defining Healpix pixelization (= 0);
    PIXCHOICE_GLESP -- parameter defining GLESP pixelization (= 1);
    PIXCHOICE_ECP -- parameter defining ECP gridding scheme (= 2);
    PIXCHOICE_GLCP -- parameter defining GLCP gridding scheme (= 3);
    SPIN_CONV_SIGN -- parameter defining the spin sign convention (= -1).

    Top of the page


  • Structures

    pixparameters - a structure storing a set of parameters defining any of the pre-defined pixelization/sky gridding schemes. It has two fields:
    par1[integer(4b)] - first parameters (e.g., =nside for HEALpix, or =nrings for GLESP, ECP or GLCP);
    par2[integer(4b)] - second paramter (e.g., equal to a number of pixels per ring for ECP and GLCP, irrelevant for HEALpix and GLESP.


    pixeltype - structure storing all the pixelization characteristics needed by the transforms. (See Section Pixelization for all assumptions about the permissible pixelization schemes.)

    The fields are as follows:
    type[integer(8b)] -- pixelization type (e.g. = PIXCHOICE_HEALPIX);

    npixsall[integer(8b)] -- total number of pixels in the full sky map;

    nringsall[integer(8b)] -- a total number of iso-latitude rings of the full sky map covering the Northern hemisphere plus equatorial ring (if present);

    nphmx [integer(8b))] -- a max number of pixels per iso-ring;

    nph[integer(8b)] -- a pointer to a vector ([1:nringsall]) containing a number of pixels for each iso-ring;

    fpix[integer(8b)] -- a pointer to a vector ([1:nringsall]) containing a number of the first pixel for each ring in a global pixel numbering scheme;

    kphi[real(dp)] -- a pointer to a vector ([1:nringsall]) containing a phase shift info for the FFTs, it is equal to a azimuthal position (in radians) of the first pixel of each ring;

    qwght[real(dp)] -- a pointer to a vector ([1:nringsall] containing the quadrature weights for each isolatitudinal ring;

    /*
    pixphi[real(dp)] -- a pointer to a vector ([1:nringsall]) containing the pixel azimuthal separation for each iso-ring (assumed to be equidistant);

    --> DISUSED the pixel azimuthal size/separation is **ALWAYS** assumed to be:

    2 pi/pixelization%nph(ring number)
    */

    parea[real(dp)] -- a pointer to a vector ([1:nringsall]) containing the pixel areas for each iso-ring (and assumed to be constant on each iso-ring);

    cth [real(dp)] -- a pointer to a vector ([1:nringsall]) containing a value of a cosine of the polar angle measured from the North Pole for each iso-ring;

    sth [real(dp)] -- a pointer to a vector ([1:nringsall]) containing a value of a sine of the polar angle measured from the North Pole for each iso-ring;


    N.B. Note that given the pixelization structure one can always recover the position of all the pixel centers.

    For example:

    For an jth pixel on an ith ring (i.e., a pixel with a number pixelization%fpix(i)+j in the global, ring-wise numbering scheme starting from the North Pole), its coordinates are given by,

    phi( pixelization%fpix(i)+j) = pixelization%kphi(i) + pixelization%pixphi(i) * j,
    for j = 0, ..., pixelization%nph(i)-1

    theta( pixelization%fpix(i)+j) = acos( pixelization%cth(i)).


    scandef -- A S2HAT structure storing all the info needed to define the sky patch to be analyzed.

    The fields are as follows:
    npixsobs [integer(8b)] - a number of observed pixels;

    nringsobs [integer(8b)] - a number of observed rings (including all partially observed ones), observed either in the North or South (i.e., a number of nonzero entries of the vector scan.fl defined below);

    nfl [integer(8b)] - a pointing to a vector ([1:nringsall]) storing the info about each ring of the Northern hemisphere (plus the equatorial ring if present). The stored values are either =1 or =0 if a ring is or is not observed. The rings are counted from the North Pole;

    sfl [integer(8b)] - a pointing to a vector ([1:nringsall]) storing the info about each ring of the Southern hemisphere. For observed rings: =1 and unobserved: =0. The rings are counted from the South Pole. (If an equatorial ring of pixels exists then scan.sfl[ nringsall] = scan.nfl[nringsall]);

    fl [integer(8b)] - a pointing to a vector ([1:nringsall]) vector storing the info about each ring. The stored values are: =1 - if either a ring or its symmetric counterpart (or both) is observed (in the Northern or Southern hemisphere respectively), otherwise -0. This field is a logical sum of the two previous fields.

    Note that all the fields of the structures need to be allocated and defined prior to calling any transform routines. That can be done either directly by the user or, for some standard pixelization schemes (i.e., HEALpix and GLESP), by calling provided functions. See Scan/pixelization routines section of this documentation.

    Top of the page


  • Next: Data objects    Up: Preliminaries

    radek stompor 2007-09-15