Skip to content

[WIP] Abstract diffarctometer

Antonia Beteva requested to merge AbstractDiffarctometer into master

AbstractDiffractometer class:

  • inherits from HardwareObject and uses wait_ready, abort methods and the state handling.
  • defines some methods, properties and the DiffractometerHead, DiffractometerPhase enums.
  • defines some scan types
  • in the init method defines standard access to different equipment (motors, actuators and complex/compound equipment). The access relies on the roles, which are defined in the configuration file. To be discussed if checks are to be done. This is a typical xml configuration file:
<object class = "Microdiff"
  <username>MD2S</username>
  <exporter_address>wid30bmd2s:9001</exporter_address>
  <motors>
    <device role="phi" hwrid="/udiff_omega"/>
    <device role="phiy" hwrid="/udiff_phiy"/>
    <device role="phiz" hwrid="/udiff_phiz"/>
    <device role="sampx" hwrid="/udiff_sampx"/>
    <device role="sampy" hwrid="/udiff_sampy"/>
    <device role="kappa" hwrid="/udiff_kappa"/>
    <device role="kappa_phi" hwrid="/udiff_kappaphi"/>
    <device role="focus" hwrid="/udiff_phix"/>
    <device role="front_light" hwrid="/udiff_frontlight_intensity"/>
    <device role="back_light" hwrid="/udiff_backlight_intensity"/>
    <device role="horizontal_alignment" hwrid="/udiff_phiy"/>
    <device role="vertical_alignment" hwrid="/udiff_phiz"/>
    <device role="horizontal_centring" hwrid="/udiff_sampx"/>
    <device role="vertical_centring" hwrid="/udiff_sampy"/>
  </motors>
  <actuators>
    <object role="fast_shutter" href="/udiff_fastshut"/>
    <object role="scintillator" href="/udiff_scint"/>
    <object role="diode" href="/udiff_diode"/>
    <object role="fluo_detector" href="/udiff_fluodet"/>
    <object role="cryostream" href="/udiff_cryostream"/>
    <object role="front_light" href="/udiff_frontlight_inout"/>
    <object role="back_light" href="/udiff_backlight_inout"/>
  </actuators>
  <complex_equipment>
    <object role="beamstop" href="/udiff_beamstop"/>
    <object role="capillary" href="/udiff_capillary"/>
    <object role="aperture" href="/udiff_aperturemot"/>
    <object role="zoom" href="/udiff_zoom"/>
  </complex_equipment>
</object>

MD2 implementation - overload or fill in the abstract methods.

Edited by Alejandro Homs Puron

Merge request reports