-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
geometry mode updates which axes? #305
Comments
There are a couple keys calls available from the libhkl interface. They can be used to re-create the tables on that page of the documentation. Here's a fragment of the code that creates a goniometer instance from gonio = getattr(calc, f"Calc{gname}")(engine=engine)
for mode in sorted(modes):
gonio.engine.mode = mode #
axes_r = format_name_list(gonio.engine._engine.axis_names_get(0))
axes_w = format_name_list(gonio.engine._engine.axis_names_get(1)) |
Here's an example of the (new) table for E6C:
This would make a useful addition to the |
example: In [1]: from hkl import SimulatedK4CV
In [2]: sim4k = SimulatedK4CV("", name="sim4k")
In [3]: sim4k.geometry_table()
Geometry: K4CV
real axes: komega, kappa, kphi, tth
pseudo axes: depends on the engine
========= ================== ================== ======================== ======================== ================
engine pseudo axes mode axes read axes written extra parameters
========= ================== ================== ======================== ======================== ================
emergence emergence, azimuth emergence komega, kappa, kphi, tth x, y, z
eulerians omega, chi, phi eulerians komega, kappa, kphi komega, kappa, kphi solutions
hkl h, k, l bissector komega, kappa, kphi, tth komega, kappa, kphi, tth
hkl h, k, l constant_chi komega, kappa, kphi, tth komega, kappa, kphi, tth chi
hkl h, k, l constant_omega komega, kappa, kphi, tth komega, kappa, kphi, tth omega
hkl h, k, l constant_phi komega, kappa, kphi, tth komega, kappa, kphi, tth phi
hkl h, k, l double_diffraction komega, kappa, kphi, tth komega, kappa, kphi, tth h2, k2, l2
hkl h, k, l psi_constant komega, kappa, kphi, tth komega, kappa, kphi, tth h2, k2, l2, psi
incidence incidence, azimuth incidence komega, kappa, kphi x, y, z
psi psi psi komega, kappa, kphi, tth komega, kappa, kphi, tth h2, k2, l2
q q q tth tth
========= ================== ================== ======================== ======================== ================ |
What axes are calculated by
Diffractometer.forward()
for a given geometry mode?The documentation names the modes available for each geometry. There are details which could be provided as useful guidance on selecting a mode (such as when deciding how to hold a certain axis constant). The details for each mode are in the libhkl source. Here are definitions of
bissector
andconstant_omega
modes for theE4C
geometry:The list of axes to be updated by a mode are defined by either
axes
oraxes_w
(when the list differs from the readable axes). Add this list as an additional column to the table for each geometry.The text was updated successfully, but these errors were encountered: