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