LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+bd2ed33bd6,g1470d8bcf6+de7501a2e0,g14a832a312+ff425fae3c,g2079a07aa2+86d27d4dc4,g2305ad1205+91a32aca49,g295015adf3+762506a1ad,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+c34e8be1fa,g487adcacf7+5fae3daba8,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ea1711114f,g5a732f18d5+53520f316c,g64a986408d+bd2ed33bd6,g858d7b2824+bd2ed33bd6,g8a8a8dda67+585e252eca,g99cad8db69+016a06b37a,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+ef4e3a5875,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+09e12c87ab,gc120e1dc64+bc2e06c061,gc28159a63d+0e5473021a,gcf0d15dbbd+c34e8be1fa,gdaeeff99f8+f9a426f77a,ge6526c86ff+508d0e0a30,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+8d59551888,gf1cff7945b+bd2ed33bd6,w.2024.16
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: