<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.1" xml:lang="en-US">
  <compounddef id="utils_8py" kind="file" language="Python">
    <compoundname>utils.py</compoundname>
    <innernamespace refid="namespacelsst_1_1skymap_1_1detail_1_1utils">lsst::skymap::detail::utils</innernamespace>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1" refid="namespacelsst_1_1skymap_1_1detail_1_1utils" refkind="compound"><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="comment">#<sp/>LSST<sp/>Data<sp/>Management<sp/>System</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="comment">#<sp/>Copyright<sp/>2008,<sp/>2009,<sp/>2010<sp/>LSST<sp/>Corporation.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="comment">#<sp/>This<sp/>product<sp/>includes<sp/>software<sp/>developed<sp/>by<sp/>the</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="comment">#<sp/>LSST<sp/>Project<sp/>(http://www.lsst.org/).</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="comment">#<sp/>This<sp/>program<sp/>is<sp/>free<sp/>software:<sp/>you<sp/>can<sp/>redistribute<sp/>it<sp/>and/or<sp/>modify</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="comment">#<sp/>it<sp/>under<sp/>the<sp/>terms<sp/>of<sp/>the<sp/>GNU<sp/>General<sp/>Public<sp/>License<sp/>as<sp/>published<sp/>by</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="comment">#<sp/>the<sp/>Free<sp/>Software<sp/>Foundation,<sp/>either<sp/>version<sp/>3<sp/>of<sp/>the<sp/>License,<sp/>or</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="comment">#<sp/>(at<sp/>your<sp/>option)<sp/>any<sp/>later<sp/>version.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="comment">#<sp/>This<sp/>program<sp/>is<sp/>distributed<sp/>in<sp/>the<sp/>hope<sp/>that<sp/>it<sp/>will<sp/>be<sp/>useful,</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="comment">#<sp/>but<sp/>WITHOUT<sp/>ANY<sp/>WARRANTY;<sp/>without<sp/>even<sp/>the<sp/>implied<sp/>warranty<sp/>of</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="comment">#<sp/>MERCHANTABILITY<sp/>or<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE.<sp/><sp/>See<sp/>the</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="comment">#<sp/>GNU<sp/>General<sp/>Public<sp/>License<sp/>for<sp/>more<sp/>details.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="comment">#<sp/>You<sp/>should<sp/>have<sp/>received<sp/>a<sp/>copy<sp/>of<sp/>the<sp/>LSST<sp/>License<sp/>Statement<sp/>and</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="comment">#<sp/>the<sp/>GNU<sp/>General<sp/>Public<sp/>License<sp/>along<sp/>with<sp/>this<sp/>program.<sp/><sp/>If<sp/>not,</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="comment">#<sp/>see<sp/>&lt;http://www.lsstcorp.org/LegalNotices/&gt;.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="comment">#</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal">__all__<sp/>=<sp/>[</highlight><highlight class="stringliteral">&quot;coordFromVec&quot;</highlight><highlight class="normal">]</highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="keyword">import</highlight><highlight class="normal"><sp/>numpy</highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="keyword">import</highlight><highlight class="normal"><sp/><ref refid="classlsst_1_1sphgeom_1_1Angle" kindref="compound" external="/data1/kirg/hscpipe8/stack/miniconda3-py38_4.9.2-0.4.3/Linux64/sphgeom/22.0.0+04719a4bac/doc/sphgeom.tag">lsst.sphgeom</ref></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="keyword">import</highlight><highlight class="normal"><sp/><ref refid="namespacelsst_1_1geom" kindref="compound" external="/data1/kirg/hscpipe8/stack/miniconda3-py38_4.9.2-0.4.3/Linux64/geom/22.0.0+06509c8b61/doc/geom.tag">lsst.geom</ref><sp/></highlight><highlight class="keyword">as</highlight><highlight class="normal"><sp/>geom</highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal">_TinyFloat<sp/>=<sp/>numpy.finfo(float).tiny</highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight></codeline>
<codeline lineno="34" refid="namespacelsst_1_1skymap_1_1detail_1_1utils_1a61b02162092ffbfa850b6a8329e4a808" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">def<sp/></highlight><highlight class="normal"><ref refid="namespacelsst_1_1skymap_1_1detail_1_1utils_1a61b02162092ffbfa850b6a8329e4a808" kindref="member">coordFromVec</ref>(vec,<sp/>defRA=None):</highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;&quot;&quot;Convert<sp/>an<sp/>ICRS<sp/>cartesian<sp/>vector<sp/>to<sp/>an<sp/>ICRS<sp/>lsst.geom.SpherePoint</highlight></codeline>
<codeline lineno="36"><highlight class="stringliteral"></highlight></codeline>
<codeline lineno="37"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>Parameters</highlight></codeline>
<codeline lineno="38"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>----------</highlight></codeline>
<codeline lineno="39"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>vec<sp/>:<sp/>`list`<sp/>of<sp/>`float`</highlight></codeline>
<codeline lineno="40"><highlight class="stringliteral"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>An<sp/>ICRS<sp/>catesian<sp/>vector.</highlight></codeline>
<codeline lineno="41"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>defRA<sp/>:<sp/>`lsst.geom.Angle`<sp/>or<sp/>None</highlight></codeline>
<codeline lineno="42"><highlight class="stringliteral"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>The<sp/>RA<sp/>to<sp/>use<sp/>if<sp/>the<sp/>vector<sp/>is<sp/>too<sp/>near<sp/>a<sp/>pole;</highlight></codeline>
<codeline lineno="43"><highlight class="stringliteral"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ignored<sp/>if<sp/>not<sp/>near<sp/>a<sp/>pole.</highlight></codeline>
<codeline lineno="44"><highlight class="stringliteral"></highlight></codeline>
<codeline lineno="45"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>Raises</highlight></codeline>
<codeline lineno="46"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>------</highlight></codeline>
<codeline lineno="47"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>RuntimeError</highlight></codeline>
<codeline lineno="48"><highlight class="stringliteral"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>If<sp/>vec<sp/>too<sp/>near<sp/>a<sp/>pole<sp/>and<sp/>defRA<sp/>is<sp/>None.</highlight></codeline>
<codeline lineno="49"><highlight class="stringliteral"><sp/><sp/><sp/><sp/>&quot;&quot;&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>abs(vec[0])<sp/>&lt;<sp/>_TinyFloat<sp/></highlight><highlight class="keywordflow">and</highlight><highlight class="normal"><sp/>abs(vec[1])<sp/>&lt;<sp/>_TinyFloat:</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>defRA<sp/></highlight><highlight class="keywordflow">is</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">None</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">raise</highlight><highlight class="normal"><sp/>RuntimeError(</highlight><highlight class="stringliteral">&quot;At<sp/>pole<sp/>and<sp/>defRA==None&quot;</highlight><highlight class="normal">)</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>vec[2]<sp/>&gt;<sp/>0:</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>decDeg<sp/>=<sp/>90.0</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>decDeg<sp/>=<sp/>-90.0</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classlsst_1_1geom_1_1_sphere_point" kindref="compound" external="/data1/kirg/hscpipe8/stack/miniconda3-py38_4.9.2-0.4.3/Linux64/geom/22.0.0+06509c8b61/doc/geom.tag">geom.SpherePoint</ref>(defRA,<sp/>decDeg*geom.degrees)</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classlsst_1_1geom_1_1_sphere_point" kindref="compound" external="/data1/kirg/hscpipe8/stack/miniconda3-py38_4.9.2-0.4.3/Linux64/geom/22.0.0+06509c8b61/doc/geom.tag">geom.SpherePoint</ref>(<ref refid="classlsst_1_1sphgeom_1_1Vector3d" kindref="compound" external="/data1/kirg/hscpipe8/stack/miniconda3-py38_4.9.2-0.4.3/Linux64/sphgeom/22.0.0+04719a4bac/doc/sphgeom.tag">lsst.sphgeom.Vector3d</ref>(*vec))</highlight></codeline>
    </programlisting>
    <location file="python/lsst/skymap/detail/utils.py"/>
  </compounddef>
</doxygen>
