LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
lsst.fgcmcal.sedterms.Sedterm Class Reference
Inheritance diagram for lsst.fgcmcal.sedterms.Sedterm:
lsst.pex.config.config.Config lsst.pex.config.config.ConfigMeta

Public Member Functions

 validate (self)
 

Static Public Attributes

 primaryTerm = Field(dtype=str, doc="Name of primary Sedboundaryterm")
 
 secondaryTerm
 
 extrapolated = Field(dtype=bool, default=False, doc="Extrapolate to compute SED slope")
 
 constant = Field(dtype=float, default=1.0, doc="Adjustment constant for SED slope")
 
 primaryBand
 
 secondaryBand
 
 tertiaryBand
 

Detailed Description

SED term for a single band.

The SED slope (in flux units) in the middle of a band is computed either
as an "interpolated" or "extrapolated" computation.  See Burke et al. 2018
Appendix A (https://ui.adsabs.harvard.edu/abs/2018AJ....155...41B).

For interpolation, with a secondary term::

   F'_nu ~ constant * (primaryTerm + secondaryTerm) / 2.0

For interpolation, without a secondary term::

   F'_nu ~ constant * primaryTerm

For extrapolation::

   F'_nu ~ primaryTerm + constant * (((lambda_primaryBand - lambda_secondaryBand) /
                                     (lambda_primaryBand - lambda_tertiaryBand)) *
                                     (primaryTerm - secondaryTerm))

where primaryTerm and secondaryTerm are names from a `SedboundarytermDict`, and
primaryBand, secondaryBand, and tertiaryBand are band names.

To construct a Sedterm, use keyword arguments::

    Sedterm(primaryTerm=primaryTermName, secondaryTerm=secondaryTermName,
            extrapolated=False, constant=1.0)

or::

    Sedterm(primaryTerm=primaryTermName, secondaryTerm=secondaryTermName,
            extrapolated=True, constant=1.0, primaryBand=primaryBandName,
            secondaryBand=secondaryBandName, tertiaryBand=tertiaryBandName)

This is a subclass of Config.  This follows the form of
`lsst.pipe.tasks.Colorterm`.

Definition at line 71 of file sedterms.py.

Member Function Documentation

◆ validate()

lsst.fgcmcal.sedterms.Sedterm.validate ( self)
Validate the Config, raising an exception if invalid.

Raises
------
lsst.pex.config.FieldValidationError
    Raised if verification fails.

Notes
-----
The base class implementation performs type checks on all fields by
calling their `~lsst.pex.config.Field.validate` methods.

Complex single-field validation can be defined by deriving new Field
types. For convenience, some derived `lsst.pex.config.Field`-types
(`~lsst.pex.config.ConfigField` and
`~lsst.pex.config.ConfigChoiceField`) are defined in
``lsst.pex.config`` that handle recursing into subconfigs.

Inter-field relationships should only be checked in derived
`~lsst.pex.config.Config` classes after calling this method, and base
validation is complete.

Reimplemented from lsst.pex.config.config.Config.

Definition at line 121 of file sedterms.py.

121 def validate(self):
122 Config.validate(self)
123 if self.extrapolated:
124 if self.primaryBand is None or \
125 self.secondaryBand is None or \
126 self.tertiaryBand is None:
127 raise RuntimeError("extrapolated requires primaryBand, secondaryBand, and "
128 "tertiaryBand are provided.")
129
130

Member Data Documentation

◆ constant

lsst.fgcmcal.sedterms.Sedterm.constant = Field(dtype=float, default=1.0, doc="Adjustment constant for SED slope")
static

Definition at line 113 of file sedterms.py.

◆ extrapolated

lsst.fgcmcal.sedterms.Sedterm.extrapolated = Field(dtype=bool, default=False, doc="Extrapolate to compute SED slope")
static

Definition at line 112 of file sedterms.py.

◆ primaryBand

lsst.fgcmcal.sedterms.Sedterm.primaryBand
static
Initial value:
= Field(dtype=str, default=None, optional=True,
doc="Primary band name for extrapolation")

Definition at line 114 of file sedterms.py.

◆ primaryTerm

lsst.fgcmcal.sedterms.Sedterm.primaryTerm = Field(dtype=str, doc="Name of primary Sedboundaryterm")
static

Definition at line 109 of file sedterms.py.

◆ secondaryBand

lsst.fgcmcal.sedterms.Sedterm.secondaryBand
static
Initial value:
= Field(dtype=str, default=None, optional=True,
doc="Secondary band name for extrapolation")

Definition at line 116 of file sedterms.py.

◆ secondaryTerm

lsst.fgcmcal.sedterms.Sedterm.secondaryTerm
static
Initial value:
= Field(dtype=str, default=None, optional=True,
doc="Name of secondary Sedboundaryterm")

Definition at line 110 of file sedterms.py.

◆ tertiaryBand

lsst.fgcmcal.sedterms.Sedterm.tertiaryBand
static
Initial value:
= Field(dtype=str, default=None, optional=True,
doc="Tertiary band name for extrapolation")

Definition at line 118 of file sedterms.py.


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