SPDC
====

.. currentmodule:: spdcalc.spdcalc

.. autoclass:: SPDC
   :show-inheritance:

   .. rubric:: Attributes Summary

   .. autosummary::

      ~SPDC.apodization
      ~SPDC.counter_propagation
      ~SPDC.crystal_kind
      ~SPDC.crystal_length_um
      ~SPDC.crystal_phi_deg
      ~SPDC.crystal_pm_type
      ~SPDC.crystal_temperature_c
      ~SPDC.crystal_theta_deg
      ~SPDC.deff_pm_per_volt
      ~SPDC.idler_frequency_rad_per_s
      ~SPDC.idler_phi_deg
      ~SPDC.idler_theta_deg
      ~SPDC.idler_theta_external_deg
      ~SPDC.idler_waist_position_um
      ~SPDC.idler_waist_um
      ~SPDC.idler_wavelength_nm
      ~SPDC.poling_period_um
      ~SPDC.pump_average_power_mw
      ~SPDC.pump_bandwidth_nm
      ~SPDC.pump_frequency_rad_per_s
      ~SPDC.pump_spectrum_threshold
      ~SPDC.pump_waist_nm
      ~SPDC.pump_wavelength_nm
      ~SPDC.signal_frequency_rad_per_s
      ~SPDC.signal_phi_deg
      ~SPDC.signal_theta_deg
      ~SPDC.signal_theta_external_deg
      ~SPDC.signal_waist_position_um
      ~SPDC.signal_waist_um
      ~SPDC.signal_wavelength_nm

   .. rubric:: Methods Summary

   .. autosummary::

      ~SPDC.counts_coincidences
      ~SPDC.counts_singles_idler
      ~SPDC.counts_singles_signal
      ~SPDC.default
      ~SPDC.delta_k
      ~SPDC.efficiencies
      ~SPDC.from_json
      ~SPDC.from_yaml
      ~SPDC.hom_rate_series
      ~SPDC.hom_two_source_rate_series
      ~SPDC.hom_two_source_visibilities
      ~SPDC.hom_visibility
      ~SPDC.joint_spectrum
      ~SPDC.optimum_crystal_theta
      ~SPDC.optimum_range
      ~SPDC.poling_domain_lengths_m
      ~SPDC.poling_domains
      ~SPDC.to_json
      ~SPDC.to_optimum
      ~SPDC.to_yaml
      ~SPDC.with_optimum_crystal_theta
      ~SPDC.with_optimum_idler
      ~SPDC.with_optimum_periodic_poling
      ~SPDC.with_swapped_signal_idler

   .. rubric:: Attributes Documentation

   .. autoattribute:: apodization
   .. autoattribute:: counter_propagation
   .. autoattribute:: crystal_kind
   .. autoattribute:: crystal_length_um
   .. autoattribute:: crystal_phi_deg
   .. autoattribute:: crystal_pm_type
   .. autoattribute:: crystal_temperature_c
   .. autoattribute:: crystal_theta_deg
   .. autoattribute:: deff_pm_per_volt
   .. autoattribute:: idler_frequency_rad_per_s
   .. autoattribute:: idler_phi_deg
   .. autoattribute:: idler_theta_deg
   .. autoattribute:: idler_theta_external_deg
   .. autoattribute:: idler_waist_position_um
   .. autoattribute:: idler_waist_um
   .. autoattribute:: idler_wavelength_nm
   .. autoattribute:: poling_period_um
   .. autoattribute:: pump_average_power_mw
   .. autoattribute:: pump_bandwidth_nm
   .. autoattribute:: pump_frequency_rad_per_s
   .. autoattribute:: pump_spectrum_threshold
   .. autoattribute:: pump_waist_nm
   .. autoattribute:: pump_wavelength_nm
   .. autoattribute:: signal_frequency_rad_per_s
   .. autoattribute:: signal_phi_deg
   .. autoattribute:: signal_theta_deg
   .. autoattribute:: signal_theta_external_deg
   .. autoattribute:: signal_waist_position_um
   .. autoattribute:: signal_waist_um
   .. autoattribute:: signal_wavelength_nm

   .. rubric:: Methods Documentation

   .. automethod:: counts_coincidences
   .. automethod:: counts_singles_idler
   .. automethod:: counts_singles_signal
   .. automethod:: default
   .. automethod:: delta_k
   .. automethod:: efficiencies
   .. automethod:: from_json
   .. automethod:: from_yaml
   .. automethod:: hom_rate_series
   .. automethod:: hom_two_source_rate_series
   .. automethod:: hom_two_source_visibilities
   .. automethod:: hom_visibility
   .. automethod:: joint_spectrum
   .. automethod:: optimum_crystal_theta
   .. automethod:: optimum_range
   .. automethod:: poling_domain_lengths_m
   .. automethod:: poling_domains
   .. automethod:: to_json
   .. automethod:: to_optimum
   .. automethod:: to_yaml
   .. automethod:: with_optimum_crystal_theta
   .. automethod:: with_optimum_idler
   .. automethod:: with_optimum_periodic_poling
   .. automethod:: with_swapped_signal_idler
