LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
skymap
10.0+286
python
lsst
skymap
detail
utils.py
Go to the documentation of this file.
1
#
2
# LSST Data Management System
3
# Copyright 2008, 2009, 2010 LSST Corporation.
4
#
5
# This product includes software developed by the
6
# LSST Project (http://www.lsst.org/).
7
#
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the LSST License Statement and
19
# the GNU General Public License along with this program. If not,
20
# see <http://www.lsstcorp.org/LegalNotices/>.
21
#
22
import
numpy
23
24
import
lsst.afw.coord
as
afwCoord
25
import
lsst.afw.geom
as
afwGeom
26
27
__all__ = [
"coordFromVec"
]
28
29
_TinyFloat = numpy.finfo(float).tiny
30
31
def
coordFromVec
(vec, defRA=None):
32
"""Convert an ICRS cartesian vector to an ICRS Coord
33
34
@param[in] vec: an ICRS catesian vector as a sequence of three floats
35
@param[in] defRA: the RA to use if the vector is too near a pole (an afwGeom Angle);
36
ignored if not near a pole
37
38
@throw RuntimeError if vec too near a pole and defRA is None
39
"""
40
if
abs(vec[0]) < _TinyFloat
and
abs(vec[1]) < _TinyFloat:
41
if
defRA
is
None
:
42
raise
RuntimeError(
"At pole and defRA==None"
)
43
if
vec[2] > 0:
44
dec = 90.0
45
else
:
46
dec = -90.0
47
return
afwCoord.makeCoord
(afwCoord.ICRS, defRA,
afwGeom.Angle
(dec, afwGeom.degrees))
48
return
afwCoord.makeCoord
(afwCoord.ICRS,
afwGeom.Point3D
(*vec))
lsst::afw::geom::Point
A coordinate class intended to represent absolute positions.
Definition:
CoordinateBase.h:40
lsst::skymap.detail.utils.coordFromVec
def coordFromVec
Definition:
utils.py:31
lsst::afw::geom::Angle
Definition:
Angle.h:104
lsst::afw::coord::makeCoord
Coord::Ptr makeCoord(CoordSystem const system, lsst::afw::geom::Point3D const &p3d, bool normalize=true, lsst::afw::geom::Angle const defaultLongitude=lsst::afw::geom::Angle(0.))
Factory function to create a Coord of arbitrary type with a Point3D.
Definition:
Coord.cc:1312
lsst::afw::coord
Definition:
Coord.h:48
lsst::afw::geom
Definition:
AffineTransform.h:38
Generated on Thu Sep 24 2015 02:29:24 for LSSTApplications by
1.8.5