BackIlluminatedSiliconSensorMaterial#
- class optika.sensors.materials.BackIlluminatedSiliconSensorMaterial(temperature=<Quantity 300. K>, thickness_oxide=<Quantity 0. nm>, thickness_implant=<Quantity 0. nm>, thickness_substrate=<Quantity 0. um>, roughness_oxide=<Quantity 0. nm>, roughness_substrate=<Quantity 0. um>, cce_backsurface=0, depletion=None, eqe_measured=None)[source]#
Bases:
AbstractBackIlluminatedSiliconSensorMaterialA back-illuminated silicon sensor material which uses the method described in Stern et al. [1994] to compute the quantum efficiency.
Attributes
The charge-collection efficiency of the back surface of the sensor.
A model of this sensor's depletion region.
An optional measurement of the effective quantum efficiency.
flag controlling whether this material reflects or transmits light
The RMS roughness of the oxide layer on the illuminated side of the sensor.
The RMS roughness of the silicon substrate.
The array shape of this object.
The temperature of this sensor.
The thickness of the ion implant layer.
The thickness of the oxide layer on the illuminated side of the sensor.
The thickness of the light-sensitive silicon substrate.
the coordinate transformation between the global coordinate system and this object's local coordinate system
Methods
__init__([temperature, thickness_oxide, ...])absorbance(rays, normal)Compute the fraction of energy absorbed by the light-sensitive region of the sensor.
attenuation(rays)the attenuation coefficient of the given rays
charge_collection_efficiency(rays, normal)Compute the charge collection efficiency of this CCD sensor material using
charge_collection_efficiency().charge_diffusion(rays, normal)Given a set of incident rays, compute how much the position of each ray is perturbed due to charge diffusion within the sensor.
efficiency(rays, normal)The fraction of light that passes through the interface.
electrons_measured(rays, normal)Randomly sample the number of measured electrons given the number of absorbed photons using
electrons_measured().fano_factor(wavelength)The Fano factor (ratio of the variance to the mean) of the Fano noise for this sensor material.
fit_eqe(thickness_substrate, depletion, ...)Fit the parameters of this sensor to a given effective quantum efficiency.
index_refraction(rays)the index of refraction of this material for the given input rays
photons_incident(electrons, wavelength, ...)Compute the expected number of incident photons for a given number of electrons.
probability_measurement(rays, normal)Compute the probability of measuring an absorbed photon for this sensor using
probability_measurement().quantum_efficiency(rays, normal)Compute the quantum efficiency of this CCD material using
quantum_efficiency_effective()andquantum_yield_ideal().quantum_efficiency_effective(rays, normal)Compute the effective quantum efficiency of this CCD material using
quantum_efficiency_effective().quantum_yield_ideal(wavelength)Compute the ideal quantum yield of this CCD sensor material using
optika.sensors.quantum_yield_ideal().signal(rays, normal[, noise])Given a set of absorbed rays, compute the number of electrons measured by the sensor using
signal().to_string([prefix])Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.width_charge_diffusion(rays, normal)The standard deviation of the charge diffusion kernel for this sensor.
Inheritance Diagram

- Parameters:
temperature (Quantity | AbstractScalar)
thickness_oxide (Quantity)
thickness_implant (Quantity)
thickness_substrate (Quantity | AbstractScalar)
roughness_oxide (Quantity)
roughness_substrate (Quantity)
cce_backsurface (Quantity)
depletion (None | AbstractDepletionModel)
eqe_measured (None | FunctionArray)
- classmethod fit_eqe(thickness_substrate, depletion, eqe_measured, temperature=<Quantity 300. K>)[source]#
Fit the parameters of this sensor to a given effective quantum efficiency.
- Parameters:
temperature (Quantity | AbstractScalar) – The temperature of the light-sensitive silicon substrate.
thickness_substrate (Quantity | AbstractScalar) – The thickness of the light-sensitive silicon substrate.
depletion (AbstractDepletionModel) – A model of this sensor’s depletion region.
eqe_measured (FunctionArray) – The measured quantum efficiency that will be fit by the function
optika.sensors.quantum_efficiency_effective().
- Return type:
- absorbance(rays, normal)#
Compute the fraction of energy absorbed by the light-sensitive region of the sensor.
- Parameters:
rays (AbstractRayVectorArray) – The light rays incident on the CCD surface.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the CCD sensor.
- Return type:
- attenuation(rays)#
the attenuation coefficient of the given rays
- Parameters:
rays (AbstractRayVectorArray) – input rays to calculate the attenuation coefficient for
- Return type:
- charge_collection_efficiency(rays, normal)#
Compute the charge collection efficiency of this CCD sensor material using
charge_collection_efficiency().- Parameters:
rays (AbstractRayVectorArray) – The light rays incident on the CCD surface.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the CCD sensor.
- Return type:
- charge_diffusion(rays, normal)#
Given a set of incident rays, compute how much the position of each ray is perturbed due to charge diffusion within the sensor.
- Parameters:
rays (RayVectorArray) – The rays incident on the sensor surface.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
- Return type:
- efficiency(rays, normal)#
The fraction of light that passes through the interface.
- Parameters:
rays (AbstractRayVectorArray) – the input rays to calculate the efficiency for
normal (AbstractCartesian3dVectorArray) – the vector perpendicular to the optical surface
- Return type:
- electrons_measured(rays, normal)#
Randomly sample the number of measured electrons given the number of absorbed photons using
electrons_measured().- Parameters:
rays (RayVectorArray)
normal (AbstractCartesian3dVectorArray)
- Return type:
- fano_factor(wavelength)#
The Fano factor (ratio of the variance to the mean) of the Fano noise for this sensor material.
The method uses the equivalent function,
optika.sensors.fano_factor, along with the :attr:`temperature()attribute to compute the Fano factor for this material- Parameters:
wavelength (Quantity | AbstractScalar)
- Return type:
- index_refraction(rays)#
the index of refraction of this material for the given input rays
- Parameters:
rays (AbstractRayVectorArray) – input rays used to evaluate the index of refraction
- Return type:
- photons_incident(electrons, wavelength, direction, normal)#
Compute the expected number of incident photons for a given number of electrons.
- Parameters:
electrons (Quantity | AbstractScalar) – The energy collected by the sensor in units of electrons.
wavelength (Quantity | AbstractScalar) – The assumed wavelength of the incident photons.
direction (AbstractCartesian3dVectorArray) – The assumed direction of the incident photons.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
- Return type:
- probability_measurement(rays, normal)#
Compute the probability of measuring an absorbed photon for this sensor using
probability_measurement().- Parameters:
rays (AbstractRayVectorArray) – The light rays incident on the CCD surface
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the CCD.
- Return type:
- quantum_efficiency(rays, normal)#
Compute the quantum efficiency of this CCD material using
quantum_efficiency_effective()andquantum_yield_ideal().- Parameters:
rays (AbstractRayVectorArray) – The light rays incident on the CCD surface
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the CCD.
- Return type:
- quantum_efficiency_effective(rays, normal)#
Compute the effective quantum efficiency of this CCD material using
quantum_efficiency_effective().- Parameters:
rays (AbstractRayVectorArray) – The light rays incident on the CCD surface
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the CCD.
- Return type:
- quantum_yield_ideal(wavelength)#
Compute the ideal quantum yield of this CCD sensor material using
optika.sensors.quantum_yield_ideal().- Parameters:
wavelength (Quantity | AbstractScalar) – The wavelength of the incident light
- Return type:
- signal(rays, normal, noise=True)#
Given a set of absorbed rays, compute the number of electrons measured by the sensor using
signal().- Parameters:
rays (RayVectorArray) – The rays absorbed by the light-sensitive silicon layer. The
optika.rays.RayVectorArray.intensityfield should either be in units of photons or energy.normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
noise (bool) – Whether to add noise to the result.
- Return type:
- to_string(prefix=None)#
Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.
- width_charge_diffusion(rays, normal)#
The standard deviation of the charge diffusion kernel for this sensor. Calculated using
optika.sensors.charge_diffusion().- Parameters:
rays (RayVectorArray) – The rays incident on the sensor surface.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
- Return type:
- depletion: None | AbstractDepletionModel = None#
A model of this sensor’s depletion region.
- eqe_measured: None | FunctionArray = None#
An optional measurement of the effective quantum efficiency.
- roughness_oxide: Quantity = <Quantity 0. nm>#
The RMS roughness of the oxide layer on the illuminated side of the sensor.
- temperature: Quantity | AbstractScalar = <Quantity 300. K>#
The temperature of this sensor.
- thickness_oxide: Quantity = <Quantity 0. nm>#
The thickness of the oxide layer on the illuminated side of the sensor.
- thickness_substrate: Quantity | AbstractScalar = <Quantity 0. um>#
The thickness of the light-sensitive silicon substrate.