56 const std::string&
ordering =
"NESTED",
57 const std::string&
coordsys =
"CEL");
66 virtual void clear(
void);
68 virtual std::string
classname(
void)
const;
69 virtual int size(
void)
const;
70 virtual std::string
code(
void)
const;
71 virtual std::string
name(
void)
const;
81 const int&
npix(
void)
const;
82 const int&
nside(
void)
const;
99 void pix2xyf(
const int& pix,
int* ix,
int* iy,
int* face)
const;
100 void nest2xyf(
const int& pix,
int* ix,
int* iy,
int* face)
const;
101 void ring2xyf(
const int& pix,
int* ix,
int* iy,
int* face)
const;
102 int xyf2nest(
const int& ix,
const int& iy,
const int& face)
const;
103 int xyf2ring(
const int& ix,
const int& iy,
const int& face)
const;
104 void xyf2loc(
const double& x,
const double& y,
const int& face,
105 double* z,
double* phi)
const;
109 void pix2xy(
const int& ipix,
int* x,
int* y)
const;
110 int xy2pix(
int x,
int y)
const;
111 void pix2ang_ring(
int ipix,
double* theta,
double* phi)
const;
112 void pix2ang_nest(
int ipix,
double* theta,
double* phi)
const;
116 void get_ring_info(
const int& ring,
int* startpix,
int* ringpix,
117 bool* shifted)
const;
118 void get_ring_info(
const int& ring,
int* startpix,
int* ringpix,
119 double* theta,
bool* shifted)
const;
121 unsigned int isqrt(
unsigned int arg)
const;
Bilinear interpolator class interface definition.
Abstract FITS extension base class definition.
Sky direction class interface definition.
Sky map pixel class definition.
Abstract sky projection base class definition.
Bilinear interpolator class.
Abstract FITS extension base class.
HealPix projection class interface definition.
int nside2order(const int &nside) const
Convert nside to order.
virtual int size(void) const
Return dimension of projection.
double m_solidangle
Solid angle of pixel.
virtual std::string classname(void) const
Return class name.
int xyf2ring(const int &ix, const int &iy, const int &face) const
Convert (x,y,face) tuple to pixel number in ring scheme.
void copy_members(const GHealpix &wcs)
Copy class members.
void nest2xyf(const int &pix, int *ix, int *iy, int *face) const
Convert pixel number in nested scheme to (x,y,face) tuple.
int xyf2nest(const int &ix, const int &iy, const int &face) const
Convert (x,y,face) tuple to pixel number in nested scheme.
virtual ~GHealpix(void)
Destructor.
GHealpix & operator=(const GHealpix &wcs)
Assignment operator.
GHealpix(void)
Void constructor.
virtual std::string name(void) const
Return projection name.
void free_members(void)
Delete class members.
int m_ordering
Pixel ordering (0=ring, 1=nested, -1=?)
virtual GSkyPixel dir2pix(const GSkyDir &dir) const
Returns sky map pixel of sky coordinate.
std::vector< int > neighbours(const GSkyPixel &pixel) const
Return neighbouring pixels of a pixel.
int ang2pix_z_phi_ring(double z, double phi) const
Returns pixel which contains angular coordinates (z,phi)
int m_num_pixels
Number of pixels in projection.
int ang2pix_z_phi_nest(double z, double phi) const
Returns pixel which contains angular coordinates (z,phi)
GSkyDirs boundaries(const GSkyPixel &pixel, const int &step=1) const
Return pixel boundaries.
virtual GBilinear interpolator(const GSkyDir &dir) const
Return interpolator for given sky direction.
virtual void clear(void)
Clear object.
virtual double solidangle(const GSkyPixel &pixel) const
Returns solid angle of pixel.
virtual void write(GFitsHDU &hdu) const
Write Healpix definition into FITS HDU.
int xy2pix(int x, int y) const
Convert (x,y) coordinate to pixel.
int ring_above(const double &z) const
Get ring index north of cos(theta)
virtual std::string code(void) const
Return projection code.
int compress_bits(const int &value) const
Compress Bits.
int spread_bits(const int &value) const
Spread Bits.
int m_ncap
Number of pixels in polar cap.
void pix2xyf(const int &pix, int *ix, int *iy, int *face) const
Convert pixel number in to (x,y,face) tuple.
std::string ordering(void) const
Returns ordering parameter.
int ring2nest(const int &pix) const
Converts pixel number in ring indexing scheme to nested scheme.
virtual bool compare(const GSkyProjection &proj) const
Returns true if argument is identical.
const int & nside(void) const
Returns number of divisions of the side of each base pixel.
GVector set_z_phi(const double &z, const double &phi) const
Return 3D vector.
GSkyDir loc2dir(const double &z, const double &phi) const
Convert local coordinate into sky direction.
void pix2ang_nest(int ipix, double *theta, double *phi) const
Convert pixel index to (theta,phi) angles for nested ordering.
double max_pixrad(void) const
Return maximum angular distance between pixel centre and corners.
void init_members(void)
Initialise class members.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print WCS information.
virtual GHealpix * clone(void) const
Clone instance.
void xyf2loc(const double &x, const double &y, const int &face, double *z, double *phi) const
Convert (x,y,f) tuple into local coordinates.
const int & npix(void) const
Returns number of pixels.
virtual void read(const GFitsHDU &hdu)
Read Healpix definition from FITS header.
virtual GSkyDir pix2dir(const GSkyPixel &pixel) const
Returns sky direction of pixel.
unsigned int isqrt(unsigned int arg) const
Integer n that fulfills n*n <= arg < (n+1)*(n+1)
void pix2xy(const int &ipix, int *x, int *y) const
Convert pixel index to (x,y) coordinate.
int nest2ring(const int &pix) const
Converts pixel number in nested indexing scheme to ring scheme.
int m_nside
Number of divisions of each base pixel (1-8192)
void get_ring_info(const int &ring, int *startpix, int *ringpix, bool *shifted) const
Returns useful information about a given ring of the projection.
void ring2xyf(const int &pix, int *ix, int *iy, int *face) const
Convert pixel number in ring scheme to (x,y,face) tuple.
void pix2ang_ring(int ipix, double *theta, double *phi) const
Convert pixel index to (theta,phi) angles for ring ordering.
Sky directions container class.
Abstract sky projection base class.
virtual std::string coordsys(void) const
Returns coordinate system.