LSST Applications g063fba187b+cac8b7c890,g0f08755f38+6aee506743,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+b4475c5878,g1dcb35cd9c+8f9bc1652e,g20f6ffc8e0+6aee506743,g217e2c1bcf+73dee94bd0,g28da252d5a+1f19c529b9,g2bbee38e9b+3f2625acfc,g2bc492864f+3f2625acfc,g3156d2b45e+6e55a43351,g32e5bea42b+1bb94961c2,g347aa1857d+3f2625acfc,g35bb328faa+a8ce1bb630,g3a166c0a6a+3f2625acfc,g3e281a1b8c+c5dd892a6c,g3e8969e208+a8ce1bb630,g414038480c+5927e1bc1e,g41af890bb2+8a9e676b2a,g7af13505b9+809c143d88,g80478fca09+6ef8b1810f,g82479be7b0+f568feb641,g858d7b2824+6aee506743,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+2903d499ea,gb58c049af0+d64f4d3760,gc28159a63d+3f2625acfc,gcab2d0539d+b12535109e,gcf0d15dbbd+46a3f46ba9,gda6a2b7d83+46a3f46ba9,gdaeeff99f8+1711a396fd,ge79ae78c31+3f2625acfc,gef2f8181fd+0a71e47438,gf0baf85859+c1f95f4921,gfa517265be+6aee506743,gfa999e8aa5+17cd334064,w.2024.51
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: