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
Public Member Functions | Private Attributes | List of all members
lsst.skymap.cachingSkyMap.CachingSkyMap Class Reference
Inheritance diagram for lsst.skymap.cachingSkyMap.CachingSkyMap:

Public Member Functions

def __init__
 
def __reduce__
 
def __iter__
 
def __len__
 
def __getitem__
 
def generateTract
 

Private Attributes

 _numTracts
 
 _tractCache
 
 _tractInfo
 
 _version
 

Detailed Description

A SkyMap that generates its tracts on request and caches them

A subclass should define
* __init__ to calculate the required number of tracts (and pass it up)
* generateTract to generate a tract

Subclassers should also check that the arguments to the constructor are
consistent with the below __reduce__ method.

Definition at line 25 of file cachingSkyMap.py.

Constructor & Destructor Documentation

def lsst.skymap.cachingSkyMap.CachingSkyMap.__init__ (   self,
  numTracts,
  config = None,
  version = 0 
)

Definition at line 35 of file cachingSkyMap.py.

35 
36  def __init__(self, numTracts, config=None, version=0):
37  super(CachingSkyMap, self).__init__(config)
38  self._numTracts = numTracts
39  self._tractCache = [None] * self._numTracts
40  self._tractInfo = None # We shouldn't need this; we will generate tracts on demand
41  self._version = version

Member Function Documentation

def lsst.skymap.cachingSkyMap.CachingSkyMap.__getitem__ (   self,
  index 
)
Get the TractInfo for a particular index

The tract is returned from a cache, if available, otherwise generated
on the fly.

Definition at line 62 of file cachingSkyMap.py.

62 
63  def __getitem__(self, index):
64  """Get the TractInfo for a particular index
65 
66  The tract is returned from a cache, if available, otherwise generated
67  on the fly.
68  """
69  if index < 0 or index > self._numTracts:
70  raise IndexError("Index out of range: %d vs %d" % (index, self._numTracts))
71  if self._tractCache[index] is not None:
72  return self._tractCache[index]
73  tract = self.generateTract(index)
74  self._tractCache[index] = tract
75  return tract
def lsst.skymap.cachingSkyMap.CachingSkyMap.__iter__ (   self)
Iterator over tracts

Definition at line 53 of file cachingSkyMap.py.

53 
54  def __iter__(self):
55  """Iterator over tracts"""
56  for i in xrange(self._numTracts):
57  yield self[i]
def lsst.skymap.cachingSkyMap.CachingSkyMap.__len__ (   self)
Length is number of tracts

Definition at line 58 of file cachingSkyMap.py.

58 
59  def __len__(self):
60  """Length is number of tracts"""
61  return self._numTracts
def lsst.skymap.cachingSkyMap.CachingSkyMap.__reduce__ (   self)
To support pickling

Warning: This method assumes that the constructor should be defined:
    __init__(self, config, version=defaultVersion)
The use of 'config' is effectively set by the registry mechanism.
If additional optional arguments are added, this method should be
overridden to correspond.

Definition at line 42 of file cachingSkyMap.py.

42 
43  def __reduce__(self):
44  """To support pickling
45 
46  Warning: This method assumes that the constructor should be defined:
47  __init__(self, config, version=defaultVersion)
48  The use of 'config' is effectively set by the registry mechanism.
49  If additional optional arguments are added, this method should be
50  overridden to correspond.
51  """
52  return (self.__class__, (self.config, self._version))
def lsst.skymap.cachingSkyMap.CachingSkyMap.generateTract (   self,
  index 
)
Generate the TractInfo for the particular index

Definition at line 76 of file cachingSkyMap.py.

76 
77  def generateTract(self, index):
78  """Generate the TractInfo for the particular index"""
79  raise NotImplementedError("Subclasses must define this method.")

Member Data Documentation

lsst.skymap.cachingSkyMap.CachingSkyMap._numTracts
private

Definition at line 37 of file cachingSkyMap.py.

lsst.skymap.cachingSkyMap.CachingSkyMap._tractCache
private

Definition at line 38 of file cachingSkyMap.py.

lsst.skymap.cachingSkyMap.CachingSkyMap._tractInfo
private

Definition at line 39 of file cachingSkyMap.py.

lsst.skymap.cachingSkyMap.CachingSkyMap._version
private

Definition at line 40 of file cachingSkyMap.py.


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