Glossary
========================================================================================

**EffectModel**: An ``EffectModel`` applies some transform to the flux density of an object. Example effects include extinction due to dust or white noise.

**Filter**: A filter corresponds to the physical filter used on a telescope to limit the wavelengths of light that hit the detector.  Filters are represented by ``Passband`` objects.

**GraphState**: The ``GraphState`` object is an internal book keeping object that tracks the values of parameters during the simulation. It is implemented as nested dictionaries where the outer dictionary maps the name of the generating node to a dictionary of that node's parameters. The inner dictionary maps a parameter name to its values.

**Node**: Nodes are the objects within the simulation that generate or use parameters. A node might represent a physical object that we are simulating, such as a Type Ia supernova with input parameters x0, x1, and c, or it might represent the statistical distributions for parameters, such as a Gaussian distribution for sampling a source's  redshift (z). It is easiest to think of nodes as machines for generating portions of the simulation data. Nodes are implemented as subclasses of the ``ParameterizedNode`` class.

**node_label**: The node label is a unique identifier for each ``ParameterizedNode`` that allows the simulation (and the user) to track which Python object (and thus which part of the simulation) is using a particular parameter value. All parameters are indexed by a combination of node label and parameter name so that multiple ``ParameterizedNode`` objects can use the same parameter name without inadvertently overwriting each other's values. If a node label is not specified, TDAstro automatically assigns one.

**Observer Frame**: The reference frame of the observer. Observations in the observer frame account for effects such as redshift.

**OpSim**: The OpSim represents the set of data about the individual observations being simulated, including where the telescope is pointing (RA, Dec) and conditions affecting the detector noise. It is named from the Rubin OpSim files.

**Parameter**: A parameter within the model corresponds to a variable in the mathematical equations for simulating flux. Each run of the simulation effectively samples the parameters in the model and uses them to compute the flux for a given source. Parameters may themselves be the result of computations performed with other parameters. For example we may choose an object's brightness parameter from a Gaussian distribution that is parameterized by mean and standard deviation. Parameters are generated by nodes (``ParameterizedNode`` objects) and stored in the ``GraphState`` objects.

**ParameterizedNode**: ParameterizedNodes are objects that are a subclass of the ``ParameterizedNode`` class and produce or use model parameters during the simulation. They contain built-in mechanisms for accepting samples of input parameters and producing dependent samples of output parameters. See also: *node*

**Passband**: A ``Passband`` object stores the information needed to transform the observed flux density over multiple wavelengths into a single band flux for a given filter.

**PassbandGroup**: A ``PassbandGroup`` object implements a collection of ``Passband`` objects, providing convenient helper functions for loading and processing multiple passbands. Generally users will use a single ``PassbandGroup`` corresponding to the filters on the instrument being simulated.

**PhysicalModel**: ``PhysicalModel`` is a superclass for all nodes that represent physical phenomena that produce flux. ``PhysicalModel`` itself is a subclass of the ``ParameterizedNode``.

**Rest Frame**: The reference frame of the object being simulated. Observations in the rest frame do not account for effects like dust extinction or redshift, because they are local to the object.

**Source**: Source is used to refer to any physical phenomena that produces (is the *source* of) flux. All sources are implemented as subclasses of the ``PhysicalModel`` class.
