Coatings

class batoid.Coating[source]

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)[source]

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)[source]

Return reflection coefficient.

Parameters:
  • wavelength (float) – Vacuum wavelength in meters.

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

Returns:

reflect (float)

getTransmit(wavelength, cosIncidenceAngle)[source]

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)[source]

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