Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

pmFPAAstrometry.h

Go to the documentation of this file.
00001 #ifndef PM_FPA_ASTROMETRY_H
00002 #define PM_FPA_ASTROMETRY_H
00003 
00004 #include "pslib.h"
00005 #include "pmFPA.h"
00006 
00007 /** Find cooresponding cell for given FPA coordinate
00008  *
00009  *  @return pmCell*    the cell cooresponding to the coord in FPA
00010  */
00011 pmCell* pmCellInFPA(
00012     const psPlane* coord,              ///< the coordinate in FPA plane
00013     const pmFPA* FPA                   ///< the FPA to search for the cell
00014 );
00015 
00016 
00017 /** Find cooresponding chip for given FPA coordinate
00018  *
00019  *  @return pmChip*    the chip cooresponding to coord
00020  */
00021 pmChip* pmChipInFPA(
00022     const psPlane* coord,              ///< the coordinate in FPA plane
00023     const pmFPA* FPA                   ///< the FPA to search for the cell
00024 );
00025 
00026 
00027 /** Find cooresponding cell for given Chip coordinate
00028  *
00029  *  @return pmCell*    the cell cooresponding to coord
00030  */
00031 pmCell* pmCellInChip(
00032     const psPlane* coord,              ///< the coordinate in Chip plane
00033     const pmChip* chip                 ///< the chip to search for the cell
00034 );
00035 
00036 
00037 /** Translate a cell coordinate into a chip coordinate
00038  *
00039  *  @return psPlane*    the resulting chip coordinate
00040  */
00041 psPlane* pmCoordCellToChip(
00042     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00043     const psPlane* in,                 ///< the coordinate within Cell
00044     const pmCell* cell                 ///< the Cell in interest
00045 );
00046 
00047 
00048 /** Translate a chip coordinate into a FPA coordinate
00049  *
00050  *  @return psPlane*    the resulting FPA coordinate
00051  */
00052 psPlane* pmCoordChipToFPA(
00053     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00054     const psPlane* in,                 ///< the coordinate within Chip
00055     const pmChip* chip                 ///< the chip in interest
00056 );
00057 
00058 
00059 /** Translate a FPA coordinate into a Tangent Plane coordinate
00060  *
00061  *  @return psPlane*    the resulting Tangent Plane coordinate
00062  */
00063 psPlane* pmCoordFPAToTP(
00064     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00065     const psPlane* in,                 ///< the coordinate within FPA
00066     double color,                      ///< Color of source
00067     double magnitude,                  ///< Magnitude of source
00068     const pmFPA* fpa                   ///< the FPA in interest
00069 );
00070 
00071 
00072 /** Translate a Tangent Plane coordinate into a Sky coordinate
00073  *
00074  *  @return psSphere*    the resulting Sky coordinate
00075  */
00076 psSphere* pmCoordTPToSky(
00077     psSphere* out,                     ///< a sphere struct to recycle. If NULL, a new struct is created
00078     const psPlane* in,                ///< the coordinate within Tangent Plane
00079     const psProjection *projection
00080 );
00081 
00082 /** Translate a cell coordinate into a FPA coordinate
00083  *
00084  *  @return psPlane*    the resulting FPA coordinate
00085  */
00086 psPlane* pmCoordCellToFPA(
00087     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00088     const psPlane* in,                 ///< the coordinate within cell
00089     const pmCell* cell                 ///< the cell in interest
00090 );
00091 
00092 
00093 /** Translate a cell coordinate into a Sky coordinate
00094  *
00095  *  @return psSphere*    the resulting Sky coordinate
00096  */
00097 psSphere* pmCoordCellToSky(
00098     psSphere* out,                     ///< a sphere struct to recycle. If NULL, a new struct is created
00099     const psPlane* in,                 ///< the coordinate within cell
00100     double color,                      ///< Color of source
00101     double magnitude,                  ///< Magnitude of source
00102     const pmCell* cell                 ///< the cell in interest
00103 );
00104 
00105 
00106 /** Translate a cell coordinate into a Sky coordinate using a 'quick and
00107  *  dirty' method
00108  *
00109  *  @return psSphere*    the resulting Sky coordinate
00110  */
00111 psSphere* pmCoordCellToSkyQuick(
00112     psSphere* out,                     ///< a sphere struct to recycle. If NULL, a new struct is created
00113     const psPlane* in,                 ///< the coordinate within cell
00114     const pmCell* cell                 ///< the cell in interest
00115 );
00116 
00117 
00118 /** Translate a Sky coordinate into a Tangent Plane coordinate
00119  *
00120  *  @return psPlane*    the resulting Tangent Plane coordinate
00121  */
00122 psPlane* pmCoordSkyToTP(
00123     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00124     const psSphere* in,                ///< the sky coordinate
00125     const psProjection *projection
00126 );
00127 
00128 /** Translate a Tangent Plane coordinate into a FPA coordinate
00129  *
00130  *  @return psPlane*    the resulting FPA coordinate
00131  */
00132 psPlane* pmCoordTPToFPA(
00133     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00134     const psPlane* in,                 ///< the coordinate within tangent plane
00135     double color,                      ///< Color of source
00136     double magnitude,                  ///< Magnitude of source
00137     const pmFPA* fpa                   ///< the FPA of interest
00138 );
00139 
00140 
00141 /** Translate a FPA coordinate into a chip coordinate
00142  *
00143  *  @return psPlane*    the resulting chip coordinate
00144  */
00145 psPlane* pmCoordFPAToChip(
00146     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00147     const psPlane* in,                 ///< the FPA coordinate
00148     const pmChip* chip                 ///< the chip of interest
00149 );
00150 
00151 
00152 /** Translate a chip coordinate into a cell coordinate
00153  *
00154  *  @return psPlane*    the resulting cell coordinate
00155  */
00156 psPlane* pmCoordChipToCell(
00157     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00158     const psPlane* in,                 ///< the Chip coordinate
00159     const pmCell* cell                 ///< the cell of interest
00160 );
00161 
00162 
00163 /** Translate a sky coordinate into a cell coordinate
00164  *
00165  *  @return psPlane*    the resulting cell coordinate
00166  */
00167 psPlane* pmCoordSkyToCell(
00168     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00169     const psSphere* in,                ///< the Sky coordinate
00170     float color,                       ///< Color of source
00171     float magnitude,                   ///< Magnitude of source
00172     const pmCell* cell                 ///< the cell of interest
00173 );
00174 
00175 
00176 /** Translate a sky coordinate into a cell coordinate using a 'quick and
00177  *  dirty' method
00178  *
00179  *  @return psPlane*    the resulting cell coordinate
00180  */
00181 psPlane* pmCoordSkyToCellQuick(
00182     psPlane* out,                      ///< a plane struct to recycle. If NULL, a new struct is created
00183     const psSphere* in,                ///< the Sky coordinate
00184     const pmCell* cell                 ///< the cell of interest
00185 );
00186 
00187 
00188 #endif

Generated on Mon Jul 3 14:24:27 2006 for Pan-STARRS Module Library by  doxygen 1.4.4