Compare commits

..

81 Commits

Author SHA1 Message Date
cec57aec50 Frontend: updates + fixes
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m15s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m31s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 12m59s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m15s
Build Packages / build:rpm (rocky8) (push) Successful in 13m24s
Build Packages / Generate python client (push) Successful in 42s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 56s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m22s
Build Packages / build:rpm (rocky9) (push) Successful in 14m52s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m27s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m9s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m5s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 12m4s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 13m5s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 13m2s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 12m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 13m37s
Build Packages / Generate python client (pull_request) Successful in 20s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 14m13s
Build Packages / Create release (pull_request) Has been skipped
Build Packages / Build documentation (pull_request) Successful in 36s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 14m13s
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 9m56s
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 10m30s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 11m46s
Build Packages / Unit tests (push) Successful in 1h7m58s
Build Packages / Unit tests (pull_request) Successful in 1h4m9s
2026-02-18 15:57:03 +01:00
0adf7f2247 CHANGELOG: 1.0.0-rc.125
Some checks failed
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 3m27s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 3m23s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 3m25s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 3m30s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 3m28s
Build Packages / build:rpm (rocky8) (push) Failing after 3m24s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Failing after 3m30s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 3m40s
Build Packages / Generate python client (push) Successful in 18s
Build Packages / Build documentation (push) Successful in 37s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 2m58s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 3m2s
Build Packages / Unit tests (push) Has been cancelled
2026-02-18 15:14:23 +01:00
5ed25b887b Frontend: Disable quick integration switch when not using spot finding 2026-02-18 15:10:19 +01:00
5e535b9d56 Frontend: Update JavaScript 2026-02-18 15:03:56 +01:00
b38d14a34e VERSION: 1.0.0-rc.125 2026-02-18 14:48:47 +01:00
838b225a44 OpenAPI: Use generator 7.20.0
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m6s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m5s
Build Packages / build:rpm (rocky8) (push) Successful in 13m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m2s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m12s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 32s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m42s
Build Packages / build:rpm (rocky9) (push) Successful in 14m50s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 14m59s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m16s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m16s
Build Packages / Unit tests (push) Has been cancelled
2026-02-18 14:37:09 +01:00
b2dda42db9 BraggPrediction: Zeta set to 1.0 for stills, otherwise merging gets weird 2026-02-18 14:32:17 +01:00
b77ba44de1 jfjoch_process: Remove comment about polarization factor
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m52s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m35s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m37s
Build Packages / Generate python client (push) Successful in 13s
Build Packages / build:rpm (rocky8) (push) Successful in 14m10s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m14s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m26s
Build Packages / Build documentation (push) Successful in 33s
Build Packages / build:rpm (rocky9) (push) Successful in 14m56s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m3s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m34s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m26s
Build Packages / Unit tests (push) Successful in 51m34s
2026-02-18 12:16:26 +01:00
682ce5e418 IndexingSettings: FFT should handle cells up to 500.0 A 2026-02-18 12:16:13 +01:00
08f98dab3c Definitions: Increase MAX_SPOT_COUNT to 64*1024 2026-02-18 12:15:40 +01:00
ca778992b0 CMake: More options for Ceres backends (to be determined how useful later) 2026-02-18 12:15:07 +01:00
8759d1f8db Gitea: Add Rocky9 with SLS9 2026-02-18 09:40:28 +01:00
87c8a2e93b CMake: All packages are named jfjoch, irrespective of slsdet version (for now) 2026-02-18 09:38:57 +01:00
0599f1e918 Remove RotationScanAccumulator 2026-02-18 09:13:02 +01:00
09b74e78e3 CBOR: Fix serialization of h,k,l
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m41s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m17s
Build Packages / Generate python client (push) Successful in 16s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m32s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m1s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m2s
Build Packages / Build documentation (push) Successful in 38s
Build Packages / build:rpm (rocky8) (push) Successful in 14m6s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m39s
Build Packages / build:rpm (rocky9) (push) Successful in 15m2s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m11s
Build Packages / Unit tests (push) Successful in 53m56s
2026-02-17 20:27:02 +01:00
091b3808a4 ScaleAndMerge: Add statistics
Some checks failed
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 4m15s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 4m35s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 5m11s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 5m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 5m23s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Failing after 5m16s
Build Packages / Generate python client (push) Successful in 39s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 5m29s
Build Packages / build:rpm (rocky8) (push) Failing after 5m32s
Build Packages / Build documentation (push) Successful in 44s
Build Packages / Unit tests (push) Failing after 2m4s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 4m20s
2026-02-17 19:54:37 +01:00
0ed72eb2ea ScaleAndMerge: Add statistics 2026-02-17 19:46:28 +01:00
be5dff5370 Reflection: slightly reduce struct size
Some checks failed
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 4m2s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 4m20s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 4m15s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 4m43s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 4m37s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Failing after 4m35s
Build Packages / Generate python client (push) Successful in 33s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 4m50s
Build Packages / build:rpm (rocky8) (push) Failing after 4m53s
Build Packages / Build documentation (push) Successful in 49s
Build Packages / Unit tests (push) Failing after 2m26s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 4m6s
2026-02-17 19:23:34 +01:00
f7f13c45e8 Docs: Add jumbo frames
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m45s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m59s
Build Packages / build:rpm (rocky8) (push) Successful in 13m55s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m23s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m1s
Build Packages / Create release (push) Has been skipped
Build Packages / Generate python client (push) Successful in 19s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m20s
Build Packages / Build documentation (push) Successful in 39s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m4s
Build Packages / build:rpm (rocky9) (push) Successful in 15m23s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m8s
Build Packages / Unit tests (push) Has been cancelled
2026-02-17 18:59:17 +01:00
30791b1da0 MXAnalysisAfterFPGA: Add state management to handle disabling functionality properly
Some checks failed
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
2026-02-17 18:53:41 +01:00
329be6eb33 ScaleAndMerge: Remove GoF, refactor merging part
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m2s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m25s
Build Packages / Generate python client (push) Successful in 12s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m47s
Build Packages / build:rpm (rocky8) (push) Successful in 13m52s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m59s
Build Packages / Build documentation (push) Successful in 34s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m8s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m27s
Build Packages / build:rpm (rocky9) (push) Successful in 14m44s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m29s
Build Packages / Unit tests (push) Successful in 53m4s
2026-02-17 13:56:12 +01:00
21059d1662 CBOR: Add scale factors (work in progress) 2026-02-17 13:43:52 +01:00
957980307f jfjoch_process: Add anomalous mode
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m34s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m48s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m45s
Build Packages / Build documentation (push) Successful in 47s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m0s
Build Packages / build:rpm (rocky8) (push) Successful in 14m5s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m16s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m10s
Build Packages / build:rpm (rocky9) (push) Successful in 14m52s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m18s
Build Packages / Unit tests (push) Has been cancelled
2026-02-17 13:18:40 +01:00
f3e8379a55 jfjoch_process: Write amplitudes at the end into hkl file in addition to mmCIF file (to be improved later) 2026-02-17 13:08:59 +01:00
c4d4b5d570 BraggIntegrate2D: Fix polarization correction division 2026-02-17 13:07:22 +01:00
981c8ce0d4 AzimuthalIntegration: Clear naming for polarization factor 2026-02-17 13:05:45 +01:00
c7bf8c4d13 jfjoch_process: Don't write header row for hkl file
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m22s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m59s
Build Packages / Generate python client (push) Successful in 36s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 12m53s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m3s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m14s
Build Packages / build:rpm (rocky8) (push) Successful in 13m10s
Build Packages / Build documentation (push) Successful in 49s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m43s
Build Packages / build:rpm (rocky9) (push) Successful in 14m42s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m14s
Build Packages / Unit tests (push) Successful in 51m54s
2026-02-17 12:18:05 +01:00
175e938616 BraggIntegrate2D: Lorentz-Polarization correction is not directly applied 2026-02-17 12:16:58 +01:00
411276415e jfjoch_viewer: Display partiality and reverse LP correction 2026-02-17 11:25:21 +01:00
1295ee9f85 jfjoch_process: Reformat
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m2s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m41s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m49s
Build Packages / Generate python client (push) Successful in 15s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m7s
Build Packages / build:rpm (rocky8) (push) Successful in 14m6s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m7s
Build Packages / Build documentation (push) Successful in 34s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m34s
Build Packages / build:rpm (rocky9) (push) Successful in 14m50s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m31s
Build Packages / Unit tests (push) Successful in 50m51s
2026-02-15 19:22:44 +01:00
832bbe4d89 ScaleAndMerge: Minor fixes 2026-02-15 19:22:03 +01:00
f0e17fde60 RotationParameters: More flexibility on moving average size 2026-02-15 10:37:09 +01:00
8325d87982 WriteMmcif: Fix synchrotron site parameters 2026-02-13 20:33:29 +01:00
936b63a7a9 ScaleAndMerge: Intensities come from merging
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m57s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m56s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m7s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 42s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 13m47s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m55s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m8s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m48s
Build Packages / build:rpm (rocky9) (push) Successful in 14m49s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m34s
Build Packages / Unit tests (push) Successful in 53m7s
2026-02-12 21:08:47 +01:00
0ae85a63f9 ScaleAndMerge: sigma calculation included 2026-02-12 20:12:56 +01:00
38199c480f jfjoch_process: Save reflections as mmCIF (experimental) 2026-02-12 18:09:35 +01:00
1dedd3de33 ScaleAndMerge: Add AI generated sigmas 2026-02-12 17:56:32 +01:00
fd8e263934 jfjoch_process: More fixes
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m45s
Build Packages / build:rpm (rocky8) (push) Successful in 14m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m25s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m26s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m26s
Build Packages / Create release (push) Has been skipped
Build Packages / Generate python client (push) Successful in 20s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m40s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m52s
Build Packages / Build documentation (push) Successful in 39s
Build Packages / build:rpm (rocky9) (push) Successful in 15m0s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 6m46s
Build Packages / Unit tests (push) Successful in 52m34s
2026-02-11 20:41:52 +01:00
34b24133c7 jfjoch_process: More fixes
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 7m48s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 9m24s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m56s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m17s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 57s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m34s
Build Packages / build:rpm (rocky8) (push) Successful in 14m42s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m58s
Build Packages / build:rpm (rocky9) (push) Successful in 15m7s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m56s
Build Packages / Unit tests (push) Successful in 53m37s
2026-02-11 19:59:32 +01:00
161df2f5a1 jfjoch_process: Fixes 2026-02-11 19:31:07 +01:00
de8e8d3a64 jfjoch_process: More options
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m4s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m16s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m29s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m54s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 14m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m9s
Build Packages / Build documentation (push) Successful in 45s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m20s
Build Packages / build:rpm (rocky9) (push) Successful in 15m14s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m14s
Build Packages / Unit tests (push) Successful in 55m20s
2026-02-11 16:26:36 +01:00
217e86c23b ScaleAndMerge: Add option to turn off per image mosaicity 2026-02-11 16:22:45 +01:00
86afb7697e ScaleAndMerge: Add log-scaling residual 2026-02-11 16:20:14 +01:00
45e4a642f9 ScaleAndMerge: Print full report (for now) and use max number of threads
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m53s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m4s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m8s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m4s
Build Packages / build:rpm (rocky8) (push) Successful in 14m8s
Build Packages / Create release (push) Has been skipped
Build Packages / Generate python client (push) Successful in 18s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m22s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m38s
Build Packages / Build documentation (push) Successful in 40s
Build Packages / build:rpm (rocky9) (push) Successful in 14m57s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m0s
Build Packages / Unit tests (push) Successful in 54m30s
2026-02-10 08:12:47 +01:00
44802ddac4 Ceres: Build with C++ threads 2026-02-10 08:04:14 +01:00
247ed0e1eb BraggPredictionGPU: Fix
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m18s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m43s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m44s
Build Packages / Generate python client (push) Successful in 15s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m4s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m11s
Build Packages / Build documentation (push) Successful in 33s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m23s
Build Packages / build:rpm (rocky8) (push) Successful in 14m20s
Build Packages / build:rpm (rocky9) (push) Successful in 14m30s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m10s
Build Packages / Unit tests (push) Successful in 52m46s
2026-02-09 20:35:55 +01:00
14402f8175 BraggPredictionRotGPU: Save delta_phi in degrees, not radians
Some checks failed
Build Packages / build:rpm (ubuntu2204) (push) Failing after 10m1s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m30s
Build Packages / build:rpm (rocky8) (push) Failing after 10m32s
Build Packages / build:rpm (rocky9) (push) Failing after 10m38s
Build Packages / Generate python client (push) Successful in 27s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 49s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m39s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m37s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 12m56s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m24s
Build Packages / Unit tests (push) Failing after 3m26s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 6m21s
2026-02-09 18:01:46 +01:00
e0fd62df2b ScaleAndMerge: Fix symbol names k --> g, remove setting first image scale factor to 1 (it is too weak), remove radians 2026-02-09 18:00:23 +01:00
684c3df204 ScaleAndMerge: Fix partiality model
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m46s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m31s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m48s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m8s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m14s
Build Packages / build:rpm (rocky8) (push) Successful in 14m13s
Build Packages / Build documentation (push) Successful in 37s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m52s
Build Packages / build:rpm (rocky9) (push) Successful in 14m58s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m9s
Build Packages / Unit tests (push) Successful in 50m39s
2026-02-09 12:29:48 +01:00
c40a0332e7 jfjoch_process: minor fixes to input parameters
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m50s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m35s
Build Packages / Generate python client (push) Successful in 14s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m5s
Build Packages / build:rpm (rocky8) (push) Successful in 14m2s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m2s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m23s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m18s
Build Packages / Build documentation (push) Successful in 37s
Build Packages / build:rpm (rocky9) (push) Successful in 14m55s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m15s
Build Packages / Unit tests (push) Successful in 51m48s
2026-02-09 10:27:47 +01:00
f49cb3a6f0 Revert "CCP4: Add library to save MTZs"
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m7s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m20s
Build Packages / Generate python client (push) Successful in 21s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m51s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m53s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m55s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m7s
Build Packages / build:rpm (rocky8) (push) Successful in 14m12s
Build Packages / Build documentation (push) Successful in 43s
Build Packages / build:rpm (rocky9) (push) Successful in 14m51s
Build Packages / Unit tests (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
This reverts commit d4d1f6cd9c.
2026-02-09 10:08:39 +01:00
d4d1f6cd9c CCP4: Add library to save MTZs
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 8m35s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 10m40s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 10m50s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 11m16s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 11m25s
Build Packages / build:rpm (rocky8) (push) Failing after 11m29s
Build Packages / Build documentation (push) Successful in 53s
Build Packages / build:rpm (rocky9) (push) Failing after 11m45s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 11m54s
Build Packages / Unit tests (push) Failing after 3m37s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 6m40s
2026-02-08 19:55:48 +01:00
58f29409e6 jfjoch_process: Fix 2026-02-08 19:29:00 +01:00
69ebbed8fb jfjoch_process: Add French-Wilson (completely written by Opus 4.6...need to understand it properly first :) ) 2026-02-08 19:02:48 +01:00
6e28ad3523 jfjoch_process: Include scaling - to be tested
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m27s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m22s
Build Packages / Generate python client (push) Successful in 22s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m44s
Build Packages / build:rpm (rocky8) (push) Successful in 13m59s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m0s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m13s
Build Packages / Build documentation (push) Successful in 38s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m31s
Build Packages / build:rpm (rocky9) (push) Successful in 14m45s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m10s
Build Packages / Unit tests (push) Successful in 52m56s
2026-02-08 18:45:39 +01:00
7f1f28f8d3 ScaleAndMerge: Merge intensities taken from scaling - variances taken directly from least-squares (with some magic from Opus 4.6, which I don't yet understand)
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m35s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m17s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m37s
Build Packages / Generate python client (push) Successful in 20s
Build Packages / build:rpm (rocky8) (push) Successful in 13m59s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 36s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m9s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m8s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m37s
Build Packages / build:rpm (rocky9) (push) Successful in 14m49s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m26s
Build Packages / Unit tests (push) Successful in 51m24s
2026-02-08 17:22:02 +01:00
d6265fe589 IndexAndRefine: Save all reflections...to integrate scale and merge
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m10s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m6s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m29s
Build Packages / Generate python client (push) Successful in 31s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m57s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m9s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 45s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m18s
Build Packages / build:rpm (rocky8) (push) Successful in 14m16s
Build Packages / build:rpm (rocky9) (push) Successful in 14m57s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m27s
Build Packages / Unit tests (push) Successful in 50m42s
2026-02-08 14:44:26 +01:00
068ea2eea7 ScaleAndMerge: Further improvement 2026-02-08 14:36:06 +01:00
fb493e8ac2 ScaleAndMerge: Add rotation partiality model 2026-02-08 14:26:08 +01:00
7177d0fed0 BraggPredictionRot: Fix partiality 2026-02-08 14:25:52 +01:00
e15944ab56 Reflection: Save zeta 2026-02-08 13:10:06 +01:00
666b52ffc1 JFJochHDF5Reader: Read delta phi 2026-02-08 13:00:56 +01:00
70343ec058 Reflection: Add delta_phi
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m54s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 12m57s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m24s
Build Packages / Generate python client (push) Successful in 27s
Build Packages / Build documentation (push) Successful in 37s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 13m54s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m1s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m58s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m15s
Build Packages / build:rpm (rocky9) (push) Successful in 14m51s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m37s
Build Packages / Unit tests (push) Successful in 50m32s
2026-02-08 12:42:38 +01:00
b7a3fb09ef IndexAndRefine: Fix wrong include file
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m35s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m17s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m31s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m54s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 13m59s
Build Packages / Build documentation (push) Successful in 41s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m2s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m36s
Build Packages / build:rpm (rocky9) (push) Successful in 14m54s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m23s
Build Packages / Unit tests (push) Successful in 53m37s
2026-02-06 11:40:02 +01:00
4edebe888e IndexAndRefine: Simple optimization was not good enough - using a non-linear solver leads to considerably better predictions.
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 5m9s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 5m12s
Build Packages / Generate python client (push) Successful in 20s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 5m37s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 5m56s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 45s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 8m21s
Build Packages / build:rpm (rocky8) (push) Failing after 10m24s
Build Packages / build:rpm (rocky9) (push) Failing after 10m44s
Build Packages / Unit tests (push) Failing after 5m15s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 11m9s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 7m13s
2026-02-06 11:02:27 +01:00
aac982a239 DiffractionSpot: Consistent definition of rotation angle
All checks were successful
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m48s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m22s
Build Packages / Generate python client (push) Successful in 21s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m46s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m14s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m20s
Build Packages / build:rpm (rocky8) (push) Successful in 14m16s
Build Packages / Build documentation (push) Successful in 36s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m22s
Build Packages / build:rpm (rocky9) (push) Successful in 14m36s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m18s
Build Packages / Unit tests (push) Successful in 54m13s
2026-02-05 13:46:59 +01:00
cb7e7ad576 XtalOptimizer: Fix test to include phi angle
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m30s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m16s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / Build documentation (push) Successful in 42s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m1s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m55s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m17s
Build Packages / build:rpm (rocky8) (push) Successful in 14m18s
Build Packages / build:rpm (rocky9) (push) Successful in 15m3s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m15s
Build Packages / Unit tests (push) Successful in 53m49s
2026-02-05 11:34:25 +01:00
ae4c28f127 XtalOptimizer: Fix test to include phi angle
Some checks failed
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
2026-02-05 11:26:23 +01:00
e2ab97c09b XtalOptimizer: Use rotation angle from spot (so it should work for centroid angles)
Some checks failed
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
2026-02-05 11:22:49 +01:00
f9cc99f3c0 SpotToSave: Include phi angle of the spot 2026-02-05 11:18:19 +01:00
a40e4118e6 DiffractionGeometry: Store rotation matrix 2026-02-05 11:15:34 +01:00
ecc924fe4a RotationSpotAccumulator: Should be a bit faster 2026-02-05 11:00:02 +01:00
1f6477e34f RotationSpotAccumulator: Works, but super slow 2026-02-05 10:53:50 +01:00
392af14013 RotationSpotAccumulator: Add (Claude 4.5 Opus)
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 7m20s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 7m21s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 7m32s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 7m55s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 51s
Build Packages / build:rpm (rocky9) (push) Failing after 9m52s
Build Packages / build:rpm (rocky8) (push) Failing after 10m3s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 10m5s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 10m14s
Build Packages / Unit tests (push) Failing after 3m45s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 6m17s
2026-02-04 14:46:35 +01:00
787e781eb2 jfjoch_tests: Add more tests
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m25s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m32s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m50s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m51s
Build Packages / Generate python client (push) Successful in 19s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 13m58s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m10s
Build Packages / Build documentation (push) Successful in 40s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m55s
Build Packages / build:rpm (rocky9) (push) Successful in 14m51s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m16s
Build Packages / Unit tests (push) Successful in 53m54s
2026-02-04 11:14:32 +01:00
e0b7594429 BraggPredictionRot: Getting it (slowly) right with XDS implementation
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m59s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m11s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 12m55s
Build Packages / Build documentation (push) Successful in 57s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m36s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m55s
Build Packages / build:rpm (rocky8) (push) Successful in 14m22s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m25s
Build Packages / build:rpm (rocky9) (push) Successful in 14m38s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m44s
Build Packages / Unit tests (push) Has been cancelled
2026-02-04 10:49:58 +01:00
fed8fd0f57 AnalyzeIndexing: Log-likelihood approach for mosaicity calculation (like XDS)
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m29s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m42s
Build Packages / Generate python client (push) Successful in 32s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m52s
Build Packages / Build documentation (push) Successful in 43s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 14m10s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 14m10s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m25s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m52s
Build Packages / build:rpm (rocky9) (push) Successful in 14m46s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m32s
Build Packages / Unit tests (push) Successful in 55m39s
2026-02-04 08:48:14 +01:00
f388922515 XtalOptimizer: Fix rotation angles (Claude Opus suggestion :) ) 2026-02-04 08:47:40 +01:00
60e03bfda6 BraggPrediction: Fix for GPU code
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m6s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m49s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m55s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 14m10s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m16s
Build Packages / Build documentation (push) Successful in 33s
Build Packages / build:rpm (rocky9) (push) Successful in 14m45s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m59s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m31s
Build Packages / Unit tests (push) Failing after 3h12m29s
2026-02-03 16:32:15 +01:00
7edad6b7c1 BraggPrediction: Add partiality calculation
Some checks failed
Build Packages / build:rpm (rocky8) (push) Failing after 11m17s
Build Packages / build:rpm (rocky9) (push) Failing after 11m50s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m2s
Build Packages / Generate python client (push) Successful in 16s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 12m14s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 12m28s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 12m22s
Build Packages / Build documentation (push) Successful in 31s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m44s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m29s
Build Packages / Unit tests (push) Failing after 3m28s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 5m34s
2026-02-03 14:31:29 +01:00
88701b31db jfjoch_writer: Save partiality 2026-02-03 14:11:51 +01:00
429 changed files with 43771 additions and 12417 deletions

View File

@@ -76,16 +76,12 @@ jobs:
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/nocuda/upload
steps:
- uses: actions/checkout@v4
- name: Setup build (cmake)
- name: Build packages
shell: bash
run: |
mkdir -p build
cd build
cmake -G Ninja -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }} ..
- name: Build packages
shell: bash
run: |
cd build
ninja frontend
ninja -j16 package
- name: Upload packages
@@ -122,32 +118,6 @@ jobs:
python3 gitea_upload_file.py "$file"
done
fi
dials-test:
name: DIALS processing test
runs-on: jfjoch_rocky9
steps:
- uses: actions/checkout@v4
- name: Build processing test
shell: bash
run: |
mkdir -p build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja -j16 jfjoch_hdf5_test
- name: Generate test data (with virtual data set and 4 linked image files)
shell: bash
run: |
set -euo pipefail
mkdir -p dials_test
cd dials_test
../build/tools/jfjoch_hdf5_test ../tests/test_data/compression_benchmark.h5 -n100 -f25 -V
- name: Run DIALS processing
shell: bash
run: |
source /opt/dials-v3-27-0/dials_env.sh
set -euo pipefail
cd dials_test
xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000
python-client:
name: Generate python client
runs-on: jfjoch_rocky8

View File

@@ -1,4 +1,4 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.26)
CMAKE_MINIMUM_REQUIRED(VERSION 3.19)
FILE(STRINGS VERSION JFJOCH_VERSION)
@@ -87,19 +87,10 @@ SET(HDF5_BUILD_CPP_LIB OFF)
SET(HDF5_ENABLE_Z_LIB_SUPPORT ON)
SET(HDF5_EXTERNALLY_CONFIGURED 1)
SET(SPDLOG_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
SET(SPDLOG_BUILD_TESTS OFF CACHE BOOL "" FORCE)
SET(SPDLOG_BUILD_BENCH OFF CACHE BOOL "" FORCE)
set(SPDLOG_BUILD_SHARED OFF CACHE BOOL "" FORCE)
SET(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
SET(HTTPLIB_USE_NON_BLOCKING_GETADDRINFO OFF CACHE BOOL "" FORCE)
SET(HTTPLIB_REQUIRE_ZLIB ON CACHE BOOL "" FORCE)
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog.git
GIT_TAG v1.17.0
pistache_http
GIT_REPOSITORY https://github.com/fleon-psi/pistache
GIT_TAG 0393f6c
EXCLUDE_FROM_ALL
)
@@ -113,7 +104,7 @@ FetchContent_Declare(
FetchContent_Declare(hdf5
GIT_REPOSITORY https://github.com/HDFGroup/hdf5/
GIT_TAG hdf5_2.1.0
GIT_TAG hdf5_1.14.6
GIT_SHALLOW 1
EXCLUDE_FROM_ALL)
@@ -126,24 +117,16 @@ FetchContent_Declare(
sls_detector_package
GIT_REPOSITORY https://github.com/slsdetectorgroup/slsDetectorPackage
GIT_TAG ${SLS_DETECTOR_GIT_TAG}
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2
GIT_TAG v3.13.0
GIT_TAG 4e8d92b
EXCLUDE_FROM_ALL
)
FetchContent_Declare(
httplib
GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git
GIT_TAG v0.39.0
EXCLUDE_FROM_ALL
)
FetchContent_MakeAvailable(zstd sls_detector_package catch2 hdf5 spdlog httplib)
FetchContent_MakeAvailable(pistache_http zstd sls_detector_package catch2 hdf5)
ADD_SUBDIRECTORY(jungfrau)
ADD_SUBDIRECTORY(compression)
@@ -175,7 +158,7 @@ ENDIF()
IF (NOT JFJOCH_WRITER_ONLY)
ADD_CUSTOM_COMMAND(OUTPUT frontend/dist/index.html
COMMAND npm ci
COMMAND npm install
COMMAND npm run build
COMMAND npm run redocly
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/frontend)

View File

@@ -1 +1 @@
1.0.0-rc.133
1.0.0-rc.125

View File

@@ -7,8 +7,8 @@
#include "../common/JFJochException.h"
AcquisitionCounters::AcquisitionCounters()
: total_packets(0), slowest_frame_number(0), fastest_frame_number(0),
curr_frame_number(max_modules, 0), acquisition_finished(false), expected_frames(0) {}
: curr_frame_number(max_modules, 0), slowest_frame_number(0), fastest_frame_number(0),
total_packets(0), expected_frames(0), acquisition_finished(false) {}
void AcquisitionCounters::Reset(const DiffractionExperiment &experiment, uint16_t data_stream) {
std::unique_lock ul(m);
@@ -56,31 +56,32 @@ void AcquisitionCounters::UpdateCounters(const Completion *c) {
if (c->frame_number >= expected_frames)
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid,
"UpdateCounters frame number is out of bounds");
else {
if (curr_frame_number.at(c->module_number) < c->frame_number)
curr_frame_number.at(c->module_number) = c->frame_number;
if (curr_frame_number.at(c->module_number) < c->frame_number)
curr_frame_number.at(c->module_number) = c->frame_number;
if (c->frame_number > slowest_frame_number) {
slowest_frame_number = curr_frame_number[0];
for (int i = 1; i < nmodules; i++)
if (curr_frame_number[i] < slowest_frame_number)
slowest_frame_number = curr_frame_number[i];
}
if (c->frame_number > slowest_frame_number) {
slowest_frame_number = curr_frame_number[0];
for (int i = 1; i < nmodules; i++)
if (curr_frame_number[i] < slowest_frame_number)
slowest_frame_number = curr_frame_number[i];
if (c->frame_number > fastest_frame_number) {
fastest_frame_number = c->frame_number;
}
if (fastest_frame_number - slowest_frame_number > ThresholdFramesLost)
slowest_frame_number = fastest_frame_number - ThresholdFramesLost;
packets_collected.at(c->frame_number * nmodules + c->module_number) = c->packet_count;
handle_for_frame.at(c->frame_number * nmodules + c->module_number) = c->handle;
saved_completions.at(c->frame_number * nmodules + c->module_number) = *c;
total_packets += c->packet_count;
packets_per_module[c->module_number] += c->packet_count;
}
if (c->frame_number > fastest_frame_number) {
fastest_frame_number = c->frame_number;
}
if (fastest_frame_number - slowest_frame_number > ThresholdFramesLost)
slowest_frame_number = fastest_frame_number - ThresholdFramesLost;
packets_collected.at(c->frame_number * nmodules + c->module_number) = c->packet_count;
handle_for_frame.at(c->frame_number * nmodules + c->module_number) = c->handle;
saved_completions.at(c->frame_number * nmodules + c->module_number) = *c;
total_packets += c->packet_count;
packets_per_module[c->module_number] += c->packet_count;
data_updated.notify_all();
}
@@ -131,50 +132,44 @@ uint64_t AcquisitionCounters::GetCurrFrameNumber(uint16_t module_number) const {
if (module_number >= max_modules)
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
"GetCurrFrameNumber Wrong module number: " + std::to_string(module_number));
std::shared_lock sl(m);
return curr_frame_number[module_number];
}
uint64_t AcquisitionCounters::GetSlowestFrameNumber() const {
std::shared_lock sl(m);
return slowest_frame_number;
}
uint64_t AcquisitionCounters::GetFastestFrameNumber() const {
std::shared_lock sl(m);
return fastest_frame_number;
}
void AcquisitionCounters::WaitForFrame(size_t curr_frame, uint16_t module_number) const {
uint64_t slowest_head_tmp = (module_number == UINT16_MAX) ? GetSlowestFrameNumber() : GetCurrFrameNumber(module_number);
if (curr_frame == 0)
curr_frame = 1; // Cannot wait for frame 0, as this is initial value
std::shared_lock sl(m);
data_updated.wait(sl, [&] {
const uint64_t head = (module_number == UINT16_MAX)
? slowest_frame_number
: curr_frame_number.at(module_number);
return acquisition_finished || (head >= curr_frame);
});
curr_frame = 1; // Cannot wait for frame 0, as this is initial value of slowest frame number, so waiting for frame 1 in this case
while (!acquisition_finished && (slowest_head_tmp < curr_frame)) {
std::this_thread::sleep_for(std::chrono::microseconds(100));
slowest_head_tmp = (module_number == UINT16_MAX) ? GetSlowestFrameNumber() : GetCurrFrameNumber(module_number);
}
}
int64_t AcquisitionCounters::CalculateDelay(size_t curr_frame, uint16_t module_number) const {
std::shared_lock sl(m);
const uint64_t head = (module_number == UINT16_MAX)
? slowest_frame_number
: curr_frame_number.at(module_number);
if (head < curr_frame)
uint64_t slowest_head_tmp;
if (module_number == UINT16_MAX)
slowest_head_tmp = GetSlowestFrameNumber();
else
slowest_head_tmp = GetCurrFrameNumber(module_number);
if (slowest_head_tmp < curr_frame)
return 0;
return static_cast<int64_t>(head - curr_frame);
return slowest_head_tmp - curr_frame;
}
bool AcquisitionCounters::IsAcquisitionFinished() const {
std::shared_lock sl(m);
return acquisition_finished;
}
bool AcquisitionCounters::IsFullModuleCollected(size_t frame, uint16_t module_number) const {
std::shared_lock sl(m);
if (frame >= expected_frames)
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
"IsFullModuleCollected Wrong frame number: " + std::to_string(frame));
@@ -188,7 +183,6 @@ bool AcquisitionCounters::IsFullModuleCollected(size_t frame, uint16_t module_nu
}
bool AcquisitionCounters::IsAnyPacketCollected(size_t frame, uint16_t module_number) const {
std::shared_lock sl(m);
if (frame >= expected_frames)
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
"IsFullModuleCollected Wrong frame number: " + std::to_string(frame));
@@ -202,7 +196,6 @@ bool AcquisitionCounters::IsAnyPacketCollected(size_t frame, uint16_t module_num
}
uint64_t AcquisitionCounters::GetTotalPackets() const {
std::shared_lock sl(m);
return total_packets;
}
@@ -225,16 +218,13 @@ uint64_t AcquisitionCounters::GetTotalExpectedPackets() const {
}
uint64_t AcquisitionCounters::GetTotalExpectedPacketsPerModule() const {
std::shared_lock sl(m);
return expected_frames * expected_packets_per_module;
}
uint64_t AcquisitionCounters::GetModuleNumber() const {
std::shared_lock sl(m);
return nmodules;
}
uint64_t AcquisitionCounters::GetBytesReceived() const {
std::shared_lock sl(m);
return total_packets * bytes_per_packet;
return GetTotalPackets() * bytes_per_packet;
}

View File

@@ -16,7 +16,7 @@
// so uses mutex to ensure consistency
class AcquisitionCounters {
uint32_t expected_packets_per_module;
uint16_t expected_packets_per_module;
constexpr static const uint64_t max_modules = 32;
mutable std::shared_mutex m;
mutable std::condition_variable_any data_updated;

View File

@@ -81,47 +81,44 @@ void AcquisitionDevice::WaitForActionComplete() {
while (c.type != Completion::Type::End) {
DeviceOutput* output;
bool skip_analysis = false;
try {
output = GetDeviceOutput(c.handle);
} catch (const JFJochException &e) {
if (logger)
logger->ErrorException(e);
skip_analysis = true;
continue;
}
if (!skip_analysis) {
c.module_number = output->module_statistics.module_number;
c.packet_count = output->module_statistics.packet_count;
c.frame_number = output->module_statistics.frame_number;
c.module_number = output->module_statistics.module_number;
c.packet_count = output->module_statistics.packet_count;
c.frame_number = output->module_statistics.frame_number;
if (c.frame_number >= expected_frames) {
Cancel();
// this frame is not of any interest, therefore its location can be immediately released
SendWorkRequest(c.handle);
} else if (c.module_number >= max_modules) {
// Module number out of bounds, don't process
if (logger != nullptr)
logger->Error("Completion with wrong module number data stream {} completion frame number {} module {} handle {}",
data_stream, c.frame_number, c.module_number, c.handle);
SendWorkRequest(c.handle);
} else if (c.frame_number < counters.GetSlowestFrameNumber()) {
// Module is falling behind, needs to return the handle then
SendWorkRequest(c.handle);
} else {
try {
counters.UpdateCounters(&c);
} catch (const JFJochException &e) {
if (logger)
logger->ErrorException(e);
SendWorkRequest(c.handle);
}
}
if (c.frame_number >= expected_frames) {
Cancel();
// this frame is not of any interest, therefore its location can be immediately released
SendWorkRequest(c.handle);
} else if (c.module_number >= max_modules) {
// Module number out of bounds, don't process
if (logger != nullptr)
logger->Debug("Data stream {} completion frame number {} module {} handle {}",
logger->Error("Completion with wrong module number data stream {} completion frame number {} module {} handle {}",
data_stream, c.frame_number, c.module_number, c.handle);
SendWorkRequest(c.handle);
} else if (c.frame_number < counters.GetSlowestFrameNumber()) {
// Module is falling behind, needs to return the handle then
SendWorkRequest(c.handle);
} else {
try {
counters.UpdateCounters(&c);
} catch (const JFJochException &e) {
if (logger)
logger->ErrorException(e);
SendWorkRequest(c.handle);
}
}
if (logger != nullptr)
logger->Debug("Data stream {} completion frame number {} module {} handle {}",
data_stream, c.frame_number, c.module_number, c.handle);
c = work_completion_queue.GetBlocking();
}
counters.SetAcquisitionFinished();

View File

@@ -26,7 +26,7 @@ class FPGAAcquisitionDevice : public AcquisitionDevice {
void ReadWorkCompletionThread();
std::future<void> send_work_request_future;
std::atomic<bool> stop_work_requests = false;
volatile bool stop_work_requests = false;
void SendWorkRequestThread();
virtual void HW_LoadCalibration(const LoadCalibrationConfig &config) = 0;

View File

@@ -15,8 +15,8 @@ ADD_LIBRARY(JFJochBroker STATIC
TARGET_LINK_LIBRARIES(JFJochBroker JFJochReceiver JFJochDetector JFJochCommon JFJochAPI JFJochPreview)
ADD_EXECUTABLE(jfjoch_broker jfjoch_broker.cpp JFJochBrokerHttp.cpp JFJochBrokerHttp.h)
TARGET_LINK_LIBRARIES(jfjoch_broker JFJochBroker httplib::httplib ${CMAKE_DL_LIBS})
ADD_EXECUTABLE(jfjoch_broker jfjoch_broker.cpp JFJochBrokerHttp.cpp JFJochBrokerHttp.h
gen/api/DefaultApi.cpp gen/api/DefaultApi.h gen/api/ApiBase.h gen/api/ApiBase.cpp)
TARGET_LINK_LIBRARIES(jfjoch_broker JFJochBroker pistache_static ${CMAKE_DL_LIBS})
TARGET_INCLUDE_DIRECTORIES(jfjoch_broker PUBLIC gen/api)
INSTALL(TARGETS jfjoch_broker RUNTIME COMPONENT jfjoch)

File diff suppressed because it is too large Load Diff

View File

@@ -1,195 +1,206 @@
// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
// Using OpenAPI licensed with Apache License 2.0
#pragma once
#include <httplib.h>
#include <nlohmann/json.hpp>
#ifndef JUNGFRAUJOCH_JFJOCHBROKERHTTP_H
#define JUNGFRAUJOCH_JFJOCHBROKERHTTP_H
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <pistache/endpoint.h>
#include <pistache/router.h>
#include <pistache/client.h>
#include <pistache/http.h>
#include "../common/Logger.h"
#include "JFJochServices.h"
#include "JFJochStateMachine.h"
#include "OpenAPIConvert.h"
#include "gen/api/DefaultApi.h"
#include "gen/model/Azim_int_settings.h"
#include "gen/model/Broker_status.h"
#include "gen/model/Dark_mask_settings.h"
#include "gen/model/Dataset_settings.h"
#include "gen/model/Detector_selection.h"
#include "gen/model/Detector_settings.h"
#include "gen/model/Detector_status.h"
#include "gen/model/Error_message.h"
#include "gen/model/File_writer_settings.h"
#include "gen/model/Image_buffer_status.h"
#include "gen/model/Image_format_settings.h"
#include "gen/model/Image_pusher_status.h"
#include "gen/model/Indexing_settings.h"
#include "gen/model/Instrument_metadata.h"
#include "gen/model/Jfjoch_statistics.h"
#include "gen/model/Plots.h"
#include "gen/model/Roi_definitions.h"
#include "gen/model/Scan_result.h"
#include "gen/model/Spot_finding_settings.h"
#include "gen/model/Zeromq_metadata_settings.h"
#include "gen/model/Zeromq_preview_settings.h"
class JFJochBrokerHttp {
class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
Logger logger{"JFJochBroker"};
JFJochServices services{logger};
JFJochServices services {logger};
void config_image_format_get(Pistache::Http::ResponseWriter &response) override;
void config_image_format_put(const org::openapitools::server::model::Image_format_settings &imageFormatSettings,
Pistache::Http::ResponseWriter &response) override;
void fpga_status_get(Pistache::Http::ResponseWriter &response) override;
JFJochStateMachine state_machine;
std::string frontend_directory;
static void send_plain(httplib::Response &res, int code, const std::string &body) {
res.status = code;
res.set_content(body, "text/plain");
}
void config_detector_get(Pistache::Http::ResponseWriter &response) override;
template<class T>
void ProcessOutput(const T &output, httplib::Response &response) {
std::stringstream s;
if (!output.validate(s)) {
logger.Error(s.str());
response.status = 500;
response.set_content(s.str(), "text/plain");
return;
}
void config_detector_put(const org::openapitools::server::model::Detector_settings &detectorSettings,
Pistache::Http::ResponseWriter &response) override;
nlohmann::json j = output;
response.status = 200;
response.set_content(j.dump(), "application/json");
}
void config_azim_int_get(Pistache::Http::ResponseWriter &response) override;
std::pair<int, std::string> handleParsingException(const std::exception &ex) const noexcept;
std::pair<int, std::string> handleOperationException(const std::exception &ex) const noexcept;
void config_azim_int_put(const org::openapitools::server::model::Azim_int_settings &radIntSettings,
Pistache::Http::ResponseWriter &response) override;
void register_routes(httplib::Server &server);
void config_select_detector_get(Pistache::Http::ResponseWriter &response) override;
void cancel_post(httplib::Response &response);
void deactivate_post(httplib::Response &response);
void initialize_post(httplib::Response &response);
void config_select_detector_put(const org::openapitools::server::model::Detector_selection &detectorSelection,
Pistache::Http::ResponseWriter &response) override;
void detector_status_get(Pistache::Http::ResponseWriter &response) override;
void config_spot_finding_get(Pistache::Http::ResponseWriter &response) override;
void config_spot_finding_put(const org::openapitools::server::model::Spot_finding_settings &spotFindingSettings,
Pistache::Http::ResponseWriter &response) override;
void statistics_calibration_get(Pistache::Http::ResponseWriter &response) override;
void statistics_data_collection_get(Pistache::Http::ResponseWriter &response) override;
void cancel_post(Pistache::Http::ResponseWriter &response) override;
void deactivate_post(Pistache::Http::ResponseWriter &response) override;
void initialize_post(Pistache::Http::ResponseWriter &response) override;
void start_post(const org::openapitools::server::model::Dataset_settings &datasetSettings,
httplib::Response &response);
void status_get(httplib::Response &response);
void wait_till_done_post(const std::optional<int32_t> &timeout, httplib::Response &response);
void trigger_post(httplib::Response &response);
void pedestal_post(httplib::Response &response);
Pistache::Http::ResponseWriter &response) override;
void config_detector_get(httplib::Response &response);
void config_detector_put(const org::openapitools::server::model::Detector_settings &detectorSettings,
httplib::Response &response);
void status_get(Pistache::Http::ResponseWriter &response) override;
void config_azim_int_get(httplib::Response &response);
void config_azim_int_put(const org::openapitools::server::model::Azim_int_settings &azimIntSettings,
httplib::Response &response);
void wait_till_done_post(const std::optional<int32_t> &timeoutMs, Pistache::Http::ResponseWriter &response) override;
void trigger_post(Pistache::Http::ResponseWriter &response) override;
void pedestal_post(Pistache::Http::ResponseWriter &response) override;
void config_select_detector_get(httplib::Response &response);
void config_select_detector_put(const org::openapitools::server::model::Detector_selection &detectorSelection,
httplib::Response &response);
void preview_pedestal_tiff_get(const std::optional<int32_t> &gainLevel,
const std::optional<int32_t> &sc,
Pistache::Http::ResponseWriter &response) override;
void config_spot_finding_get(httplib::Response &response);
void config_spot_finding_put(const org::openapitools::server::model::Spot_finding_settings &spotFindingSettings,
httplib::Response &response);
void statistics_calibration_get(httplib::Response &response);
void statistics_data_collection_get(httplib::Response &response);
void config_file_writer_get(httplib::Response &response);
void config_file_writer_put(const org::openapitools::server::model::File_writer_settings &fileWriterSettings,
httplib::Response &response);
void config_image_format_get(httplib::Response &response);
void config_image_format_put(const org::openapitools::server::model::Image_format_settings &imageFormatSettings,
httplib::Response &response);
void config_image_format_conversion_post(httplib::Response &response);
void config_image_format_raw_post(httplib::Response &response);
void fpga_status_get(httplib::Response &response);
void statistics_get(httplib::Response &response);
void config_zeromq_preview_get(httplib::Response &response);
void config_zeromq_preview_put(const org::openapitools::server::model::Zeromq_preview_settings &zeromqPreviewSettings,
httplib::Response &response);
void config_zeromq_metadata_get(httplib::Response &response);
void config_zeromq_metadata_put(const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings,
httplib::Response &response);
void config_internal_generator_image_put(const std::optional<int64_t> &id,
const httplib::Request &request,
httplib::Response &response);
void config_internal_generator_image_tiff_put(const std::optional<int64_t> &id,
const httplib::Request &request,
httplib::Response &response);
void image_buffer_clear_post(httplib::Response &response);
void image_buffer_image_cbor_get(const std::optional<int64_t> &id, httplib::Response &response);
void image_buffer_image_jpeg_get(const std::optional<int64_t> &id, const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi, const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter, const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality, const std::optional<float> &showResRing,
const std::optional<std::string> &color, const std::optional<bool> &showResEst,
httplib::Response &response);
void image_buffer_image_tiff_get(const std::optional<int64_t> &id, httplib::Response &response);
void image_buffer_start_cbor_get(httplib::Response &response);
void image_buffer_status_get(httplib::Response &response);
void detector_status_get(httplib::Response &response);
void image_pusher_status_get(httplib::Response &response);
void preview_pedestal_tiff_get(const std::optional<int32_t> &gainLevel, const std::optional<int32_t> &sc,
httplib::Response &response);
void preview_plot_bin_get(const std::optional<std::string> &type, const std::optional<std::string> &roi,
httplib::Response &response);
void preview_plot_get(const std::optional<std::string> &type, const std::optional<int32_t> &binning,
const std::optional<float> &fill,
const std::optional<bool> &experimentalCoord, const std::optional<std::string> &azintUnit,
httplib::Response &response);
void config_mask_get(httplib::Response &response);
void config_mask_tiff_get(httplib::Response &response);
void config_user_mask_get(httplib::Response &response);
void config_user_mask_put(const httplib::Request &request, httplib::Response &response);
void config_user_mask_tiff_get(httplib::Response &response);
void config_user_mask_tiff_put(const httplib::Request &request, httplib::Response &response);
void config_roi_get(httplib::Response &response);
void config_roi_get(Pistache::Http::ResponseWriter &response) override;
void config_roi_put(const org::openapitools::server::model::Roi_definitions &roiDefinitions,
httplib::Response &response);
Pistache::Http::ResponseWriter &response) override;
void result_scan_get(httplib::Response &response);
void version_get(httplib::Response &response);
void config_internal_generator_image_put(const Pistache::Rest::Request &request,
Pistache::Http::ResponseWriter &response) override;
void xfel_event_code_get(Pistache::Http::ResponseWriter &response) override;
void xfel_pulse_id_get(Pistache::Http::ResponseWriter &response) override;
void config_mask_tiff_get(Pistache::Http::ResponseWriter &response) override;
void config_user_mask_tiff_get(Pistache::Http::ResponseWriter &response) override;
void config_user_mask_tiff_put(const Pistache::Rest::Request &request,
Pistache::Http::ResponseWriter &response) override;
void config_internal_generator_image_tiff_put(const Pistache::Rest::Request &request,
Pistache::Http::ResponseWriter &response) override;
void config_instrument_get(Pistache::Http::ResponseWriter &response) override;
void config_instrument_get(httplib::Response &response);
void config_instrument_put(const org::openapitools::server::model::Instrument_metadata &instrumentMetadata,
httplib::Response &response);
Pistache::Http::ResponseWriter &response) override;
void GetStaticFile(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::pair<Pistache::Http::Code, std::string> handleOperationException(const std::exception &ex) const noexcept override;
template <class T>
void ProcessOutput(const T& output, Pistache::Http::ResponseWriter &response, bool compression = false) {
std::stringstream s;
if(!output.validate(s)) {
logger.Error(s.str());
response.send(Pistache::Http::Code::Internal_Server_Error, s.str(), MIME(Text, Plain));
} else {
nlohmann::json j = output;
if (compression)
response.setCompression(Pistache::Http::Header::Encoding::Deflate);
response.send(Pistache::Http::Code::Ok, j.dump(), MIME(Application, Json));
}
}
void version_get(Pistache::Http::ResponseWriter &response) override;
void config_image_format_conversion_post(Pistache::Http::ResponseWriter &response) override;
void config_image_format_raw_post(Pistache::Http::ResponseWriter &response) override;
void statistics_get(const std::optional<bool> &compression, Pistache::Http::ResponseWriter &response) override;
void config_zeromq_preview_get(Pistache::Http::ResponseWriter &response) override;
void
config_zeromq_preview_put(const org::openapitools::server::model::Zeromq_preview_settings &zeromqPreviewSettings,
Pistache::Http::ResponseWriter &response) override;
void config_zeromq_metadata_get(Pistache::Http::ResponseWriter &response) override;
void config_zeromq_metadata_put(
const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings,
Pistache::Http::ResponseWriter &response) override;
void config_mask_get(Pistache::Http::ResponseWriter &response) override;
void config_user_mask_get(Pistache::Http::ResponseWriter &response) override;
void config_user_mask_put(const Pistache::Rest::Request &request,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_clear_post(Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_cbor_get(const std::optional<int64_t> &id,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_jpeg_get(const std::optional<int64_t> &id,
const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi,
const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter,
const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality,
const std::optional<float> &showResRing,
const std::optional<std::string> &color,
const std::optional<bool> &showResEst,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_tiff_get(const std::optional<int64_t> &id, Pistache::Http::ResponseWriter &response) override;
void image_buffer_start_cbor_get(Pistache::Http::ResponseWriter &response) override;
void image_buffer_status_get(Pistache::Http::ResponseWriter &response) override;
void preview_plot_get(const std::optional<std::string> &type, const std::optional<int32_t> &binning,
const std::optional<bool> &compression, const std::optional<float> &fill,
const std::optional<bool> &experimentalCoord, const std::optional<std::string> &azintUnit,
Pistache::Http::ResponseWriter &response) override;
void preview_plot_bin_get(const std::optional<std::string> &type, const std::optional<std::string> &roi,
Pistache::Http::ResponseWriter &response) override;
void config_indexing_get(Pistache::Http::ResponseWriter &response) override;
void config_indexing_get(httplib::Response &response);
void config_indexing_put(const org::openapitools::server::model::Indexing_settings &indexingSettings,
httplib::Response &response);
Pistache::Http::ResponseWriter &response) override;
void config_dark_mask_get(httplib::Response &response);
void result_scan_get(Pistache::Http::ResponseWriter &response) override;
void config_dark_mask_get(Pistache::Http::ResponseWriter &response) override;
void config_dark_mask_put(const org::openapitools::server::model::Dark_mask_settings &darkMaskSettings,
httplib::Response &response);
void xfel_event_code_get(httplib::Response &response);
void xfel_pulse_id_get(httplib::Response &response);
Pistache::Http::ResponseWriter &response) override;
public:
JFJochBrokerHttp(const DiffractionExperiment &experiment,
const SpotFindingSettings &spot_finding_settings);
JFJochBrokerHttp(const DiffractionExperiment& experiment,
const SpotFindingSettings &spot_finding_settings,
std::shared_ptr<Pistache::Rest::Router> &rtr);
void AddDetectorSetup(const DetectorSetup &setup);
JFJochServices &Services();
JFJochBrokerHttp &FrontendDirectory(const std::string &directory);
void attach(httplib::Server &server);
JFJochServices& Services();
~JFJochBrokerHttp() = default;
JFJochBrokerHttp& FrontendDirectory(const std::string &directory);
~JFJochBrokerHttp() override = default;
private:
void config_file_writer_get(Pistache::Http::ResponseWriter &response) override;
void config_file_writer_put(const org::openapitools::server::model::File_writer_settings &fileWriterSettings,
Pistache::Http::ResponseWriter &response) override;
};
#endif //JUNGFRAUJOCH_JFJOCHBROKERHTTP_H

View File

@@ -9,7 +9,6 @@
#include "OpenAPIConvert.h"
#include "Detector_type.h"
#include "../image_pusher/NonePusher.h"
#include "../image_pusher/TCPStreamPusher.h"
DetectorGeometryModular ParseStandardDetectorGeometry(const org::openapitools::server::model::Detector &j) {
auto s = j.getStandardGeometry();
@@ -191,25 +190,10 @@ std::unique_ptr<ImagePusher> ParseZMQImagePusher(const org::openapitools::server
return std::move(tmp);
}
std::unique_ptr<ImagePusher> ParseTCPImagePusher(const org::openapitools::server::model::Jfjoch_settings &j) {
if (!j.tcpIsSet())
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "TCP/IP Socket settings must be provided");
std::optional<int32_t> send_buffer_size;
if (j.getTcp().sendBufferSizeIsSet())
send_buffer_size = j.getTcp().getSendBufferSize();
auto tmp = std::make_unique<TCPStreamPusher>(j.getTcp().getImageSocket(), j.getTcp().getNwriters(), send_buffer_size);
return std::move(tmp);
}
std::unique_ptr<ImagePusher> ParseImagePusher(const org::openapitools::server::model::Jfjoch_settings &j) {
switch (j.getImagePusher().getValue()) {
case org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::ZEROMQ:
return ParseZMQImagePusher(j);
case org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::TCP:
return ParseTCPImagePusher(j);
case org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::HDF5:
return std::make_unique<HDF5FilePusher>();
case org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::NONE:

View File

@@ -269,14 +269,4 @@ void JFJochServices::LoadDetectorPixelMask(PixelMask &mask) {
void JFJochServices::SetupIndexing(const IndexingSettings &input) {
if (receiver)
receiver->Indexing(input);
}
ImagePusherStatus JFJochServices::GetImagePusherStatus() const {
if (receiver)
return receiver->GetImagePusherStatus();
return {
.pusher_type = ImagePusherType::None,
.address = {},
.connected_writers = 0
};
}
}

View File

@@ -18,7 +18,7 @@ class JFJochServices {
JFJochReceiverService *receiver = nullptr;
std::unique_ptr<DetectorWrapper> detector;
std::atomic<bool> cannot_stop_detector = false;
volatile bool cannot_stop_detector = false;
Logger &logger;
public:
explicit JFJochServices(Logger &in_logger);
@@ -67,8 +67,6 @@ public:
void LoadDetectorPixelMask(PixelMask &mask);
void SetupIndexing(const IndexingSettings& input);
ImagePusherStatus GetImagePusherStatus() const;
};

View File

@@ -6,7 +6,6 @@
#include "JFJochStateMachine.h"
#include "../preview/JFJochTIFF.h"
#include "../common/CUDAWrapper.h"
#include "../common/GitInfo.h"
JFJochStateMachine::JFJochStateMachine(const DiffractionExperiment& in_experiment,
JFJochServices &in_services,
@@ -485,7 +484,6 @@ std::optional<MeasurementStatistics> JFJochStateMachine::GetMeasurementStatistic
tmp.saturated_pixels = rcv_status->saturated_pixels;
tmp.roi_beam_sum = rcv_status->roi_beam_sum;
tmp.roi_beam_npixel = rcv_status->roi_beam_npixel;
tmp.images_written = rcv_status->images_written;
}
return tmp;
}
@@ -553,7 +551,6 @@ BrokerStatus JFJochStateMachine::GetStatus() const {
BrokerStatus ret = broker_status;
ret.progress = services.GetReceiverProgress();
ret.gpu_count = gpu_count;
ret.broker_version = jfjoch_version();
return ret;
}
@@ -1042,7 +1039,3 @@ void JFJochStateMachine::SetDarkMaskSettings(const DarkMaskSettings &settings) {
measurement = std::async(std::launch::async, &JFJochStateMachine::PedestalThread, this, std::move(ul));
}
}
ImagePusherStatus JFJochStateMachine::GetImagePusherStatus() const {
return services.GetImagePusherStatus();
}

View File

@@ -15,7 +15,16 @@
#include "JFJochServices.h"
#include "../common/ROIMap.h"
#include "../common/BrokerStatus.h"
enum class JFJochState {Inactive, Idle, Measuring, Error, Busy, Calibration};
struct BrokerStatus {
JFJochState state = JFJochState::Inactive;
std::optional<float> progress;
std::optional<std::string> message;
enum class MessageSeverity {Error, Info, Warning, Success} message_severity = MessageSeverity::Error;
int64_t gpu_count;
};
struct DetectorListElement {
std::string description;
@@ -46,8 +55,6 @@ struct MeasurementStatistics {
int64_t images_collected;
int64_t images_sent;
int64_t images_skipped;
std::optional<int64_t> images_written;
int64_t max_image_number_sent;
std::optional<float> collection_efficiency;
std::optional<float> compression_ratio;
@@ -94,8 +101,8 @@ class JFJochStateMachine {
// mutex m is protecting:
mutable std::mutex m;
std::condition_variable c;
std::atomic<JFJochState> state = JFJochState::Inactive; // state should not be set directly, but through SetState function
std::atomic<bool> cancel_sequence = false;
volatile JFJochState state = JFJochState::Inactive; // state should not be set directly, but through SetState function
volatile bool cancel_sequence = false;
std::unique_ptr<JFCalibration> calibration;
PixelMask pixel_mask;
int64_t current_detector_setup; // Lock only on change
@@ -244,8 +251,6 @@ public:
void SetDarkMaskSettings(const DarkMaskSettings& settings);
DarkMaskSettings GetDarkMaskSettings() const;
ImagePusherStatus GetImagePusherStatus() const;
};

View File

@@ -241,7 +241,6 @@ org::openapitools::server::model::Broker_status Convert(const BrokerStatus& inpu
ret.setProgress(input.progress.value());
ret.setGpuCount(input.gpu_count);
ret.setBrokerVersion(input.broker_version);
return ret;
}
@@ -754,9 +753,6 @@ org::openapitools::server::model::Image_buffer_status Convert(const ImageBufferS
ret.setImageNumbers(input.images_in_the_buffer);
ret.setMaxImageNumber(input.max_image_number);
ret.setMinImageNumber(input.min_image_number);
ret.setInPreparationSlots(input.preparation_slots);
ret.setInSendingSlots(input.sending_slots);
if (input.current_counter.has_value())
ret.setCurrentCounter(input.current_counter.value());
return ret;
@@ -769,9 +765,6 @@ ImageBufferStatus Convert(const org::openapitools::server::model::Image_buffer_s
ret.images_in_the_buffer = input.getImageNumbers();
ret.max_image_number = input.getMaxImageNumber();
ret.min_image_number = input.getMinImageNumber();
ret.sending_slots = input.getInSendingSlots();
ret.preparation_slots = input.getInPreparationSlots();
if (input.currentCounterIsSet())
ret.current_counter = input.getCurrentCounter();
return ret;
@@ -795,7 +788,7 @@ org::openapitools::server::model::File_writer_format Convert(FileWriterFormat in
org::openapitools::server::model::File_writer_format ret;
switch (input) {
case FileWriterFormat::DataOnly:
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXONLYDATA);
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NONE);
break;
case FileWriterFormat::NXmxLegacy:
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXLEGACY);
@@ -803,9 +796,6 @@ org::openapitools::server::model::File_writer_format Convert(FileWriterFormat in
case FileWriterFormat::NXmxVDS:
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXVDS);
break;
case FileWriterFormat::NXmxIntegrated:
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXINTEGRATED);
break;
case FileWriterFormat::CBF:
ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::CBF);
break;
@@ -823,14 +813,12 @@ org::openapitools::server::model::File_writer_format Convert(FileWriterFormat in
FileWriterFormat Convert(const org::openapitools::server::model::File_writer_format& input) {
switch (input.getValue()) {
case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXONLYDATA:
case org::openapitools::server::model::File_writer_format::eFile_writer_format::NONE:
return FileWriterFormat::DataOnly;
case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXLEGACY:
return FileWriterFormat::NXmxLegacy;
case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXVDS:
return FileWriterFormat::NXmxVDS;
case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXINTEGRATED:
return FileWriterFormat::NXmxIntegrated;
case org::openapitools::server::model::File_writer_format::eFile_writer_format::CBF:
return FileWriterFormat::CBF;
case org::openapitools::server::model::File_writer_format::eFile_writer_format::TIFF:
@@ -875,6 +863,7 @@ PlotType ConvertPlotType(const std::optional<std::string>& input) {
if (input == "packets_received") return PlotType::PacketsReceived;
if (input == "max_pixel_value") return PlotType::MaxValue;
if (input == "resolution_estimate") return PlotType::ResolutionEstimate;
if (input == "indexing_time") return PlotType::IndexingTime;
if (input == "pixel_sum") return PlotType::PixelSum;
if (input == "processing_time") return PlotType::ImageProcessingTime;
if (input == "beam_center_x") return PlotType::RefinementBeamX;
@@ -1094,34 +1083,3 @@ DarkMaskSettings Convert(const org::openapitools::server::model::Dark_mask_setti
.Threshold_keV(input.getDetectorThresholdKeV());
return ret;
}
org::openapitools::server::model::Image_pusher_status Convert(const ImagePusherStatus& input) {
org::openapitools::server::model::Image_pusher_status ret;
ret.setAddr(input.address);
ret.setConnectedWriters(input.connected_writers);
org::openapitools::server::model::Image_pusher_type tmp;
switch (input.pusher_type) {
case ImagePusherType::HDF5:
tmp.setValue(org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::HDF5);
break;
case ImagePusherType::CBOR:
tmp.setValue(org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::CBOR);
break;
case ImagePusherType::TCP:
tmp.setValue(org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::TCP);
break;
case ImagePusherType::ZMQ:
tmp.setValue(org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::ZEROMQ);
break;
default:
tmp.setValue(org::openapitools::server::model::Image_pusher_type::eImage_pusher_type::NONE);
break;
}
ret.setPusherType(tmp);
if (input.images_written)
ret.setImagesWritten(input.images_written.value());
if (input.images_write_error)
ret.setImagesWriteError(input.images_write_error.value());
ret.setWriterFifoUtilization(input.writer_fifo_utilization);
return ret;
}

View File

@@ -5,7 +5,6 @@
#define JFJOCH_OPENAPICONVERT_H
#include "Dark_mask_settings.h"
#include "Image_pusher_status.h"
#include "gen/model/Spot_finding_settings.h"
#include "gen/model/Measurement_statistics.h"
#include "gen/model/Detector_settings.h"
@@ -40,7 +39,6 @@
#include "../jungfrau/JFCalibration.h"
#include "../common/InstrumentMetadata.h"
#include "../common/ScanResult.h"
#include "../image_pusher/ImagePusher.h"
SpotFindingSettings Convert(const org::openapitools::server::model::Spot_finding_settings &input);
org::openapitools::server::model::Spot_finding_settings Convert(const SpotFindingSettings &input);
@@ -94,6 +92,4 @@ org::openapitools::server::model::Scan_result Convert(const ScanResult& input);
org::openapitools::server::model::Dark_mask_settings Convert(const DarkMaskSettings& input);
DarkMaskSettings Convert(const org::openapitools::server::model::Dark_mask_settings& input);
org::openapitools::server::model::Image_pusher_status Convert(const ImagePusherStatus& input);
#endif //JFJOCH_OPENAPICONVERT_H

View File

@@ -0,0 +1,22 @@
/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ApiBase.h"
namespace org::openapitools::server::api
{
ApiBase::ApiBase(const std::shared_ptr<Pistache::Rest::Router>& rtr) : router(rtr)
{
}
} // Namespace org::openapitools::server::api

51
broker/gen/api/ApiBase.h Normal file
View File

@@ -0,0 +1,51 @@
/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ApiBase.h
*
* Generalization of the Api classes
*/
#ifndef ApiBase_H_
#define ApiBase_H_
#include <pistache/router.h>
#include <memory>
namespace org::openapitools::server::api
{
class ApiBase {
public:
explicit ApiBase(const std::shared_ptr<Pistache::Rest::Router>& rtr);
virtual ~ApiBase() = default;
virtual void init() = 0;
protected:
const std::shared_ptr<Pistache::Rest::Router> router;
};
} // namespace org::openapitools::server::api
#endif /* ApiBase_H_ */

File diff suppressed because it is too large Load Diff

625
broker/gen/api/DefaultApi.h Normal file
View File

@@ -0,0 +1,625 @@
/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* DefaultApi.h
*
*
*/
#ifndef DefaultApi_H_
#define DefaultApi_H_
#include "ApiBase.h"
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <optional>
#include <utility>
#include "Azim_int_settings.h"
#include "Broker_status.h"
#include "Calibration_statistics_inner.h"
#include "Dark_mask_settings.h"
#include "Dataset_settings.h"
#include "Detector_list.h"
#include "Detector_selection.h"
#include "Detector_settings.h"
#include "Detector_status.h"
#include "Error_message.h"
#include "File_writer_settings.h"
#include "Fpga_status_inner.h"
#include "Image_buffer_status.h"
#include "Image_format_settings.h"
#include "Indexing_settings.h"
#include "Instrument_metadata.h"
#include "Jfjoch_statistics.h"
#include "Measurement_statistics.h"
#include "Plots.h"
#include "Roi_definitions.h"
#include "Scan_result.h"
#include "Spot_finding_settings.h"
#include "Zeromq_metadata_settings.h"
#include "Zeromq_preview_settings.h"
#include <string>
#include <vector>
namespace org::openapitools::server::api
{
class DefaultApi : public ApiBase {
public:
explicit DefaultApi(const std::shared_ptr<Pistache::Rest::Router>& rtr);
~DefaultApi() override = default;
void init() override;
static const std::string base;
private:
void setupRoutes();
void cancel_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_azim_int_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_azim_int_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_dark_mask_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_dark_mask_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_detector_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_detector_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_file_writer_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_file_writer_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_image_format_conversion_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_image_format_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_image_format_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_image_format_raw_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_indexing_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_indexing_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_instrument_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_instrument_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_internal_generator_image_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_internal_generator_image_tiff_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_mask_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_mask_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_roi_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_roi_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_select_detector_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_select_detector_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_spot_finding_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_spot_finding_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_user_mask_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_user_mask_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_user_mask_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_user_mask_tiff_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_zeromq_metadata_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_zeromq_metadata_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_zeromq_preview_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void config_zeromq_preview_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void deactivate_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void detector_status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void fpga_status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_clear_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_cbor_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_jpeg_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_start_cbor_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void initialize_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void pedestal_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void preview_pedestal_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void preview_plot_bin_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void preview_plot_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void result_scan_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void start_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void statistics_calibration_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void statistics_data_collection_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void statistics_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void trigger_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void version_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void wait_till_done_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void xfel_event_code_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void xfel_pulse_id_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void default_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
/// <summary>
/// Helper function to handle unexpected Exceptions during Parameter parsing and validation.
/// May be overridden to return custom error formats. This is called inside a catch block.
/// Important: When overriding, do not call `throw ex;`, but instead use `throw;`.
/// </summary>
virtual void handleParsingException(const std::exception& ex, Pistache::Http::ResponseWriter &response) const noexcept;
/// <summary>
/// Helper function to handle unexpected Exceptions during Parameter parsing and validation.
/// May be overridden to return custom error formats. This is called inside a catch block.
/// Important: When overriding, do not call `throw ex;`, but instead use `throw;`.
/// </summary>
virtual std::pair<Pistache::Http::Code, std::string> handleParsingException(const std::exception& ex) const noexcept;
/// <summary>
/// Helper function to handle unexpected Exceptions during processing of the request in handler functions.
/// May be overridden to return custom error formats. This is called inside a catch block.
/// Important: When overriding, do not call `throw ex;`, but instead use `throw;`.
/// </summary>
virtual void handleOperationException(const std::exception& ex, Pistache::Http::ResponseWriter &response) const noexcept;
/// <summary>
/// Helper function to handle unexpected Exceptions during processing of the request in handler functions.
/// May be overridden to return custom error formats. This is called inside a catch block.
/// Important: When overriding, do not call `throw ex;`, but instead use `throw;`.
/// </summary>
virtual std::pair<Pistache::Http::Code, std::string> handleOperationException(const std::exception& ex) const noexcept;
/// <summary>
/// Cancel running data collection
/// </summary>
/// <remarks>
/// Command will inform FPGA network card to stop pedestal or data collection at the current stage. Any frame that is currently being processed by CPU will be finished and sent to writer. Given the command is making sure to gracefully stop data acquisition and detector, it might take some time to switch back after command finished to &#x60;Idle&#x60; state. If data collection is not running, the command has no effect.
/// </remarks>
virtual void cancel_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get azimuthal integration configuration
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_azim_int_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Configure azimuthal integration
/// </summary>
/// <remarks>
/// Can be done when detector is Inactive or Idle
/// </remarks>
/// <param name="azimIntSettings"> (optional)</param>
virtual void config_azim_int_put( const org::openapitools::server::model::Azim_int_settings &azimIntSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get settings for dark data collection to calculate mask
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void config_dark_mask_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Set configuration for dark data collection to calculate mask
/// </summary>
/// <remarks>
/// This is only possible when operating DECTRIS detectors at the moment; it will be also available for PSI EIGER at some point. This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
/// <param name="darkMaskSettings"> (optional)</param>
virtual void config_dark_mask_put( const org::openapitools::server::model::Dark_mask_settings &darkMaskSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get detector configuration
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_detector_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Change detector configuration
/// </summary>
/// <remarks>
/// Detector settings are ones that have effect on calibration, i.e., pedestal has to be collected again after changing these settings. This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states. If detector is in &#x60;Idle&#x60; state , pedestal procedure will be executed automatically - there must be no X-rays on the detector during the operation. If detector is in &#x60;Inactive&#x60; or &#x60;Error&#x60; states, new settings will be saved, but no calibration will be executed.
/// </remarks>
/// <param name="detectorSettings"> (optional)</param>
virtual void config_detector_put( const org::openapitools::server::model::Detector_settings &detectorSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get file writer settings
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_file_writer_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Change file writer settings
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
/// <param name="fileWriterSettings"> (optional)</param>
virtual void config_file_writer_put( const org::openapitools::server::model::File_writer_settings &fileWriterSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Configure format for data collection with full conversion
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
virtual void config_image_format_conversion_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get image output format
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_image_format_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Change image output format
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
/// <param name="imageFormatSettings"> (optional)</param>
virtual void config_image_format_put( const org::openapitools::server::model::Image_format_settings &imageFormatSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Configure format for raw data collection
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
virtual void config_image_format_raw_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get indexing configuration
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_indexing_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Change indexing algorithm settings
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
/// <param name="indexingSettings"> (optional)</param>
virtual void config_indexing_put( const org::openapitools::server::model::Indexing_settings &indexingSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get instrument metadata
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_instrument_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Change instrument metadata
/// </summary>
/// <remarks>
/// This can only be done when detector is &#x60;Idle&#x60;, &#x60;Error&#x60; or &#x60;Inactive&#x60; states.
/// </remarks>
/// <param name="instrumentMetadata"> (optional)</param>
virtual void config_instrument_put( const org::openapitools::server::model::Instrument_metadata &instrumentMetadata, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Load binary image for internal FPGA generator
/// </summary>
/// <remarks>
/// Load image for internal FPGA generator. This can only happen in Idle state of the detector. Requires binary blob with 16-bit integer numbers of size of detector in raw/converted coordinates (depending on detector settings).
/// </remarks>
virtual void config_internal_generator_image_put(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Load TIFF image for internal FPGA generator
/// </summary>
/// <remarks>
/// Load image for internal FPGA generator. This can only happen in Idle state of the detector. Requires TIFF with 16-bit integer numbers of size of detector in raw/converted coordinates (depending on detector settings).
/// </remarks>
virtual void config_internal_generator_image_tiff_put(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get mask of the detector (binary)
/// </summary>
/// <remarks>
/// Detector must be Initialized. Get full pixel mask of the detector. See NXmx standard for meaning of pixel values.
/// </remarks>
virtual void config_mask_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get mask of the detector (TIFF)
/// </summary>
/// <remarks>
/// Should be in &#x60;Idle&#x60; state. Get full pixel mask of the detector See NXmx standard for meaning of pixel values
/// </remarks>
virtual void config_mask_tiff_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get ROI definitions
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void config_roi_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Upload ROI definitions
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="roiDefinitions"> (optional)</param>
virtual void config_roi_put( const org::openapitools::server::model::Roi_definitions &roiDefinitions, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// List available detectors
/// </summary>
/// <remarks>
/// Configured detectors that can be selected by used
/// </remarks>
virtual void config_select_detector_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Select detector
/// </summary>
/// <remarks>
/// Jungfraujoch allows to control multiple detectors and/or region-of-interests. The command allows to choose one detector from the list (ID has to be consistent with one provided by GET response). Changing detector will set detector to &#x60;Inactive&#x60; state and will require reinitialization.
/// </remarks>
/// <param name="detectorSelection"> (optional)</param>
virtual void config_select_detector_put( const org::openapitools::server::model::Detector_selection &detectorSelection, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get data processing configuration
/// </summary>
/// <remarks>
/// Can be done anytime
/// </remarks>
virtual void config_spot_finding_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Configure spot finding
/// </summary>
/// <remarks>
/// Can be done anytime, also while data collection is running
/// </remarks>
/// <param name="spotFindingSettings"> (optional)</param>
virtual void config_spot_finding_put( const org::openapitools::server::model::Spot_finding_settings &spotFindingSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Detector must be Initialized. Get user mask of the detector (binary)
/// </summary>
/// <remarks>
/// Get user pixel mask of the detector in the actual detector coordinates: 0 - good pixel, 1 - masked
/// </remarks>
virtual void config_user_mask_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Upload user mask of the detector (binary)
/// </summary>
/// <remarks>
/// Should be in &#x60;Idle&#x60; state. Upload user mask of the detector - this is for example to account for beam stop shadow or misbehaving regions. If detector is conversion mode the mask can be both in raw (1024x512; stacked modules) or converted coordinates. In the latter case - module gaps are ignored and don&#39;t need to be assigned value. Mask is expected as binary array (4-byte; unsigned). 0 - good pixel, other value - masked User mask is stored in NXmx pixel mask (bit 8), as well as used in spot finding and azimuthal integration.
/// </remarks>
virtual void config_user_mask_put(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Detector must be Initialized. Get user mask of the detector (TIFF)
/// </summary>
/// <remarks>
/// Get user pixel mask of the detector in the actual detector coordinates: 0 - good pixel, 1 - masked
/// </remarks>
virtual void config_user_mask_tiff_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Upload user mask of the detector
/// </summary>
/// <remarks>
/// Should be in &#x60;Idle&#x60; state. Upload user mask of the detector - this is for example to account for beam stop shadow or misbehaving regions. If detector is conversion mode the mask can be both in raw (1024x512; stacked modules) or converted coordinates. In the latter case - module gaps are ignored and don&#39;t need to be assigned value. Mask is expected as TIFF (4-byte; unsigned). 0 - good pixel, other value - masked User mask is stored in NXmx pixel mask (bit 8), as well as used in spot finding and azimuthal integration. User mask is not automatically applied - i.e. pixels with user mask will have a valid pixel value in the images.
/// </remarks>
virtual void config_user_mask_tiff_put(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get ZeroMQ metadata socket settings
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void config_zeromq_metadata_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Set ZeroMQ metadata settings
/// </summary>
/// <remarks>
/// Jungfraujoch can generate metadata message stream on ZeroMQ PUB socket. This stream covers all images. Here settings of the socket can be adjusted. While the data structure contains also socket_address, this cannot be changed via HTTP and is ignore in PUT request.
/// </remarks>
/// <param name="zeromqMetadataSettings"> (optional)</param>
virtual void config_zeromq_metadata_put( const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get ZeroMQ preview settings
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void config_zeromq_preview_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Set ZeroMQ preview settings
/// </summary>
/// <remarks>
/// Jungfraujoch can generate preview message stream on ZeroMQ SUB socket. Here settings of the socket can be adjusted. While the data structure contains also socket_address, this cannot be changed via HTTP and is ignore in PUT request. Options set with this PUT request have no effect on HTTP based preview.
/// </remarks>
/// <param name="zeromqPreviewSettings"> (optional)</param>
virtual void config_zeromq_preview_put( const org::openapitools::server::model::Zeromq_preview_settings &zeromqPreviewSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Prepare detector to turn off
/// </summary>
/// <remarks>
/// Should be in &#x60;Idle&#x60; or &#x60;Error&#x60; state. Command deactivates data acquisition and turns off detector high voltage and ASIC. Should be used always before turning off power from the detector.
/// </remarks>
virtual void deactivate_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get detector status
/// </summary>
/// <remarks>
/// Status of the JUNGFRAU detector
/// </remarks>
virtual void detector_status_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get status of FPGA devices
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void fpga_status_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Clear image buffer
/// </summary>
/// <remarks>
/// Turns off image buffer for the last data collection. Can be only run when Jungfraujoch is not collecting data.
/// </remarks>
virtual void image_buffer_clear_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get image message in CBOR format
/// </summary>
/// <remarks>
/// Contains full image data and metadata. The image must come from the latest data collection.
/// </remarks>
/// <param name="id">Image ID in the image buffer. Special values: -1 - last image in the buffer, -2: last indexed image in the buffer (optional, default to -1L)</param>
virtual void image_buffer_image_cbor_get( const std::optional<int64_t> &id, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get preview image in JPEG format using custom settings
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="id">Image ID in the image buffer. Special values: -1 - last image in the buffer, -2: last indexed image in the buffer (optional, default to -1L)</param>
/// <param name="showUserMask">Show user mask (optional, default to false)</param>
/// <param name="showRoi">Show ROI areas on the image (optional, default to false)</param>
/// <param name="showSpots">Show spot finding results on the image (optional, default to true)</param>
/// <param name="showBeamCenter">Show beam center on the image (optional, default to true)</param>
/// <param name="saturation">Saturation value to set contrast in the preview image; if not provided, then autocontrast procedure is used (optional, default to 0.0f)</param>
/// <param name="jpegQuality">Quality of JPEG image (100 - highest; 0 - lowest) (optional, default to 100L)</param>
/// <param name="showResRing">Show resolution ring, provided in Angstrom (optional, default to 0.1f)</param>
/// <param name="color">Color scale for preview image (optional, default to &quot;indigo&quot;)</param>
/// <param name="showResEst">Show resolution estimation as a ring (optional, default to false)</param>
virtual void image_buffer_image_jpeg_get( const std::optional<int64_t> &id, const std::optional<bool> &showUserMask, const std::optional<bool> &showRoi, const std::optional<bool> &showSpots, const std::optional<bool> &showBeamCenter, const std::optional<float> &saturation, const std::optional<int64_t> &jpegQuality, const std::optional<float> &showResRing, const std::optional<std::string> &color, const std::optional<bool> &showResEst, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get preview image in TIFF format
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="id">Image ID in the image buffer. Special values: -1 - last image in the buffer, -2: last indexed image in the buffer (optional, default to -1L)</param>
virtual void image_buffer_image_tiff_get( const std::optional<int64_t> &id, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get Start message in CBOR format
/// </summary>
/// <remarks>
/// Contains metadata for a dataset (e.g., experimental geometry)
/// </remarks>
virtual void image_buffer_start_cbor_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get status of the image buffers
/// </summary>
/// <remarks>
/// Can be run at any stage of Jungfraujoch operation, including during data collection. The status of the image buffer is volatile during data collection - if data collection goes for more images than available buffer slots, then image might be replaced in the buffer between calling /images and /image.cbor.
/// </remarks>
virtual void image_buffer_status_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Initialize detector and data acquisition
/// </summary>
/// <remarks>
/// Should be used in two cases: - Detector is in &#x60;Inactive&#x60; state - Detector is in &#x60;Error&#x60; state X-ray shutter must be closed. This operation will reconfigure network interface of the detector. During operation of the detector it is recommended to use the &#x60;POST /pedestal&#x60; operation instead. If storage cells are used, the execution time might be few minutes. This is async function - one needs to use &#x60;POST /wait_till_done&#x60; to ensure operation is done.
/// </remarks>
virtual void initialize_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Collect dark current for the detector
/// </summary>
/// <remarks>
/// Updates calibration of the JUNGFRAU detector. Must be in &#x60;Idle&#x60; state. X-ray shutter must be closed. Recommended to run once per hour for long integration times (&gt; 100 us). This is async function - one needs to use &#x60;POST /wait_till_done&#x60; to ensure operation is done.
/// </remarks>
virtual void pedestal_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get pedestal in TIFF format
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="gainLevel">Gain level (0, 1, 2)</param>
/// <param name="sc">Storage cell number (optional, default to 0)</param>
virtual void preview_pedestal_tiff_get( const std::optional<int32_t> &gainLevel, const std::optional<int32_t> &sc, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn&#39;t transmit information about X-axis, only values, so it is of limited use for azimuthal integration.
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="type">Type of requested plot</param>
/// <param name="roi">Name of ROI for which plot is requested (optional, default to &quot;&quot;)</param>
virtual void preview_plot_bin_get( const std::optional<std::string> &type, const std::optional<std::string> &roi, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Generate 1D plot from Jungfraujoch
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="type">Type of requested plot</param>
/// <param name="binning">Binning of frames for the plot (0 &#x3D; default binning) (optional, default to 1)</param>
/// <param name="compression">Enable DEFLATE compression of output data. (optional, default to false)</param>
/// <param name="fill">Fill value for elements that were missed during data collection (optional, default to 0.0f)</param>
/// <param name="experimentalCoord">If measurement has goniometer axis defined, plot X-axis will represent rotation angle If measurement has grid scan defined, plot X-axis and Y-axis will represent grid position, Z will be used as the final value For still measurement the number is ignored (optional, default to false)</param>
/// <param name="azintUnit">Unit used for azim int. (optional, default to &quot;Q_recipA&quot;)</param>
virtual void preview_plot_get( const std::optional<std::string> &type, const std::optional<int32_t> &binning, const std::optional<bool> &compression, const std::optional<float> &fill, const std::optional<bool> &experimentalCoord, const std::optional<std::string> &azintUnit, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get full scan result
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void result_scan_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Start detector
/// </summary>
/// <remarks>
/// Start data acquisition. Detector must be in &#x60;Idle&#x60; state. Doesn&#39;t run calibration procedure. When the function returns, detector is ready to accept soft/TTL triggers.
/// </remarks>
/// <param name="datasetSettings"> (optional)</param>
virtual void start_post( const org::openapitools::server::model::Dataset_settings &datasetSettings, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get calibration statistics
/// </summary>
/// <remarks>
/// Statistics are provided for each module/storage cell separately
/// </remarks>
virtual void statistics_calibration_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get data collection statistics
/// </summary>
/// <remarks>
/// Results of the last data collection
/// </remarks>
virtual void statistics_data_collection_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get general statistics
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="compression">Enable DEFLATE compression of output data. (optional, default to false)</param>
virtual void statistics_get( const std::optional<bool> &compression, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get Jungfraujoch status
/// </summary>
/// <remarks>
/// Status of the data acquisition
/// </remarks>
virtual void status_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Send soft trigger to the detector
/// </summary>
/// <remarks>
/// Generate soft trigger
/// </remarks>
virtual void trigger_post( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get Jungfraujoch version of jfjoch_broker
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void version_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Wait for acquisition done
/// </summary>
/// <remarks>
/// Block execution of external script till initialization, data collection or pedestal is finished. Running this command does not affect (cancel) running data collection, it is only to ensure synchronous execution of other software. To not block web server for a indefinite period of time, the procedure is provided with a timeout. Extending timeout is possible, but requires to ensure safety that client will not close the connection and retry the connection.
/// </remarks>
/// <param name="timeout">Timeout in seconds (0 &#x3D;&#x3D; immediate response) (optional, default to 60)</param>
virtual void wait_till_done_post( const std::optional<int32_t> &timeout, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Return XFEL event codes for the current data acquisition
/// </summary>
/// <remarks>
/// Return array of XFEL event codes
/// </remarks>
virtual void xfel_event_code_get( Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Return XFEL pulse IDs for the current data acquisition
/// </summary>
/// <remarks>
/// Return array of XFEL pulse IDs - (-1) if image not recorded
/// </remarks>
virtual void xfel_pulse_id_get( Pistache::Http::ResponseWriter &response) = 0;
};
} // namespace org::openapitools::server::api
#endif /* DefaultApi_H_ */

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -30,8 +30,6 @@ Broker_status::Broker_status()
m_Message_severityIsSet = false;
m_Gpu_count = 0;
m_Gpu_countIsSet = false;
m_Broker_version = "";
m_Broker_versionIsSet = false;
}
@@ -73,7 +71,7 @@ bool Broker_status::validate(std::stringstream& msg, const std::string& pathPref
}
}
return success;
}
@@ -95,10 +93,7 @@ bool Broker_status::operator==(const Broker_status& rhs) const
((!messageSeverityIsSet() && !rhs.messageSeverityIsSet()) || (messageSeverityIsSet() && rhs.messageSeverityIsSet() && getMessageSeverity() == rhs.getMessageSeverity())) &&
((!gpuCountIsSet() && !rhs.gpuCountIsSet()) || (gpuCountIsSet() && rhs.gpuCountIsSet() && getGpuCount() == rhs.getGpuCount())) &&
((!brokerVersionIsSet() && !rhs.brokerVersionIsSet()) || (brokerVersionIsSet() && rhs.brokerVersionIsSet() && getBrokerVersion() == rhs.getBrokerVersion()))
((!gpuCountIsSet() && !rhs.gpuCountIsSet()) || (gpuCountIsSet() && rhs.gpuCountIsSet() && getGpuCount() == rhs.getGpuCount()))
;
}
@@ -120,8 +115,6 @@ void to_json(nlohmann::json& j, const Broker_status& o)
j["message_severity"] = o.m_Message_severity;
if(o.gpuCountIsSet())
j["gpu_count"] = o.m_Gpu_count;
if(o.brokerVersionIsSet())
j["broker_version"] = o.m_Broker_version;
}
@@ -148,11 +141,6 @@ void from_json(const nlohmann::json& j, Broker_status& o)
j.at("gpu_count").get_to(o.m_Gpu_count);
o.m_Gpu_countIsSet = true;
}
if(j.find("broker_version") != j.end())
{
j.at("broker_version").get_to(o.m_Broker_version);
o.m_Broker_versionIsSet = true;
}
}
@@ -232,23 +220,6 @@ void Broker_status::unsetGpu_count()
{
m_Gpu_countIsSet = false;
}
std::string Broker_status::getBrokerVersion() const
{
return m_Broker_version;
}
void Broker_status::setBrokerVersion(std::string const& value)
{
m_Broker_version = value;
m_Broker_versionIsSet = true;
}
bool Broker_status::brokerVersionIsSet() const
{
return m_Broker_versionIsSet;
}
void Broker_status::unsetBroker_version()
{
m_Broker_versionIsSet = false;
}
} // namespace org::openapitools::server::model

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -91,13 +91,6 @@ public:
void setGpuCount(int32_t const value);
bool gpuCountIsSet() const;
void unsetGpu_count();
/// <summary>
/// Version of the jfjoch_broker
/// </summary>
std::string getBrokerVersion() const;
void setBrokerVersion(std::string const& value);
bool brokerVersionIsSet() const;
void unsetBroker_version();
friend void to_json(nlohmann::json& j, const Broker_status& o);
friend void from_json(const nlohmann::json& j, Broker_status& o);
@@ -112,8 +105,6 @@ protected:
bool m_Message_severityIsSet;
int32_t m_Gpu_count;
bool m_Gpu_countIsSet;
std::string m_Broker_version;
bool m_Broker_versionIsSet;
};

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -75,8 +75,8 @@ void to_json(nlohmann::json& j, const File_writer_format& o)
case File_writer_format::eFile_writer_format::INVALID_VALUE_OPENAPI_GENERATED:
j = "INVALID_VALUE_OPENAPI_GENERATED";
break;
case File_writer_format::eFile_writer_format::NXMXONLYDATA:
j = "NXmxOnlyData";
case File_writer_format::eFile_writer_format::NONE:
j = "None";
break;
case File_writer_format::eFile_writer_format::NXMXLEGACY:
j = "NXmxLegacy";
@@ -84,9 +84,6 @@ void to_json(nlohmann::json& j, const File_writer_format& o)
case File_writer_format::eFile_writer_format::NXMXVDS:
j = "NXmxVDS";
break;
case File_writer_format::eFile_writer_format::NXMXINTEGRATED:
j = "NXmxIntegrated";
break;
case File_writer_format::eFile_writer_format::CBF:
j = "CBF";
break;
@@ -103,8 +100,8 @@ void from_json(const nlohmann::json& j, File_writer_format& o)
{
auto s = j.get<std::string>();
if (s == "NXmxOnlyData") {
o.setValue(File_writer_format::eFile_writer_format::NXMXONLYDATA);
if (s == "None") {
o.setValue(File_writer_format::eFile_writer_format::NONE);
}
else if (s == "NXmxLegacy") {
o.setValue(File_writer_format::eFile_writer_format::NXMXLEGACY);
@@ -112,9 +109,6 @@ void from_json(const nlohmann::json& j, File_writer_format& o)
else if (s == "NXmxVDS") {
o.setValue(File_writer_format::eFile_writer_format::NXMXVDS);
}
else if (s == "NXmxIntegrated") {
o.setValue(File_writer_format::eFile_writer_format::NXMXINTEGRATED);
}
else if (s == "CBF") {
o.setValue(File_writer_format::eFile_writer_format::CBF);
}

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -12,7 +12,7 @@
/*
* File_writer_format.h
*
* NoFileWritten - no files are written at all NXmxOnlyData - only data files are written, no master file NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling NXmxIntegrated - single HDF5 per dataset CBF - CBF format (limited metadata) TIFF - TIFF format (no metadata)
* None - no master file written NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling
*/
#ifndef File_writer_format_H_
@@ -25,7 +25,7 @@ namespace org::openapitools::server::model
{
/// <summary>
/// NoFileWritten - no files are written at all NXmxOnlyData - only data files are written, no master file NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling NXmxIntegrated - single HDF5 per dataset CBF - CBF format (limited metadata) TIFF - TIFF format (no metadata)
/// None - no master file written NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling
/// </summary>
class File_writer_format
{
@@ -38,10 +38,9 @@ public:
// Avoiding name clashes with user defined
// enum values
INVALID_VALUE_OPENAPI_GENERATED = 0,
NXMXONLYDATA,
NONE,
NXMXLEGACY,
NXMXVDS,
NXMXINTEGRATED,
CBF,
TIFF,
NOFILEWRITTEN

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -25,8 +25,6 @@ Image_buffer_status::Image_buffer_status()
m_Max_image_number = 0L;
m_Total_slots = 0L;
m_Available_slots = 0L;
m_In_preparation_slots = 0L;
m_In_sending_slots = 0L;
m_Current_counter = 0L;
m_Current_counterIsSet = false;
@@ -100,7 +98,7 @@ bool Image_buffer_status::validate(std::stringstream& msg, const std::string& pa
}
}
return success;
}
@@ -124,12 +122,6 @@ bool Image_buffer_status::operator==(const Image_buffer_status& rhs) const
(getAvailableSlots() == rhs.getAvailableSlots())
&&
(getInPreparationSlots() == rhs.getInPreparationSlots())
&&
(getInSendingSlots() == rhs.getInSendingSlots())
&&
((!currentCounterIsSet() && !rhs.currentCounterIsSet()) || (currentCounterIsSet() && rhs.currentCounterIsSet() && getCurrentCounter() == rhs.getCurrentCounter()))
@@ -149,8 +141,6 @@ void to_json(nlohmann::json& j, const Image_buffer_status& o)
j["image_numbers"] = o.m_Image_numbers;
j["total_slots"] = o.m_Total_slots;
j["available_slots"] = o.m_Available_slots;
j["in_preparation_slots"] = o.m_In_preparation_slots;
j["in_sending_slots"] = o.m_In_sending_slots;
if(o.currentCounterIsSet())
j["current_counter"] = o.m_Current_counter;
@@ -163,8 +153,6 @@ void from_json(const nlohmann::json& j, Image_buffer_status& o)
j.at("image_numbers").get_to(o.m_Image_numbers);
j.at("total_slots").get_to(o.m_Total_slots);
j.at("available_slots").get_to(o.m_Available_slots);
j.at("in_preparation_slots").get_to(o.m_In_preparation_slots);
j.at("in_sending_slots").get_to(o.m_In_sending_slots);
if(j.find("current_counter") != j.end())
{
j.at("current_counter").get_to(o.m_Current_counter);
@@ -213,22 +201,6 @@ void Image_buffer_status::setAvailableSlots(int64_t const value)
{
m_Available_slots = value;
}
int64_t Image_buffer_status::getInPreparationSlots() const
{
return m_In_preparation_slots;
}
void Image_buffer_status::setInPreparationSlots(int64_t const value)
{
m_In_preparation_slots = value;
}
int64_t Image_buffer_status::getInSendingSlots() const
{
return m_In_sending_slots;
}
void Image_buffer_status::setInSendingSlots(int64_t const value)
{
m_In_sending_slots = value;
}
int64_t Image_buffer_status::getCurrentCounter() const
{
return m_Current_counter;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -84,16 +84,6 @@ public:
int64_t getAvailableSlots() const;
void setAvailableSlots(int64_t const value);
/// <summary>
/// Number of slots in the image buffer that are currently in preparation for sending.
/// </summary>
int64_t getInPreparationSlots() const;
void setInPreparationSlots(int64_t const value);
/// <summary>
/// Number of slots in the image buffer that are currently sending/writing data.
/// </summary>
int64_t getInSendingSlots() const;
void setInSendingSlots(int64_t const value);
/// <summary>
/// Counter of changes in the image buffer - either new start message or new image added. For optimization one can only load new images/datasets from the HTTP if this value changes. Counter is optional as it was not implemented in older versions to avoid breaking change
/// </summary>
int64_t getCurrentCounter() const;
@@ -114,10 +104,6 @@ protected:
int64_t m_Available_slots;
int64_t m_In_preparation_slots;
int64_t m_In_sending_slots;
int64_t m_Current_counter;
bool m_Current_counterIsSet;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -1,292 +0,0 @@
/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "Image_pusher_status.h"
#include "Helpers.h"
#include <sstream>
namespace org::openapitools::server::model
{
Image_pusher_status::Image_pusher_status()
{
m_Connected_writers = 0L;
m_Images_written = 0L;
m_Images_writtenIsSet = false;
m_Images_write_error = 0L;
m_Images_write_errorIsSet = false;
m_Writer_fifo_utilizationIsSet = false;
}
void Image_pusher_status::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Image_pusher_status::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Image_pusher_status::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Image_pusher_status" : pathPrefix;
/* Addr */ {
const std::vector<std::string>& value = m_Addr;
const std::string currentValuePath = _pathPrefix + ".addr";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const std::string& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Connected_writers */ {
const int64_t& value = m_Connected_writers;
const std::string currentValuePath = _pathPrefix + ".connectedWriters";
if (value < 0ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0;";
}
}
if (imagesWrittenIsSet())
{
const int64_t& value = m_Images_written;
const std::string currentValuePath = _pathPrefix + ".imagesWritten";
if (value < 0ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0;";
}
}
if (imagesWriteErrorIsSet())
{
const int64_t& value = m_Images_write_error;
const std::string currentValuePath = _pathPrefix + ".imagesWriteError";
if (value < 0ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0;";
}
}
if (writerFifoUtilizationIsSet())
{
const std::vector<int64_t>& value = m_Writer_fifo_utilization;
const std::string currentValuePath = _pathPrefix + ".writerFifoUtilization";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const int64_t& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
if (value < 0ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0;";
}
i++;
}
}
}
return success;
}
bool Image_pusher_status::operator==(const Image_pusher_status& rhs) const
{
return
(getPusherType() == rhs.getPusherType())
&&
(getAddr() == rhs.getAddr())
&&
(getConnectedWriters() == rhs.getConnectedWriters())
&&
((!imagesWrittenIsSet() && !rhs.imagesWrittenIsSet()) || (imagesWrittenIsSet() && rhs.imagesWrittenIsSet() && getImagesWritten() == rhs.getImagesWritten())) &&
((!imagesWriteErrorIsSet() && !rhs.imagesWriteErrorIsSet()) || (imagesWriteErrorIsSet() && rhs.imagesWriteErrorIsSet() && getImagesWriteError() == rhs.getImagesWriteError())) &&
((!writerFifoUtilizationIsSet() && !rhs.writerFifoUtilizationIsSet()) || (writerFifoUtilizationIsSet() && rhs.writerFifoUtilizationIsSet() && getWriterFifoUtilization() == rhs.getWriterFifoUtilization()))
;
}
bool Image_pusher_status::operator!=(const Image_pusher_status& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Image_pusher_status& o)
{
j = nlohmann::json::object();
j["pusher_type"] = o.m_Pusher_type;
j["addr"] = o.m_Addr;
j["connected_writers"] = o.m_Connected_writers;
if(o.imagesWrittenIsSet())
j["images_written"] = o.m_Images_written;
if(o.imagesWriteErrorIsSet())
j["images_write_error"] = o.m_Images_write_error;
if(o.writerFifoUtilizationIsSet() || !o.m_Writer_fifo_utilization.empty())
j["writer_fifo_utilization"] = o.m_Writer_fifo_utilization;
}
void from_json(const nlohmann::json& j, Image_pusher_status& o)
{
j.at("pusher_type").get_to(o.m_Pusher_type);
j.at("addr").get_to(o.m_Addr);
j.at("connected_writers").get_to(o.m_Connected_writers);
if(j.find("images_written") != j.end())
{
j.at("images_written").get_to(o.m_Images_written);
o.m_Images_writtenIsSet = true;
}
if(j.find("images_write_error") != j.end())
{
j.at("images_write_error").get_to(o.m_Images_write_error);
o.m_Images_write_errorIsSet = true;
}
if(j.find("writer_fifo_utilization") != j.end())
{
j.at("writer_fifo_utilization").get_to(o.m_Writer_fifo_utilization);
o.m_Writer_fifo_utilizationIsSet = true;
}
}
org::openapitools::server::model::Image_pusher_type Image_pusher_status::getPusherType() const
{
return m_Pusher_type;
}
void Image_pusher_status::setPusherType(org::openapitools::server::model::Image_pusher_type const& value)
{
m_Pusher_type = value;
}
std::vector<std::string> Image_pusher_status::getAddr() const
{
return m_Addr;
}
void Image_pusher_status::setAddr(std::vector<std::string> const& value)
{
m_Addr = value;
}
int64_t Image_pusher_status::getConnectedWriters() const
{
return m_Connected_writers;
}
void Image_pusher_status::setConnectedWriters(int64_t const value)
{
m_Connected_writers = value;
}
int64_t Image_pusher_status::getImagesWritten() const
{
return m_Images_written;
}
void Image_pusher_status::setImagesWritten(int64_t const value)
{
m_Images_written = value;
m_Images_writtenIsSet = true;
}
bool Image_pusher_status::imagesWrittenIsSet() const
{
return m_Images_writtenIsSet;
}
void Image_pusher_status::unsetImages_written()
{
m_Images_writtenIsSet = false;
}
int64_t Image_pusher_status::getImagesWriteError() const
{
return m_Images_write_error;
}
void Image_pusher_status::setImagesWriteError(int64_t const value)
{
m_Images_write_error = value;
m_Images_write_errorIsSet = true;
}
bool Image_pusher_status::imagesWriteErrorIsSet() const
{
return m_Images_write_errorIsSet;
}
void Image_pusher_status::unsetImages_write_error()
{
m_Images_write_errorIsSet = false;
}
std::vector<int64_t> Image_pusher_status::getWriterFifoUtilization() const
{
return m_Writer_fifo_utilization;
}
void Image_pusher_status::setWriterFifoUtilization(std::vector<int64_t> const value)
{
m_Writer_fifo_utilization = value;
m_Writer_fifo_utilizationIsSet = true;
}
bool Image_pusher_status::writerFifoUtilizationIsSet() const
{
return m_Writer_fifo_utilizationIsSet;
}
void Image_pusher_status::unsetWriter_fifo_utilization()
{
m_Writer_fifo_utilizationIsSet = false;
}
} // namespace org::openapitools::server::model

View File

@@ -1,120 +0,0 @@
/**
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Image_pusher_status.h
*
* Informs about status of the image pusher.
*/
#ifndef Image_pusher_status_H_
#define Image_pusher_status_H_
#include "Image_pusher_type.h"
#include <string>
#include <vector>
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
/// Informs about status of the image pusher.
/// </summary>
class Image_pusher_status
{
public:
Image_pusher_status();
virtual ~Image_pusher_status() = default;
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes an error
/// message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and calls it's validate.
/// Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const Image_pusher_status& rhs) const;
bool operator!=(const Image_pusher_status& rhs) const;
/////////////////////////////////////////////
/// Image_pusher_status members
/// <summary>
///
/// </summary>
org::openapitools::server::model::Image_pusher_type getPusherType() const;
void setPusherType(org::openapitools::server::model::Image_pusher_type const& value);
/// <summary>
/// List of addresses of image pushers. For HDF5 socket - no addresses will be returned. For ZeroMQ - list of addresses for each socket will be provided. For TCP/IP - single address to connect all writers will be provided.
/// </summary>
std::vector<std::string> getAddr() const;
void setAddr(std::vector<std::string> const& value);
/// <summary>
/// Number of connected writers For ZeroMQ image socket: number is constant For TCP/IP image socket: number is updated live during operation
/// </summary>
int64_t getConnectedWriters() const;
void setConnectedWriters(int64_t const value);
/// <summary>
/// Number of images written to the image socket. This number is updated live during operation for TCP/IP image socket and direct HDF5 writer. It is updated at the end of experiment for ZeroMQ image socket.
/// </summary>
int64_t getImagesWritten() const;
void setImagesWritten(int64_t const value);
bool imagesWrittenIsSet() const;
void unsetImages_written();
/// <summary>
/// Number of images that could not be written to the image socket. This number is updated live during operation for TCP/IP image socket. No other socket use it.
/// </summary>
int64_t getImagesWriteError() const;
void setImagesWriteError(int64_t const value);
bool imagesWriteErrorIsSet() const;
void unsetImages_write_error();
/// <summary>
/// Utilization of internal writer FIFO. This number is updated live during operation for TCP/IP image socket. No other socket use it.
/// </summary>
std::vector<int64_t> getWriterFifoUtilization() const;
void setWriterFifoUtilization(std::vector<int64_t> const value);
bool writerFifoUtilizationIsSet() const;
void unsetWriter_fifo_utilization();
friend void to_json(nlohmann::json& j, const Image_pusher_status& o);
friend void from_json(const nlohmann::json& j, Image_pusher_status& o);
protected:
org::openapitools::server::model::Image_pusher_type m_Pusher_type;
std::vector<std::string> m_Addr;
int64_t m_Connected_writers;
int64_t m_Images_written;
bool m_Images_writtenIsSet;
int64_t m_Images_write_error;
bool m_Images_write_errorIsSet;
std::vector<int64_t> m_Writer_fifo_utilization;
bool m_Writer_fifo_utilizationIsSet;
};
} // namespace org::openapitools::server::model
#endif /* Image_pusher_status_H_ */

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -84,9 +84,6 @@ void to_json(nlohmann::json& j, const Image_pusher_type& o)
case Image_pusher_type::eImage_pusher_type::CBOR:
j = "CBOR";
break;
case Image_pusher_type::eImage_pusher_type::TCP:
j = "TCP";
break;
case Image_pusher_type::eImage_pusher_type::NONE:
j = "None";
break;
@@ -106,9 +103,6 @@ void from_json(const nlohmann::json& j, Image_pusher_type& o)
else if (s == "CBOR") {
o.setValue(Image_pusher_type::eImage_pusher_type::CBOR);
}
else if (s == "TCP") {
o.setValue(Image_pusher_type::eImage_pusher_type::TCP);
}
else if (s == "None") {
o.setValue(Image_pusher_type::eImage_pusher_type::NONE);
} else {

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -41,7 +41,6 @@ public:
ZEROMQ,
HDF5,
CBOR,
TCP,
NONE
};

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -23,7 +23,6 @@ Jfjoch_settings::Jfjoch_settings()
{
m_PcieIsSet = false;
m_ZeromqIsSet = false;
m_TcpIsSet = false;
m_InstrumentIsSet = false;
m_File_writerIsSet = false;
m_IndexingIsSet = false;
@@ -39,6 +38,7 @@ Jfjoch_settings::Jfjoch_settings()
m_Numa_policy = "";
m_Numa_policyIsSet = false;
m_Frontend_directory = "";
m_SslIsSet = false;
m_Spot_findingIsSet = false;
m_Zeromq_previewIsSet = false;
m_Zeromq_metadataIsSet = false;
@@ -86,7 +86,7 @@ bool Jfjoch_settings::validate(std::stringstream& msg, const std::string& pathPr
}
}
/* Detector */ {
const std::vector<org::openapitools::server::model::Detector>& value = m_Detector;
@@ -140,7 +140,7 @@ bool Jfjoch_settings::validate(std::stringstream& msg, const std::string& pathPr
}
}
return success;
}
@@ -156,9 +156,6 @@ bool Jfjoch_settings::operator==(const Jfjoch_settings& rhs) const
((!zeromqIsSet() && !rhs.zeromqIsSet()) || (zeromqIsSet() && rhs.zeromqIsSet() && getZeromq() == rhs.getZeromq())) &&
((!tcpIsSet() && !rhs.tcpIsSet()) || (tcpIsSet() && rhs.tcpIsSet() && getTcp() == rhs.getTcp())) &&
((!instrumentIsSet() && !rhs.instrumentIsSet()) || (instrumentIsSet() && rhs.instrumentIsSet() && getInstrument() == rhs.getInstrument())) &&
@@ -195,6 +192,9 @@ bool Jfjoch_settings::operator==(const Jfjoch_settings& rhs) const
&&
((!sslIsSet() && !rhs.sslIsSet()) || (sslIsSet() && rhs.sslIsSet() && getSsl() == rhs.getSsl())) &&
((!spotFindingIsSet() && !rhs.spotFindingIsSet()) || (spotFindingIsSet() && rhs.spotFindingIsSet() && getSpotFinding() == rhs.getSpotFinding())) &&
(getImagePusher() == rhs.getImagePusher())
@@ -224,8 +224,6 @@ void to_json(nlohmann::json& j, const Jfjoch_settings& o)
j["pcie"] = o.m_Pcie;
if(o.zeromqIsSet())
j["zeromq"] = o.m_Zeromq;
if(o.tcpIsSet())
j["tcp"] = o.m_Tcp;
if(o.instrumentIsSet())
j["instrument"] = o.m_Instrument;
if(o.fileWriterIsSet())
@@ -248,6 +246,8 @@ void to_json(nlohmann::json& j, const Jfjoch_settings& o)
if(o.numaPolicyIsSet())
j["numa_policy"] = o.m_Numa_policy;
j["frontend_directory"] = o.m_Frontend_directory;
if(o.sslIsSet())
j["ssl"] = o.m_Ssl;
if(o.spotFindingIsSet())
j["spot_finding"] = o.m_Spot_finding;
j["image_pusher"] = o.m_Image_pusher;
@@ -272,11 +272,6 @@ void from_json(const nlohmann::json& j, Jfjoch_settings& o)
j.at("zeromq").get_to(o.m_Zeromq);
o.m_ZeromqIsSet = true;
}
if(j.find("tcp") != j.end())
{
j.at("tcp").get_to(o.m_Tcp);
o.m_TcpIsSet = true;
}
if(j.find("instrument") != j.end())
{
j.at("instrument").get_to(o.m_Instrument);
@@ -329,6 +324,11 @@ void from_json(const nlohmann::json& j, Jfjoch_settings& o)
o.m_Numa_policyIsSet = true;
}
j.at("frontend_directory").get_to(o.m_Frontend_directory);
if(j.find("ssl") != j.end())
{
j.at("ssl").get_to(o.m_Ssl);
o.m_SslIsSet = true;
}
if(j.find("spot_finding") != j.end())
{
j.at("spot_finding").get_to(o.m_Spot_finding);
@@ -387,23 +387,6 @@ void Jfjoch_settings::unsetZeromq()
{
m_ZeromqIsSet = false;
}
org::openapitools::server::model::Tcp_settings Jfjoch_settings::getTcp() const
{
return m_Tcp;
}
void Jfjoch_settings::setTcp(org::openapitools::server::model::Tcp_settings const& value)
{
m_Tcp = value;
m_TcpIsSet = true;
}
bool Jfjoch_settings::tcpIsSet() const
{
return m_TcpIsSet;
}
void Jfjoch_settings::unsetTcp()
{
m_TcpIsSet = false;
}
org::openapitools::server::model::Instrument_metadata Jfjoch_settings::getInstrument() const
{
return m_Instrument;
@@ -590,6 +573,23 @@ void Jfjoch_settings::setFrontendDirectory(std::string const& value)
{
m_Frontend_directory = value;
}
org::openapitools::server::model::Jfjoch_settings_ssl Jfjoch_settings::getSsl() const
{
return m_Ssl;
}
void Jfjoch_settings::setSsl(org::openapitools::server::model::Jfjoch_settings_ssl const& value)
{
m_Ssl = value;
m_SslIsSet = true;
}
bool Jfjoch_settings::sslIsSet() const
{
return m_SslIsSet;
}
void Jfjoch_settings::unsetSsl()
{
m_SslIsSet = false;
}
org::openapitools::server::model::Spot_finding_settings Jfjoch_settings::getSpotFinding() const
{
return m_Spot_finding;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -19,7 +19,6 @@
#define Jfjoch_settings_H_
#include "Tcp_settings.h"
#include "Spot_finding_settings.h"
#include "Zeromq_preview_settings.h"
#include "Dark_mask_settings.h"
@@ -36,6 +35,7 @@
#include "Image_pusher_type.h"
#include "Zeromq_settings.h"
#include "Instrument_metadata.h"
#include "Jfjoch_settings_ssl.h"
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
@@ -91,13 +91,6 @@ public:
/// <summary>
///
/// </summary>
org::openapitools::server::model::Tcp_settings getTcp() const;
void setTcp(org::openapitools::server::model::Tcp_settings const& value);
bool tcpIsSet() const;
void unsetTcp();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Instrument_metadata getInstrument() const;
void setInstrument(org::openapitools::server::model::Instrument_metadata const& value);
bool instrumentIsSet() const;
@@ -178,6 +171,13 @@ public:
/// <summary>
///
/// </summary>
org::openapitools::server::model::Jfjoch_settings_ssl getSsl() const;
void setSsl(org::openapitools::server::model::Jfjoch_settings_ssl const& value);
bool sslIsSet() const;
void unsetSsl();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Spot_finding_settings getSpotFinding() const;
void setSpotFinding(org::openapitools::server::model::Spot_finding_settings const& value);
bool spotFindingIsSet() const;
@@ -216,8 +216,6 @@ protected:
bool m_PcieIsSet;
org::openapitools::server::model::Zeromq_settings m_Zeromq;
bool m_ZeromqIsSet;
org::openapitools::server::model::Tcp_settings m_Tcp;
bool m_TcpIsSet;
org::openapitools::server::model::Instrument_metadata m_Instrument;
bool m_InstrumentIsSet;
org::openapitools::server::model::File_writer_settings m_File_writer;
@@ -242,6 +240,8 @@ protected:
bool m_Numa_policyIsSet;
std::string m_Frontend_directory;
org::openapitools::server::model::Jfjoch_settings_ssl m_Ssl;
bool m_SslIsSet;
org::openapitools::server::model::Spot_finding_settings m_Spot_finding;
bool m_Spot_findingIsSet;
org::openapitools::server::model::Image_pusher_type m_Image_pusher;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -40,7 +40,6 @@ Jfjoch_statistics::Jfjoch_statistics()
m_Az_intIsSet = false;
m_BufferIsSet = false;
m_IndexingIsSet = false;
m_Image_pusherIsSet = false;
}
@@ -105,7 +104,7 @@ bool Jfjoch_statistics::validate(std::stringstream& msg, const std::string& path
}
}
return success;
}
@@ -169,10 +168,7 @@ bool Jfjoch_statistics::operator==(const Jfjoch_statistics& rhs) const
((!bufferIsSet() && !rhs.bufferIsSet()) || (bufferIsSet() && rhs.bufferIsSet() && getBuffer() == rhs.getBuffer())) &&
((!indexingIsSet() && !rhs.indexingIsSet()) || (indexingIsSet() && rhs.indexingIsSet() && getIndexing() == rhs.getIndexing())) &&
((!imagePusherIsSet() && !rhs.imagePusherIsSet()) || (imagePusherIsSet() && rhs.imagePusherIsSet() && getImagePusher() == rhs.getImagePusher()))
((!indexingIsSet() && !rhs.indexingIsSet()) || (indexingIsSet() && rhs.indexingIsSet() && getIndexing() == rhs.getIndexing()))
;
}
@@ -223,8 +219,6 @@ void to_json(nlohmann::json& j, const Jfjoch_statistics& o)
j["buffer"] = o.m_Buffer;
if(o.indexingIsSet())
j["indexing"] = o.m_Indexing;
if(o.imagePusherIsSet())
j["image_pusher"] = o.m_Image_pusher;
}
@@ -325,11 +319,6 @@ void from_json(const nlohmann::json& j, Jfjoch_statistics& o)
j.at("indexing").get_to(o.m_Indexing);
o.m_IndexingIsSet = true;
}
if(j.find("image_pusher") != j.end())
{
j.at("image_pusher").get_to(o.m_Image_pusher);
o.m_Image_pusherIsSet = true;
}
}
@@ -656,23 +645,6 @@ void Jfjoch_statistics::unsetIndexing()
{
m_IndexingIsSet = false;
}
org::openapitools::server::model::Image_pusher_status Jfjoch_statistics::getImagePusher() const
{
return m_Image_pusher;
}
void Jfjoch_statistics::setImagePusher(org::openapitools::server::model::Image_pusher_status const& value)
{
m_Image_pusher = value;
m_Image_pusherIsSet = true;
}
bool Jfjoch_statistics::imagePusherIsSet() const
{
return m_Image_pusherIsSet;
}
void Jfjoch_statistics::unsetImage_pusher()
{
m_Image_pusherIsSet = false;
}
} // namespace org::openapitools::server::model

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -35,7 +35,6 @@
#include <vector>
#include "Indexing_settings.h"
#include "Detector_status.h"
#include "Image_pusher_status.h"
#include "Roi_definitions.h"
#include "Fpga_status_inner.h"
#include "Image_buffer_status.h"
@@ -211,13 +210,6 @@ public:
void setIndexing(org::openapitools::server::model::Indexing_settings const& value);
bool indexingIsSet() const;
void unsetIndexing();
/// <summary>
///
/// </summary>
org::openapitools::server::model::Image_pusher_status getImagePusher() const;
void setImagePusher(org::openapitools::server::model::Image_pusher_status const& value);
bool imagePusherIsSet() const;
void unsetImage_pusher();
friend void to_json(nlohmann::json& j, const Jfjoch_statistics& o);
friend void from_json(const nlohmann::json& j, Jfjoch_statistics& o);
@@ -260,8 +252,6 @@ protected:
bool m_BufferIsSet;
org::openapitools::server::model::Indexing_settings m_Indexing;
bool m_IndexingIsSet;
org::openapitools::server::model::Image_pusher_status m_Image_pusher;
bool m_Image_pusherIsSet;
};

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -33,8 +33,6 @@ Measurement_statistics::Measurement_statistics()
m_Images_collectedIsSet = false;
m_Images_sent = 0L;
m_Images_sentIsSet = false;
m_Images_written = 0L;
m_Images_writtenIsSet = false;
m_Images_discarded_lossy_compression = 0L;
m_Images_discarded_lossy_compressionIsSet = false;
m_Max_image_number_sent = 0L;
@@ -89,7 +87,7 @@ bool Measurement_statistics::validate(std::stringstream& msg, const std::string&
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Measurement_statistics" : pathPrefix;
if (collectionEfficiencyIsSet())
{
const float& value = m_Collection_efficiency;
@@ -150,9 +148,6 @@ bool Measurement_statistics::operator==(const Measurement_statistics& rhs) const
((!imagesSentIsSet() && !rhs.imagesSentIsSet()) || (imagesSentIsSet() && rhs.imagesSentIsSet() && getImagesSent() == rhs.getImagesSent())) &&
((!imagesWrittenIsSet() && !rhs.imagesWrittenIsSet()) || (imagesWrittenIsSet() && rhs.imagesWrittenIsSet() && getImagesWritten() == rhs.getImagesWritten())) &&
((!imagesDiscardedLossyCompressionIsSet() && !rhs.imagesDiscardedLossyCompressionIsSet()) || (imagesDiscardedLossyCompressionIsSet() && rhs.imagesDiscardedLossyCompressionIsSet() && getImagesDiscardedLossyCompression() == rhs.getImagesDiscardedLossyCompression())) &&
@@ -223,8 +218,6 @@ void to_json(nlohmann::json& j, const Measurement_statistics& o)
j["images_collected"] = o.m_Images_collected;
if(o.imagesSentIsSet())
j["images_sent"] = o.m_Images_sent;
if(o.imagesWrittenIsSet())
j["images_written"] = o.m_Images_written;
if(o.imagesDiscardedLossyCompressionIsSet())
j["images_discarded_lossy_compression"] = o.m_Images_discarded_lossy_compression;
if(o.maxImageNumberSentIsSet())
@@ -292,11 +285,6 @@ void from_json(const nlohmann::json& j, Measurement_statistics& o)
j.at("images_sent").get_to(o.m_Images_sent);
o.m_Images_sentIsSet = true;
}
if(j.find("images_written") != j.end())
{
j.at("images_written").get_to(o.m_Images_written);
o.m_Images_writtenIsSet = true;
}
if(j.find("images_discarded_lossy_compression") != j.end())
{
j.at("images_discarded_lossy_compression").get_to(o.m_Images_discarded_lossy_compression);
@@ -482,23 +470,6 @@ void Measurement_statistics::unsetImages_sent()
{
m_Images_sentIsSet = false;
}
int64_t Measurement_statistics::getImagesWritten() const
{
return m_Images_written;
}
void Measurement_statistics::setImagesWritten(int64_t const value)
{
m_Images_written = value;
m_Images_writtenIsSet = true;
}
bool Measurement_statistics::imagesWrittenIsSet() const
{
return m_Images_writtenIsSet;
}
void Measurement_statistics::unsetImages_written()
{
m_Images_writtenIsSet = false;
}
int64_t Measurement_statistics::getImagesDiscardedLossyCompression() const
{
return m_Images_discarded_lossy_compression;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -101,13 +101,6 @@ public:
bool imagesSentIsSet() const;
void unsetImages_sent();
/// <summary>
/// Images successfully written to disk. The value is live updated for TCP/IP socket and direct HDF5 writer, while for ZeroMQ it is only updated at the end of experiment.
/// </summary>
int64_t getImagesWritten() const;
void setImagesWritten(int64_t const value);
bool imagesWrittenIsSet() const;
void unsetImages_written();
/// <summary>
/// Images discarded by the lossy compression filter
/// </summary>
int64_t getImagesDiscardedLossyCompression() const;
@@ -235,8 +228,6 @@ protected:
bool m_Images_collectedIsSet;
int64_t m_Images_sent;
bool m_Images_sentIsSet;
int64_t m_Images_written;
bool m_Images_writtenIsSet;
int64_t m_Images_discarded_lossy_compression;
bool m_Images_discarded_lossy_compressionIsSet;
int64_t m_Max_image_number_sent;

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -2,7 +2,7 @@
* Jungfraujoch
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. # License Clarification While this API definition is licensed under GPL-3.0, **the GPL copyleft provisions do not apply** when this file is used solely to generate OpenAPI clients or when implementing applications that interact with the API. Generated client code and applications using this API definition are not subject to the GPL license requirements and may be distributed under terms of your choosing. This exception is similar in spirit to the Linux Kernel's approach to userspace API headers and the GCC Runtime Library Exception. The Linux Kernel developers have explicitly stated that user programs that merely use the kernel interfaces (syscalls, ioctl definitions, etc.) are not derivative works of the kernel and are not subject to the terms of the GPL. This exception is intended to allow wider use of this API specification without imposing GPL requirements on applications that merely interact with the API, regardless of whether they communicate through network calls or other mechanisms.
*
* The version of the OpenAPI document: 1.0.0-rc.133
* The version of the OpenAPI document: 1.0.0-rc.125
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

Some files were not shown because too many files have changed in this diff Show More