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