id4_common.devices.monochromator ================================ .. py:module:: id4_common.devices.monochromator .. autoapi-nested-parse:: Monochromator with energy controller by bluesky Module Contents --------------- .. py:class:: MonoDevice(prefix, *, pzt_thf2_pv='4idaSoft:LJ:Ao5', pzt_chi2_pv='4idaSoft:LJ:Ao3', **kwargs) Bases: :py:obj:`ophyd.PseudoPositioner` Double-crystal monochromator as a pseudo-positioner converting energy to theta and y2. .. py:attribute:: energy .. py:attribute:: th .. py:attribute:: y2 .. py:attribute:: crystal_select .. py:attribute:: thf2 .. py:attribute:: chi2 .. py:attribute:: pzt_thf2 .. py:attribute:: pzt_chi2 .. py:attribute:: y_offset .. py:attribute:: crystal_h .. py:attribute:: crystal_k .. py:attribute:: crystal_l .. py:attribute:: crystal_a .. py:attribute:: crystal_2d .. py:attribute:: crystal_type .. py:method:: convert_energy_to_theta(energy) Convert photon energy (keV) to Bragg angle (degrees) using the crystal d-spacing. .. py:method:: convert_energy_to_y(energy) Convert photon energy (keV) to second-crystal vertical position (mm). .. py:method:: convert_theta_to_energy(theta) Convert Bragg angle (degrees) to photon energy (keV) using the crystal d-spacing. .. py:method:: forward(pseudo_pos) Run a forward (pseudo -> real) calculation .. py:method:: inverse(real_pos) Run an inverse (real -> pseudo) calculation .. py:method:: set_energy(energy) Update the theta readback offset so that the current theta corresponds to energy (keV). .. py:method:: default_settings() Remove crystal_select from the sub-device list so it is not staged.