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 | Public Attributes | Static Public Attributes | Private Member Functions | List of all members
lsst.pex.config.rangeField.RangeField Class Reference
Inheritance diagram for lsst.pex.config.rangeField.RangeField:

Public Member Functions

def __init__
 

Public Attributes

 min
 
 max
 
 rangeString
 
 maxCheck
 
 minCheck
 

Static Public Attributes

tuple supportedTypes = (int, float)
 

Private Member Functions

def _validateValue
 

Detailed Description

Defines a Config Field which allows only a range of values.
The range is defined by providing min and/or max values.
If min or max is None, the range will be open in that direction
If inclusive[Min|Max] is True the range will include the [min|max] value

Definition at line 29 of file rangeField.py.

Constructor & Destructor Documentation

def lsst.pex.config.rangeField.RangeField.__init__ (   self,
  doc,
  dtype,
  default = None,
  optional = False,
  min = None,
  max = None,
  inclusiveMin = True,
  inclusiveMax = False 
)

Definition at line 41 of file rangeField.py.

41 
42  min=None, max=None, inclusiveMin=True, inclusiveMax=False):
43  if dtype not in self.supportedTypes:
44  raise ValueError("Unsupported RangeField dtype %s"%(_typeStr(dtype)))
45  source = traceback.extract_stack(limit=2)[0]
46  if min is None and max is None:
47  raise ValueError("min and max cannot both be None")
48 
49  if min is not None and max is not None and min > max:
50  swap(min, max)
51  self.min = min
52  self.max = max
53 
54  self.rangeString = "%s%s,%s%s" % \
55  (("[" if inclusiveMin else "("),
56  ("-inf" if self.min is None else self.min),
57  ("inf" if self.max is None else self.max),
58  ("]" if inclusiveMax else ")"))
59  doc += "\n\tValid Range = " + self.rangeString
60  if inclusiveMax:
61  self.maxCheck = lambda x, y: True if y is None else x <= y
62  else:
63  self.maxCheck = lambda x, y: True if y is None else x < y
64  if inclusiveMin:
65  self.minCheck = lambda x, y: True if y is None else x >= y
66  else:
67  self.minCheck = lambda x, y: True if y is None else x > y
68  self._setup( doc, dtype=dtype, default=default, check=None, optional=optional, source=source)
void swap(ImageBase< PixelT > &a, ImageBase< PixelT > &b)
Definition: Image.cc:291

Member Function Documentation

def lsst.pex.config.rangeField.RangeField._validateValue (   self,
  value 
)
private

Definition at line 69 of file rangeField.py.

69 
70  def _validateValue(self, value):
71  Field._validateValue(self, value)
72  if not self.minCheck(value, self.min) or \
73  not self.maxCheck(value, self.max):
74  msg = "%s is outside of valid range %s"%(value, self.rangeString)
75  raise ValueError(msg)

Member Data Documentation

lsst.pex.config.rangeField.RangeField.max

Definition at line 51 of file rangeField.py.

lsst.pex.config.rangeField.RangeField.maxCheck

Definition at line 60 of file rangeField.py.

lsst.pex.config.rangeField.RangeField.min

Definition at line 50 of file rangeField.py.

lsst.pex.config.rangeField.RangeField.minCheck

Definition at line 64 of file rangeField.py.

lsst.pex.config.rangeField.RangeField.rangeString

Definition at line 53 of file rangeField.py.

tuple lsst.pex.config.rangeField.RangeField.supportedTypes = (int, float)
static

Definition at line 38 of file rangeField.py.


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