# Photometric Properties¶

In here, we describe bandpass and spectral photometric properties that can be
calculated using **pysynphot**, along with their respective formulae.
More information can also be found in
Koornneef et al. (1986),
Bandpass, and Observation.

The following table summarizes the available photometric properties, which are further elaborated in the sub-sections below:

Command | Description |
---|---|

bp.avgwave() | Bandpass Average Wavelength or reference wavelength |

bp.rmswidth() | Bandpass RMS Band Width (Koornneef) |

bp.photbw() | Bandpass RMS Band Width (SYNPHOT) |

bp.rectwidth() | Bandpass Rectangular Width |

bp.equivwidth() | Bandpass Equivalent Width |

bp.efficiency() | Bandpass Dimensionless Efficiency |

bp.unit_response() | Bandpass Unit Response |

obs.effstim() | Effective Stimulus |

obs.efflam() | Effective Wavelength |

bp.pivot() obs.pivot() | Pivot Wavelength |

These are not directly available but they are used to calculate other properties:

These are some common variables mentioned in the formulae in this section:

Variable | Description |
---|---|

Source flux distribution | |

Dimensionless bandpass throughput | |

area |
Telescope collecting area |

h |
The Planck constant |

c |
The speed of light |

## Bandpass Average Wavelength¶

For a bandpass, `avgwave()`

implements
the equation for as defined in
Koornneef et al. 1986 (page 836). It is
equivalent to IRAF STSDAS SYNPHOT `bandpar`

results for `avglam`

, `avgmw`

,
or `refwave`

; The throughput at this wavelength is `tlambda`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.avgwave()
5373.2182275673349
```

## Bandpass RMS Band Width (Koornneef)¶

For a bandpass, `rmswidth()`

implements
the bandpass RMS width as defined in
Koornneef et al. 1986 (page 836), where
is the Bandpass Average Wavelength.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.rmswidth()
361.9997795461671
```

## Bandpass RMS Band Width (SYNPHOT)¶

For a bandpass, `photbw()`

implements
the equivalent for `bandw`

from IRAF STSDAS SYNPHOT `bandpar`

task, where
is Bandpass Mean Log Wavelength. This is not the same
as Bandpass RMS Band Width (Koornneef).

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.photbw()
360.11107577076439
```

## Bandpass Mean Log Wavelength¶

For a bandpass, this is the mean wavelength as defined in
Schneider, Gunn, and Hoessel (1983).
This rather unusual definition is such that the corresponding mean frequency is
. This cannot be directly calculated by
**pysynphot**, but is used for Bandpass RMS Band Width (SYNPHOT). It is equivalent
to `barlam`

in IRAF STSDAS SYNPHOT.

## Bandpass Rectangular Width¶

For a bandpass, `rectwidth()`

implements
the rectangular width, where `equvw`

is Bandpass Equivalent Width.
It is equivalent to IRAF STSDAS SYNPHOT `bandpar`

result for `rectw`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.rectwidth()
1124.6106504868569
```

## Bandpass Equivalent Width¶

For a bandpass, `equivwidth()`

implements the equivalent width. It is equivalent to
`integrate()`

and IRAF STSDAS SYNPHOT
`bandpar`

result for `equvw`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.equivwidth()
412.91237693252498
```

## Bandpass Dimensionless Efficiency¶

For a bandpass, `efficiency()`

implements the dimensionless efficiency. It is equivalent to IRAF STSDAS SYNPHOT
`bandpar`

result for `qtlam`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.efficiency()
0.077196835355538812
```

## Bandpass Unit Response¶

For a bandpass, `unit_response()`

implements the computation of the flux (in `flam`

) of a star that produces a
response of one count per second in that bandpass, where *h* and *c* are
astronomical constants, and *area* is the
telescope collecting area.
It is equivalent to IRAF STSDAS SYNPHOT `bandpar`

result for `uresp`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.unit_response()
1.9791581474812573e-19
```

## Bandpass Equivalent Monochromatic Flux¶

For a bandpass, its equivalent monochromatic flux is as defined below, where
is Bandpass Average Wavelength.
It is equivalent to IRAF STSDAS SYNPHOT `bandpar`

result for `emflx`

.

This can be calculated indirectly in **pysynphot**, as given in the example
below:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.unit_response() * bp.equivwidth() / bp(bp.avgwave())
2.3693354953649259e-16
```

## Effective Stimulus¶

For an observation, `effstim()`

calculates the predicted effective stimulus in given flux unit.
`countrate()`

is a
special form of effective stimulus in the unit of counts/s given a
pre-defined telescope collecting area. It is equivalent
to IRAF STSDAS SYNPHOT `calcphot`

result for `effstim`

.

Example:

```
>>> obs = S.Observation(S.BlackBody(5000), S.ObsBandpass('acs,wfc1,f555w'))
>>> obs.effstim() # photlam
0.00053965665649945897
>>> obs.effstim('flam')
1.9951166916464645e-15
>>> obs.effstim('counts')
10080.63299128226
>>> obs.countrate()
10080.633086603204
```

## Effective Wavelength¶

For an observation, `efflam()`

implements
the effective wavelength, as defined in
Koornneef et al. 1986 (page 836), where flux
unit is converted to `flam`

prior to calculations. It is equivalent to
IRAF STSDAS SYNPHOT `calcphot`

result for `efflerg`

.

Example:

```
>>> obs = S.Observation(S.BlackBody(5000), S.ObsBandpass('acs,wfc1,f555w'))
>>> obs.efflam()
5406.9723492971125
```

## Pivot Wavelength¶

For an observation, `pysynphot.observation.Observation.pivot()`

calculates
the pivot wavelength. For a bandpass, it is
`pysynphot.spectrum.SpectralElement.pivot()`

.
The formula below applies to an observation.
For a bandpass, replace
with in the formula.
It is equivalent to IRAF STSDAS SYNPHOT result for `pivwv`

and `pivot`

.

Example:

```
>>> bp = S.ObsBandpass('acs,wfc1,f555w')
>>> bp.pivot()
5361.007831073981
>>> obs = S.Observation(S.BlackBody(5000), bp)
>>> obs.pivot()
5394.930514954142
```