bluesky / hklpy

Diffractometer computation library with ophyd pseudopositioner support
https://blueskyproject.io/hklpy
BSD 3-Clause "New" or "Revised" License
4 stars 12 forks source link

Add additional geometries from new version of libhkl #262

Closed prjemian closed 11 months ago

prjemian commented 1 year ago

The new versions of libhkl (v5.0.0.3001 & .3357) have some new geometries. Add them.

prjemian commented 12 months ago

Here's the full list, as generated when testing the conda-forge package (and compare with the existing geometries):

2023-10-10T16:55:50.7460246Z 1 E4CH  <Hkl.Factory object at 0x7fdc027c3d70 (HklFactory at 0x7fdc01a32620)>
2023-10-10T16:55:50.7461030Z 2 E4CV  <Hkl.Factory object at 0x7fdc027c39b0 (HklFactory at 0x7fdc01a326e0)>
2023-10-10T16:55:50.7461351Z 3 E6C  <Hkl.Factory object at 0x7fdc027c3650 (HklFactory at 0x7fdc01a33160)>
2023-10-10T16:55:50.7461683Z 4 K4CV  <Hkl.Factory object at 0x7fdc027c3dd0 (HklFactory at 0x7fdc01a329e0)>
2023-10-10T16:55:50.7462023Z 5 K6C  <Hkl.Factory object at 0x7fdc027c3b90 (HklFactory at 0x7fdc01a341a0)>
2023-10-10T16:55:50.7462353Z 6 PETRA3 P09 EH2  <Hkl.Factory object at 0x7fdc027c3d10 (HklFactory at 0x7fdc01a347e0)>
2023-10-10T16:55:50.7462728Z 7 PETRA3 P23 4C  <Hkl.Factory object at 0x7fdc027c3950 (HklFactory at 0x7fdc01a34aa0)>
2023-10-10T16:55:50.7463085Z 8 PETRA3 P23 6C  <Hkl.Factory object at 0x7fdc027c3bf0 (HklFactory at 0x7fdc01a35240)>
2023-10-10T16:55:50.7463428Z 9 SOLEIL MARS  <Hkl.Factory object at 0x7fdc027c3e30 (HklFactory at 0x7fdc01a32680)>
2023-10-10T16:55:50.7463802Z 10 SOLEIL NANOSCOPIUM ROBOT  <Hkl.Factory object at 0x7fdc027c3a10 (HklFactory at 0x7fdc01a35480)>
2023-10-10T16:55:50.7464171Z 11 SOLEIL SIRIUS KAPPA  <Hkl.Factory object at 0x7fdc027c3cb0 (HklFactory at 0x7fdc01a34120)>
2023-10-10T16:55:50.7464544Z 12 SOLEIL SIRIUS TURRET  <Hkl.Factory object at 0x7fdc027c38f0 (HklFactory at 0x7fdc01a35660)>
2023-10-10T16:55:50.7464893Z 13 SOLEIL SIXS MED1+2  <Hkl.Factory object at 0x7fdc027c3a70 (HklFactory at 0x7fdc01a35d80)>
2023-10-10T16:55:50.7465265Z 14 SOLEIL SIXS MED2+2  <Hkl.Factory object at 0x7fdc027c3c50 (HklFactory at 0x7fdc01a35de0)>
2023-10-10T16:55:50.7465636Z 15 SOLEIL SIXS MED2+3  <Hkl.Factory object at 0x7fdc027c3890 (HklFactory at 0x7fdc01a35d00)>
2023-10-10T16:55:50.7465985Z 16 SOLEIL SIXS MED2+3 v2  <Hkl.Factory object at 0x7fdc027c3ad0 (HklFactory at 0x7fdc01a35c80)>
2023-10-10T16:55:50.7466342Z 17 TwoC  <Hkl.Factory object at 0x7fdc027c31d0 (HklFactory at 0x7fdc01a32320)>
2023-10-10T16:55:50.7466668Z 18 ZAXIS  <Hkl.Factory object at 0x7fdc027c3b30 (HklFactory at 0x7fdc01a35fc0)>
prjemian commented 12 months ago

Comparison of geometries in libhkl releases: <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

v1.0.0 | v1.2.0 | comments -- | -- | -- E4CH | E4CH | same E4CV | E4CV | same E6C | E6C | same K4CV | K4CV | same K6C | K6C | same Petra3_p09_eh2 | PETRA3 P09 EH2 | same   | PETRA3 P23 4C | new   | PETRA3 P23 6C | new SoleilMars | SOLEIL MARS | same   | SOLEIL NANOSCOPIUM ROBOT | new SoleilSiriusKappa | SOLEIL SIRIUS KAPPA | same SoleilSiriusTurret | SOLEIL SIRIUS TURRET | same SoleilSixsMed1p2 | SOLEIL SIXS MED1+2 | same SoleilSixsMed2p2 | SOLEIL SIXS MED2+2 | same SoleilSixsMed2p3 | SOLEIL SIXS MED2+3 | same   | SOLEIL SIXS MED2+3 v2 | new   | TwoC | working? Zaxis | ZAXIS | same

prjemian commented 12 months ago

condensed version, just the changes

image

prjemian commented 12 months ago

Note: TwoC geometry was dropped from hklpy previously:

the list of engines for TwoC geometry is empty as defined in the libhkl library.

Still the case in v5.0.0.3372:

static HklEngineList *hkl_engine_list_new_twoC(const HklFactory *factory)
{
        HklEngineList *self = hkl_engine_list_new();

        return self;
}
prjemian commented 12 months ago

So, do not add TwoC to the list of hklpy geometries now.