Coatings — batoid 0.4.2 documentation

# Coatings

class batoid.Coating

  Class to control ray reflection/transmission at an `Interface`.

  Coatings can be used to split a ray into reflected/refracted components using `Surface.rSplit`, or control the transmission or reflection efficiency using `Surface.refract` or `Surface.reflect` (or variations thereof).

  In general, the reflection and transmission coefficients may depend on both wavelength and the cosine of the incidence angle, which is the angle between the incoming ray and the surface normal.

  getCoefs(wavelength, cosIncidenceAngle)

    Return reflection and transmission coefficients.

    Parameters:

      - wavelength (float) – Vacuum wavelength in meters.

      - cosIncidenceAngle (float) – Cosine of the incidence angle.

    Returns:

      - reflect (float)

      - transmit (float)

  getReflect(wavelength, cosIncidenceAngle)

    Return reflection coefficient.

    Parameters:

      - wavelength (float) – Vacuum wavelength in meters.

      - cosIncidenceAngle (float) – Cosine of the incidence angle.

    Returns:

      reflect (float)

  getTransmit(wavelength, cosIncidenceAngle)

    Return transmission coefficient.

    Parameters:

      - wavelength (float) – Vacuum wavelength in meters.

      - cosIncidenceAngle (float) – Cosine of the incidence angle.

    Returns:

      transmit (float)

class batoid.SimpleCoating(reflectivity, transmissivity)

  Bases: `Coating`

  Coating with reflectivity and transmissivity that are both constant with wavelength and incidence angle.

  Parameters:

    - reflectivity (float) – Reflection coefficient

    - transmissivity (float) – Transmission coefficient