Diffractometer Geometries#

Source Code Documentation#

Diffractometer Geometries.

Geometries

E4CV(*args, **kwargs)

Eulerian 4-circle, hkl_soleil, E4CV, engine="hkl".

E6C(*args, **kwargs)

Eulerian 6-circle, hkl_soleil, E6C, engine="hkl".

K4CV(*args, **kwargs)

Kappa 4-circle, hkl_soleil, K4CV, engine="hkl".

K6C(*args, **kwargs)

Kappa 6-circle, hkl_soleil, K6C, engine="hkl".

Theta2Theta(*args, **kwargs)

2-circle, th_tth, TH TTH Q.

Simulators

SimulatedE4CV([prefix])

Eulerian 4-circle, hkl_soleil, E4CV, engine="hkl", simulated rotary axes.

SimulatedE6C([prefix])

Eulerian 6-circle, hkl_soleil, E6C, engine="hkl", simulated rotary axes.

SimulatedK4CV([prefix])

Kappa 4-circle, hkl_soleil, K4CV, engine="hkl", simulated rotary axes.

SimulatedK6C([prefix])

Kappa 6-circle, hkl_soleil, K6C, engine="hkl", simulated rotary axes.

SimulatedTheta2Theta([prefix])

2-circle, th_tth, TH TTH Q, simulated rotary axes.

Special-Use Diffractometer Geometries

ApsPolar(*args, **kwargs)

6-circle, hkl_soleil, APS POLAR, engine="hkl".

Petra3_p09_eh2(*args, **kwargs)

6-circle, hkl_soleil, PETRA3 P09 EH2, engine="hkl".

Petra3_p23_4c(*args, **kwargs)

4-circle, hkl_soleil, PETRA3 P23 4C, engine="hkl".

Petra3_p23_6c(*args, **kwargs)

7-circle, hkl_soleil, PETRA3 P23 6C, engine="hkl".

Support

MixinSimulator([prefix])

Mixin used by simulators.

MixinHkl([prefix, kind, read_attrs, ...])

Defines h, k, & l pseudo-positioners.

MixinQ([prefix, kind, read_attrs, ...])

Defines q pseudo-positioner.

class hklpy2.geom.ApsPolar(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

6-circle, hkl_soleil, APS POLAR, engine=”hkl”.

HklSolver

class hklpy2.geom.E4CV(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

Eulerian 4-circle, hkl_soleil, E4CV, engine=”hkl”.

HklSolver

class hklpy2.geom.E6C(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

Eulerian 6-circle, hkl_soleil, E6C, engine=”hkl”.

HklSolver

class hklpy2.geom.K4CV(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

Kappa 4-circle, hkl_soleil, K4CV, engine=”hkl”.

HklSolver

class hklpy2.geom.K6C(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

Kappa 6-circle, hkl_soleil, K6C, engine=”hkl”.

HklSolver

class hklpy2.geom.MixinHkl(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, **kwargs)[source]#

Bases: Device

Defines h, k, & l pseudo-positioners.

Caution

These comments need to be updated to hklpy2.

Use this mixin class with any of the diffractometer geometries to create your own simulator. Follow one of the simulators below, such as SimulatedE4CV. You should replace E4CV with your geometry’s name. And, you will need to create SoftPositioner components for each of the real-space axes, in the order required by that geometry.

class hklpy2.geom.MixinQ(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, **kwargs)[source]#

Bases: Device

Defines q pseudo-positioner.

class hklpy2.geom.MixinSimulator(prefix: str = '', **kwargs)[source]#

Bases: Device

Mixin used by simulators.

  • Supplies default ‘prefix’ argument.

  • Automatically assigns diffractometer axes.

class hklpy2.geom.Petra3_p09_eh2(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

6-circle, hkl_soleil, PETRA3 P09 EH2, engine=”hkl”.

HklSolver

class hklpy2.geom.Petra3_p23_4c(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

4-circle, hkl_soleil, PETRA3 P23 4C, engine=”hkl”.

HklSolver

class hklpy2.geom.Petra3_p23_6c(*args, **kwargs)[source]#

Bases: DiffractometerBase, MixinHkl

7-circle, hkl_soleil, PETRA3 P23 6C, engine=”hkl”.

HklSolver

class hklpy2.geom.SimulatedE4CV(prefix: str = '', **kwargs)[source]#

Bases: MixinSimulator, E4CV, MixinHkl

Eulerian 4-circle, hkl_soleil, E4CV, engine=”hkl”, simulated rotary axes.

HklSolver

class hklpy2.geom.SimulatedE6C(prefix: str = '', **kwargs)[source]#

Bases: MixinSimulator, E6C, MixinHkl

Eulerian 6-circle, hkl_soleil, E6C, engine=”hkl”, simulated rotary axes.

HklSolver

class hklpy2.geom.SimulatedK4CV(prefix: str = '', **kwargs)[source]#

Bases: MixinSimulator, K4CV, MixinHkl

Kappa 4-circle, hkl_soleil, K4CV, engine=”hkl”, simulated rotary axes.

HklSolver

class hklpy2.geom.SimulatedK6C(prefix: str = '', **kwargs)[source]#

Bases: MixinSimulator, K6C, MixinHkl

Kappa 6-circle, hkl_soleil, K6C, engine=”hkl”, simulated rotary axes.

HklSolver

class hklpy2.geom.SimulatedTheta2Theta(prefix: str = '', **kwargs)[source]#

Bases: MixinSimulator, Theta2Theta, MixinQ

2-circle, th_tth, TH TTH Q, simulated rotary axes.

NOTE: For demonstration purposes. Needs testing.

ThTthSolver

class hklpy2.geom.Theta2Theta(*args, **kwargs)[source]#

Bases: DiffractometerBase

2-circle, th_tth, TH TTH Q.

NOTE: For demonstration purposes. Needs testing.

ThTthSolver