LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
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: