23 __all__ = [
'EquatSkyMapConfig', 
'EquatSkyMap']
 
   27 import lsst.pex.config 
as pexConfig
 
   29 from .baseSkyMap 
import BaseSkyMap
 
   30 from .tractInfo 
import TractInfo
 
   34     numTracts = pexConfig.Field(
 
   35         doc=
"number of tracts; warning: TAN projection requires at least 3",
 
   39     decRange = pexConfig.ListField(
 
   40         doc=
"range of declination (deg)",
 
   43         default=(-1.25, 1.25),
 
   51     """Equatorial sky map pixelization, e.g. for SDSS stripe 82 image data. 
   53     EquatSkyMap represents an equatorial band of sky divided along declination 
   54     into overlapping tracts. 
   58     config : `lsst.skymap.BaseSkyMapConfig` (optional) 
   59         The configuration for this SkyMap; if None use the default config. 
   61     ConfigClass = EquatSkyMapConfig
 
   65         BaseSkyMap.__init__(self, config)
 
   67         decRange = tuple(
geom.Angle(dr, geom.degrees) 
for dr 
in self.
config.decRange)
 
   68         midDec = (decRange[0] + decRange[1]) / 2.0
 
   72         for id 
in range(self.
config.numTracts):
 
   73             begRA = tractWidthRA * id
 
   74             endRA = begRA + tractWidthRA
 
   82             midRA = begRA + tractWidthRA / 2.0
 
   93                 patchInnerDimensions=self.
config.patchInnerDimensions,
 
   94                 patchBorder=self.
config.patchBorder,
 
   96                 vertexCoordList=vertexCoordList,
 
   97                 tractOverlap=tractOverlap,
 
  108             - version: a pair of ints 
  123             - version: a pair of ints 
  126         version = stateDict[
"version"]
 
  127         if version >= (2, 0):
 
  128             raise RuntimeError(
"Version = %s >= (2,0); cannot unpickle" % (version,))
 
  132         """Return version (e.g. for pickle). 
  136         result : `tuple` of `int` 
  137             Version as a pair of integers. 
  142         """Add subclass-specific state or configuration options to the SHA1.""" 
  143         sha1.update(struct.pack(
"<i2d", self.
config.numTracts, *self.
config.decRange))