atomiq.components.optoelectronics.photodiode ============================================ .. py:module:: atomiq.components.optoelectronics.photodiode Classes ------- .. autoapisummary:: atomiq.components.optoelectronics.photodiode.Photodiode atomiq.components.optoelectronics.photodiode.AnalogPhotodiode atomiq.components.optoelectronics.photodiode.CalibratedPhotodiode Module Contents --------------- .. py:class:: Photodiode(*args, **kwargs) Bases: :py:obj:`atomiq.components.primitives.Component`, :py:obj:`atomiq.components.primitives.Measurable` Abstract class to represent a photodiode as a device to measure light power .. py:method:: measure() .. py:method:: get_power() .. py:method:: _measure() :abstractmethod: .. py:class:: AnalogPhotodiode(adc_channel, *args, **kwargs) Bases: :py:obj:`Photodiode` An analog photodiode that gives a voltage proportional to the incidend light power. :param adc_channel: The ADC channel that reads the analog voltage of the photodiode .. py:attribute:: kernel_invariants .. py:attribute:: adc_channel .. py:method:: get_power(samples = 1, cached = False) .. py:method:: _measure(samples = 1, cached = False) .. py:class:: CalibratedPhotodiode(calibration, *args, **kwargs) Bases: :py:obj:`AnalogPhotodiode` An analog photodiode with a power calibration :param adc_channel: The ADC channel that reads the analog voltage of the photodiode :param calibration: calibration of the photodiode .. py:attribute:: kernel_invariants .. py:attribute:: calibration .. py:method:: _measure(samples = 1, cached = False) Get the power incident to the photodiode. :param samples: number of samples to take and average before returning the result (default 1) :param cached: If true, the result of the last measurement is returned, otherwise new measurements are taken (default False) :returns: Result of the measurement (possibly averaged over several samples) :rtype: TFloat