Not finished (Work in progress)


What is a passband?

Defines the probability of an incoming photon of a particular wavelength being measured.


The simplest example is that of a red filter on an optical telescope; in principle any red photon (~ 5 x 10^12Hz ?) arriving is let through, and any other photons are blocked.

In practice of course it's not that simple. No filter is perfect - in the above example, some red photons will be absorbed by the filter, and some other ones might get through. Also some photons are more red than others, and the filter will not be even handed; photons of one redness will be more or less likely to pass than a photon of another redness:

(Example red filter pasband).

Finally a filter is unlikely to be completely even across its width.

Instrument, Atmosphere

Other factors influence the probability of a photon being measured - the full chain is given in the Observation Data Model doc (2.8) - depending on where 'incoming' is defined. We can model this set of sequential passbands using a ChainedPassband

How are we going to model it?

From two sides; the interface the Passband object presents to the models that use it, and separately how those objects might be defined.


  • The frequency/wavelength of a photon is fixed and exact, at least for the purposes of this part of the model.


Public Interface

A passband presents the following to the world:

getPassrate( Wave ) - returns the probability (0-1) of an incoming photon of the given wavelength/frequency being measured. [What do you get when you apply a Wave with a significant error? Should we just ignore the accuracy?]

getMinWavelength() - returns the wavelength below which no photons will be passed.

getMaxWavelength() - returns the wavelength above which no photons will be passed.

[Do people prefer working in wavelengths or frequencies? Of course the above methods can be duplicated for frequencies, or we can use a Wave datamodel that can be represented as wavelength of frequency - MCH]

getUCD() at least for the early days, as there are UCDs defined for some passbands

getName() for humans. Note that the implementation type will also give information and allow other specific

getCentralWave() - returns approximate central wavelength/frequency/Wave for convenience.


  • SimplePassband - a frequency range between which the passrate is 1, and outside of which the passrate is 0. [Has this any practical application? - MCH]
  • GraphPassband - a set of points on a graph that are interpolated to give the passrates.
  • ChainedPassband

We can then have passbands such as:

  • OpticalFilter - probably a subclass of GraphPassband with added information such as manufacturer. A set of standard filter instances can be included in libraries
  • AtmosphericPassband - give it your height in meters, windspeed and distance from the nearest pub, and it will work out an approximate passband. [Is this possible? useful? - MCH]

Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2004-05-21 - MartinHill
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback