GammaLib  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GWcsGLS Class Reference

Global Sinusoidal (GLS) projection class definition. More...

#include <GWcsGLS.hpp>

Inheritance diagram for GWcsGLS:
GWcsSFL GWcs GSkyProjection GBase

Public Member Functions

 GWcsGLS (void)
 Void constructor. More...
 
 GWcsGLS (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
 Projection constructor. More...
 
 GWcsGLS (const GWcsGLS &wcs)
 Copy constructor. More...
 
virtual ~GWcsGLS (void)
 Destructor. More...
 
GWcsGLSoperator= (const GWcsGLS &wcs)
 Assignment operator. More...
 
virtual void clear (void)
 Clear Global Sinusoidal projection. More...
 
virtual GWcsGLSclone (void) const
 Clone Global Sinusoidal projection. More...
 
virtual std::string classname (void) const
 Return class name. More...
 
virtual std::string code (void) const
 Return projection code. More...
 
virtual std::string name (void) const
 Return projection name. More...
 
virtual std::string print (const GChatter &chatter=NORMAL) const
 Print Global Sinusoidal projection information. More...
 
- Public Member Functions inherited from GWcsSFL
 GWcsSFL (void)
 Void constructor. More...
 
 GWcsSFL (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
 Projection constructor. More...
 
 GWcsSFL (const GWcsSFL &wcs)
 Copy constructor. More...
 
virtual ~GWcsSFL (void)
 Destructor. More...
 
GWcsSFLoperator= (const GWcsSFL &wcs)
 Assignment operator. More...
 
- Public Member Functions inherited from GWcs
 GWcs (void)
 Void constructor. More...
 
 GWcs (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
 Standard WCS sky map constructor. More...
 
 GWcs (const GFitsHDU &hdu)
 Construct from FITS HDU table. More...
 
 GWcs (const GWcs &wcs)
 Copy constructor. More...
 
virtual ~GWcs (void)
 Destructor. More...
 
virtual GWcsoperator= (const GWcs &wcs)
 Assignment operator. More...
 
virtual int size (void) const
 Return dimension of projection. More...
 
virtual void read (const GFitsHDU &hdu)
 Read WCS definition from FITS header. More...
 
virtual void write (GFitsHDU &hdu) const
 Write WCS definition into FITS HDU header. More...
 
virtual double solidangle (const GSkyPixel &pixel) const
 Returns solid angle of pixel in units of steradians. More...
 
virtual GSkyDir pix2dir (const GSkyPixel &pixel) const
 Returns sky direction of sky map pixel. More...
 
virtual GSkyPixel dir2pix (const GSkyDir &dir) const
 Returns sky map pixel of sky direction. More...
 
void set (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
 Set World Coordinate System parameters. More...
 
double crval (const int &inx) const
 Return value of reference pixel. More...
 
double crpix (const int &inx) const
 Return reference pixel. More...
 
double cdelt (const int &inx) const
 Return pixel size. More...
 
- Public Member Functions inherited from GSkyProjection
 GSkyProjection (void)
 Void constructor. More...
 
 GSkyProjection (const GSkyProjection &proj)
 Copy constructor. More...
 
virtual ~GSkyProjection (void)
 Destructor. More...
 
virtual GSkyProjectionoperator= (const GSkyProjection &proj)
 Assignment operator. More...
 
virtual std::string coordsys (void) const
 Returns coordinate system. More...
 
virtual void coordsys (const std::string &coordsys)
 Set coordinate system. More...
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor. More...
 

Protected Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GWcsGLS &wcs)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
- Protected Member Functions inherited from GWcsSFL
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GWcsSFL &wcs)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void prj_set (void) const
 Setup of projection. More...
 
void prj_x2s (int nx, int ny, int sxy, int spt, const double *x, const double *y, double *phi, double *theta, int *stat) const
 Pixel-to-spherical deprojection. More...
 
void prj_s2x (int nphi, int ntheta, int spt, int sxy, const double *phi, const double *theta, double *x, double *y, int *stat) const
 Generic spherical-to-pixel projection. More...
 
- Protected Member Functions inherited from GWcs
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GWcs &wcs)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 
void set_members (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
 Set World Coordinate System parameters. More...
 
virtual bool compare (const GSkyProjection &proj) const
 Compares sky projection. More...
 
bool undefined (const double &value) const
 Check if value is undefined. More...
 
void wcs_ini (int naxis)
 Initialise World Coordinate System. More...
 
void wcs_set (void) const
 Setup of World Coordinate System. More...
 
void wcs_set_radesys (void) const
 Set radesys and equinox members. More...
 
void wcs_set_ctype (void) const
 Set CTYPEa keywords. More...
 
void wcs_p2s (int ncoord, int nelem, const double *pixcrd, double *imgcrd, double *phi, double *theta, double *world, int *stat) const
 Pixel-to-world transformation. More...
 
void wcs_s2p (int ncoord, int nelem, const double *world, double *phi, double *theta, double *imgcrd, double *pixcrd, int *stat) const
 World-to-pixel transformation. More...
 
std::string wcs_print (const GChatter &chatter=NORMAL) const
 Print WCS information. More...
 
std::string wcs_print_value (const double &value) const
 Helper function for value printing. More...
 
void cel_ini (void) const
 Initialise celestial transformation parameters. More...
 
void cel_set (void) const
 Setup of celestial transformation. More...
 
void cel_x2s (int nx, int ny, int sxy, int sll, const double *x, const double *y, double *phi, double *theta, double *lng, double *lat, int *stat) const
 Pixel-to-world celestial transformation. More...
 
void cel_s2x (int nlng, int nlat, int sll, int sxy, const double *lng, const double *lat, double *phi, double *theta, double *x, double *y, int *stat) const
 World-to-pixel celestial transformation. More...
 
void sph_x2s (int nphi, int ntheta, int spt, int sll, const double *phi, const double *theta, double *lng, double *lat) const
 Rotation in the pixel-to-world direction. More...
 
void sph_s2x (int nlng, int nlat, int sll, int spt, const double *lng, const double *lat, double *phi, double *theta) const
 Rotation in the pixel-to-world direction. More...
 
void spc_ini (void)
 Initialise spectral transformation parameters. More...
 
void lin_ini (int naxis)
 Initialise linear transformation parameters. More...
 
void lin_set (void) const
 Initialise linear transformation parameters. More...
 
void lin_p2x (int ncoord, int nelem, const double *pixcrd, double *imgcrd) const
 Pixel-to-world linear transformation. More...
 
void lin_x2p (int ncoord, int nelem, const double *imgcrd, double *pixcrd) const
 World-to-pixel linear transformation. More...
 
void lin_matinv (const std::vector< double > &mat, std::vector< double > &inv) const
 Invert linear transformation matrix. More...
 
void prj_ini (void) const
 Initialise projection parameters. More...
 
void prj_off (const double &phi0, const double &theta0) const
 Compute fiducial offset to force (x,y) = (0,0) at (phi0,theta0) More...
 
int prj_bchk (const double &tol, const int &nphi, const int &ntheta, const int &spt, double *phi, double *theta, int *stat) const
 Performs bounds checking on native spherical coordinates. More...
 
void init_lock (const int &lock_id=0) const
 Initializes an OpenMP lock with a specific name. More...
 
void set_lock (const int &lock_id=0) const
 Sets an OpenMP lock with a specific name. More...
 
void unset_lock (const int &lock_id=0) const
 Releases a previously set OpenMP lock. More...
 
- Protected Member Functions inherited from GSkyProjection
void init_members (void)
 Initialise class members. More...
 
void copy_members (const GSkyProjection &proj)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 

Additional Inherited Members

- Protected Attributes inherited from GWcs
bool m_wcsset
 WCS information is set. More...
 
int m_naxis
 Number of axes. More...
 
std::vector< double > m_crval
 CRVALia keyvalues for each coord axis. More...
 
std::vector< std::string > m_cunit
 CUNITia keyvalues for each coord axis. More...
 
std::vector< std::string > m_ctype
 CTYPEia keyvalues for each coord axis. More...
 
std::vector< std::string > m_ctype_c
 CTYPEia comments for each coord axis. More...
 
double m_lonpole
 LONPOLEa keyvalue. More...
 
double m_latpole
 LATPOLEa keyvalue. More...
 
double m_restfrq
 RESTFRQa keyvalue. More...
 
double m_restwav
 RESTWAVa keyvalue. More...
 
std::string m_radesys
 RADESYS keyvalue. More...
 
double m_equinox
 EQUINOX keyvalue. More...
 
std::vector< double > m_cd
 CDi_ja linear transformation matrix. More...
 
std::vector< double > m_crota
 CROTAia keyvalues for each coord axis. More...
 
int m_lng
 Longitude axis. More...
 
int m_lat
 Latitude axis. More...
 
int m_spec
 Spectral axis. More...
 
bool m_linset
 Linear transformation is set. More...
 
bool m_unity
 Signals unity PC matrix. More...
 
std::vector< double > m_crpix
 CRPIXja keyvalues for each pixel axis. More...
 
std::vector< double > m_pc
 PCi_ja linear transformation matrix. More...
 
std::vector< double > m_cdelt
 CDELTia keyvalues for each coord axis. More...
 
std::vector< double > m_piximg
 Pixel to image transformation matrix. More...
 
std::vector< double > m_imgpix
 Image to pixel transformation matrix. More...
 
bool m_celset
 Celestial transformation is set. More...
 
bool m_offset
 Force (x,y) = (0,0) at (phi_0,theta_0) More...
 
double m_phi0
 Native azimuth angle of fiducial point. More...
 
double m_theta0
 Native zenith angle of fiducial point. More...
 
double m_ref [4]
 Celestial coordinates of fiducial. More...
 
double m_euler [5]
 Euler angles and functions thereof. More...
 
int m_latpreq
 LATPOLEa requirement. More...
 
bool m_isolat
 True if |latitude| is preserved. More...
 
bool m_prjset
 Projection is set. More...
 
double m_r0
 Radius of the generating sphere. More...
 
double m_pv [PVN]
 Projection parameters. More...
 
bool m_bounds
 Enable strict bounds checking. More...
 
double m_x0
 Fiducial x offset. More...
 
double m_y0
 Fiducial y offset. More...
 
std::vector< double > m_w
 Intermediate values. More...
 
bool m_has_pix2dir_cache
 Has valid pix2dir cache value. More...
 
bool m_has_dir2pix_cache
 Has valid dir2pix cache value. More...
 
GSkyDir m_last_pix2dir_dir
 Last sky direction for pix2dir. More...
 
GSkyDir m_last_dir2pix_dir
 Last sky direction for dir2pix. More...
 
GSkyPixel m_last_pix2dir_pix
 Last pixel for pix2dir. More...
 
GSkyPixel m_last_dir2pix_pix
 Last pixel for dir2pix. More...
 
- Protected Attributes inherited from GSkyProjection
int m_coordsys
 0=CEL, 1=GAL More...
 

Detailed Description

Global Sinusoidal (GLS) projection class definition.

This class implements the Global Sinusoidal projection for the World Coordinate System. The Global Sinusoidal projection is an alias of the Sanson-Flamsteed projection, and the GWcsGLS therefore derives from the GWcsSFL class.

Definition at line 45 of file GWcsGLS.hpp.

Constructor & Destructor Documentation

GWcsGLS::GWcsGLS ( void  )

Void constructor.

Definition at line 62 of file GWcsGLS.cpp.

References init_members().

Referenced by clone().

GWcsGLS::GWcsGLS ( const std::string &  coords,
const double &  crval1,
const double &  crval2,
const double &  crpix1,
const double &  crpix2,
const double &  cdelt1,
const double &  cdelt2 
)

Projection constructor.

Parameters
[in]coordsCoordinate system.
[in]crval1X value of reference pixel.
[in]crval2Y value of reference pixel.
[in]crpix1X index of reference pixel (starting from 1).
[in]crpix2Y index of reference pixel (starting from 1).
[in]cdelt1Increment in x direction at reference pixel [deg].
[in]cdelt2Increment in y direction at reference pixel [deg].

Definition at line 83 of file GWcsGLS.cpp.

References init_members(), and GWcs::wcs_set().

GWcsGLS::GWcsGLS ( const GWcsGLS wcs)

Copy constructor.

Parameters
[in]wcsWorld Coordinate System.

Definition at line 105 of file GWcsGLS.cpp.

References copy_members(), and init_members().

GWcsGLS::~GWcsGLS ( void  )
virtual

Destructor.

Definition at line 121 of file GWcsGLS.cpp.

References free_members().

Member Function Documentation

std::string GWcsGLS::classname ( void  ) const
inlinevirtual

Return class name.

Returns
String containing the class name ("GWcsGLS").

Reimplemented from GWcsSFL.

Definition at line 82 of file GWcsGLS.hpp.

void GWcsGLS::clear ( void  )
virtual

Clear Global Sinusoidal projection.

Resets the Global Sinusoidal projection to an clean initial state.

Reimplemented from GWcsSFL.

Definition at line 178 of file GWcsGLS.cpp.

References GWcsSFL::free_members(), free_members(), GSkyProjection::free_members(), GWcs::free_members(), GWcsSFL::init_members(), init_members(), GSkyProjection::init_members(), and GWcs::init_members().

GWcsGLS * GWcsGLS::clone ( void  ) const
virtual

Clone Global Sinusoidal projection.

Returns
Pointer to deep copy of Global Sinusoidal projection.

Reimplemented from GWcsSFL.

Definition at line 202 of file GWcsGLS.cpp.

References GWcsGLS().

std::string GWcsGLS::code ( void  ) const
inlinevirtual

Return projection code.

Returns
Projection code.

Returns the projection code "GLS".

Reimplemented from GWcsSFL.

Definition at line 96 of file GWcsGLS.hpp.

void GWcsGLS::copy_members ( const GWcsGLS wcs)
protected

Copy class members.

Parameters
[in]wcsWorld Coordinate System.

Definition at line 256 of file GWcsGLS.cpp.

Referenced by GWcsGLS(), and operator=().

void GWcsGLS::free_members ( void  )
protected

Delete class members.

Definition at line 266 of file GWcsGLS.cpp.

Referenced by clear(), operator=(), and ~GWcsGLS().

void GWcsGLS::init_members ( void  )
protected

Initialise class members.

Definition at line 244 of file GWcsGLS.cpp.

Referenced by clear(), GWcsGLS(), and operator=().

std::string GWcsGLS::name ( void  ) const
inlinevirtual

Return projection name.

Returns
Projection name.

Returns the projection name.

Reimplemented from GWcsSFL.

Definition at line 110 of file GWcsGLS.hpp.

GWcsGLS & GWcsGLS::operator= ( const GWcsGLS wcs)

Assignment operator.

Parameters
[in]wcsWorld Coordinate System.
Returns
World Coordinate System.

Definition at line 143 of file GWcsGLS.cpp.

References copy_members(), free_members(), init_members(), and GWcsSFL::operator=().

std::string GWcsGLS::print ( const GChatter chatter = NORMAL) const
virtual

Print Global Sinusoidal projection information.

Parameters
[in]chatterChattiness.
Returns
String containing Global Sinusoidal projection information.

Reimplemented from GWcsSFL.

Definition at line 214 of file GWcsGLS.cpp.

References SILENT, and GWcs::wcs_print().


The documentation for this class was generated from the following files: