id4_common.devices.polar_diffractometer ======================================= .. py:module:: id4_common.devices.polar_diffractometer .. autoapi-nested-parse:: Polar diffractometer Module Contents --------------- .. py:data:: WAVELENGTH_CONSTANT :value: 12.39 .. py:data:: PTTH_MIN_DEGREES :value: 79 .. py:data:: PTTH_MAX_DEGREES :value: 101 .. py:data:: PTH_MIN_DEGREES :value: 39 .. py:data:: PTH_MAX_DEGREES :value: 51 .. py:data:: ANALYZER_LIST_PATH .. py:class:: AnalyzerDevice Bases: :py:obj:`ophyd.PseudoPositioner` Crystal polarization analyzer with pseudo-energy axis and crystal setup. .. py:attribute:: energy .. py:attribute:: th .. py:attribute:: tth_trans .. py:attribute:: th_motor .. py:attribute:: tth .. py:attribute:: eta .. py:attribute:: chi .. py:attribute:: d_spacing .. py:attribute:: crystal .. py:attribute:: tth_detector_distance .. py:attribute:: tracking .. py:method:: move_single(pseudo, position, **kwargs) Guard move_single to require analyzer setup before moving energy. .. py:property:: beamline_wavelength Return the current beamline wavelength from the parent diffractometer calc. .. py:property:: beamline_energy Return the current beamline energy in keV from the parent diffractometer. .. 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_tth_trans(energy) Convert photon energy (keV) to the two-theta translation stage 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) Calibrate the Bragg-angle motor to match the given photon energy (keV). .. py:method:: calc(acal='No') Print analyzer Bragg angles and optionally calibrate the theta motor. .. py:method:: setup(analyzer_energy=None, analyzer_list_path=ANALYZER_LIST_PATH) List compatible analyzer crystals and interactively configure d-spacing and crystal. .. py:class:: SixCircleDiffractometer Bases: :py:obj:`hkl.geometries.ApsPolar` ApsPolar: Huber diffractometer in 6-circle horizontal geometry with energy. HKL engine. .. py:attribute:: h .. py:attribute:: k .. py:attribute:: l .. py:attribute:: tau .. py:attribute:: mu .. py:attribute:: gamma .. py:attribute:: delta .. py:attribute:: tablex .. py:attribute:: tabley .. py:attribute:: pad_rail .. py:attribute:: point_rail .. py:attribute:: filter .. py:attribute:: detslt .. py:attribute:: ana .. py:attribute:: energy .. py:attribute:: energy_update_calc_flag .. py:attribute:: energy_offset .. py:property:: hints Return hinted fields, excluding non-hinted components to prevent busy plotting. .. py:method:: default_settings() Update the HKL calc engine energy from the EPICS monochromator readback. .. py:class:: CradleDiffractometer Bases: :py:obj:`SixCircleDiffractometer` SixCircleDiffractometer with cradle chi/phi motors and sample XYZ positioning. .. py:attribute:: chi .. py:attribute:: phi .. py:attribute:: x .. py:attribute:: y .. py:attribute:: z .. py:class:: HPDiffractometer Bases: :py:obj:`SixCircleDiffractometer` SixCircleDiffractometer for the HP press setup with base and nano- positioning motors. .. py:attribute:: chi .. py:attribute:: phi .. py:attribute:: basex .. py:attribute:: basey .. py:attribute:: basez .. py:attribute:: basey_motor .. py:attribute:: basez_motor .. py:attribute:: sample_tilt .. py:attribute:: x .. py:attribute:: y .. py:attribute:: z .. py:attribute:: nanox .. py:attribute:: nanoy .. py:attribute:: nanoz .. py:class:: PolarPSI Bases: :py:obj:`hkl.geometries.ApsPolar` ApsPolar: Huber diffractometer in 6-circle horizontal geometry with energy. Psi engine. .. py:attribute:: psi .. py:attribute:: tau .. py:attribute:: mu .. py:attribute:: gamma .. py:attribute:: delta .. py:class:: CradlePSI Bases: :py:obj:`PolarPSI` PolarPSI diffractometer with cradle chi and phi motors. .. py:attribute:: chi .. py:attribute:: phi .. py:class:: HPPSI Bases: :py:obj:`PolarPSI` PolarPSI diffractometer for the HP press with its chi and phi motors. .. py:attribute:: chi .. py:attribute:: phi