From ee27f0bc1bb09bd9feb1984e96d87f028abcd261 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Fri, 25 Jul 2025 11:45:26 +0200 Subject: [PATCH] readoutspeed in rx master file and other master file inconsistencies (#1245) readout speed added to json and h5 master files. Also fixed master file inconsistencies Sserver binaries - update server binaries because readoutspeed needs to be sent to receiver with rx_hostname command API - added const to Detector class set/getburstmode Python - updated python bindings (burstmode const and roi arguments) Cmd generation - added pragma once in Caller.in.h as Caller is included in test files m3: num channels due to #counters < 3 * workaround for m3 for messed up num channels (client always assumes all counters enabled and adds them to num channels), fix for hdf5 g2: exptime master file inconsistency - exptime didnt match because of round of when setting burst mode (sets to a different clk divider) - so updating actual time for all timers (exptime, period, subexptime etc, ) in Module class, get timer values from detector when setting it and then send to receiver to write in master file ctb image size incorrect: - write actual size into master file and not the reserved size (digital reduces depending on dbit list and dbit offset) - added a calculate ctb image size free function in generalData.h that is used there as well as for the tests. master file inconsistencies - refactored master attributes writing using templates - names changed to keep it consistent between json and hdf5 master file (Version, Pixels, Exposure Times, GateDelays, Acquisition Period, etc.) - datatypes changed to keep it simple where possible: imageSize, dynamicRange, tengiga, quad, readnrows, analog, analogsamples, digital, digitalsamples, dbitreorder, dbitoffset, transceivermask, transeiver, transceiversamples, countermask, gates =>int - replacing "toString" with arrays, objects etc for eg for scan, rois, etc. - json header always written (empty dataset or empty brackets) - hdf5 needs const char* so have to convert strings to it, but taking care that strings exist prior to push_back - master attributes (redundant string literals->error prone tests for master file - suppressed deprecated functions in rapidjson warnings just for the tests - added slsREceiverSoftware/src to allow access to receiver_defs.h to test binary/hdf5 version - refactored acquire tests by moving all the acquire tests from individual detector type files to a single one=test-Caller-acquire.cpp - set some default settings (loadBasicSettings) for a basic acquire at load config part for the test_simulator python scripts. so minimum number of settings for detector to be set for any acquire tests. - added tests to test master files for json and hdf5= test-Caller-master-attributes.cpp - added option to add '-m' markers for tests using test_simulator python script --- python/scripts/generate_functions.py | 42 + python/src/detector.cpp | 13 +- .../bin/ctbDetectorServer_developer | Bin 330700 -> 330964 bytes .../bin/eigerDetectorServer_developer | Bin 445653 -> 448757 bytes .../bin/gotthard2DetectorServer_developer | Bin 295944 -> 295944 bytes .../bin/jungfrauDetectorServer_developer | Bin 314860 -> 315372 bytes .../bin/moenchDetectorServer_developer | Bin 295792 -> 296304 bytes .../bin/mythen3DetectorServer_developer | Bin 305788 -> 305788 bytes .../src/slsDetectorServer_funcs.c | 17 +- .../bin/xilinx_ctbDetectorServer_developer | Bin 304720 -> 304720 bytes slsDetectorSoftware/generator/Caller.in.h | 2 +- slsDetectorSoftware/include/sls/Detector.h | 2 +- slsDetectorSoftware/src/Caller.h | 2 +- slsDetectorSoftware/src/Detector.cpp | 2 +- slsDetectorSoftware/src/Module.cpp | 20 +- slsDetectorSoftware/tests/CMakeLists.txt | 9 + .../tests/Caller/test-Caller-acquire.cpp | 279 +++ .../Caller/test-Caller-chiptestboard.cpp | 113 -- .../tests/Caller/test-Caller-eiger.cpp | 64 - .../tests/Caller/test-Caller-global.cpp | 172 +- .../tests/Caller/test-Caller-global.h | 30 +- .../tests/Caller/test-Caller-gotthard2.cpp | 63 - .../tests/Caller/test-Caller-jungfrau.cpp | 59 - .../Caller/test-Caller-master-attributes.cpp | 1072 ++++++++++++ .../tests/Caller/test-Caller-moench.cpp | 60 - .../tests/Caller/test-Caller-mythen3.cpp | 68 - .../tests/Caller/test-Caller-rx.cpp | 50 +- slsReceiverSoftware/src/ClientInterface.cpp | 33 +- slsReceiverSoftware/src/ClientInterface.h | 1 + slsReceiverSoftware/src/GeneralData.h | 279 +-- slsReceiverSoftware/src/Implementation.cpp | 22 +- slsReceiverSoftware/src/Implementation.h | 5 +- slsReceiverSoftware/src/MasterAttributes.cpp | 1514 +++++++++-------- slsReceiverSoftware/src/MasterAttributes.h | 429 ++++- slsReceiverSoftware/src/MasterFileUtility.cpp | 14 - slsSupportLib/include/sls/sls_detector_defs.h | 6 +- .../include/sls/sls_detector_funcs.h | 2 + slsSupportLib/include/sls/versionAPI.h | 14 +- slsSupportLib/src/ToString.cpp | 1 + tests/scripts/test_frame_synchronizer.py | 2 + tests/scripts/test_roi.py | 5 +- tests/scripts/test_simulators.py | 10 +- tests/scripts/utils_for_test.py | 58 +- 43 files changed, 3016 insertions(+), 1518 deletions(-) create mode 100644 slsDetectorSoftware/tests/Caller/test-Caller-acquire.cpp create mode 100644 slsDetectorSoftware/tests/Caller/test-Caller-master-attributes.cpp diff --git a/python/scripts/generate_functions.py b/python/scripts/generate_functions.py index ae6d13326..5d281cdd9 100644 --- a/python/scripts/generate_functions.py +++ b/python/scripts/generate_functions.py @@ -13,13 +13,17 @@ import subprocess import argparse import sys import time +import ctypes.util, re # to check libclang version from pathlib import Path from parse import system_include_paths, clang_format_version REDC = "\033[91m" GREENC = "\033[92m" +YELLOWC = "\033[93m" ENDC = "\033[0m" +def yellow(msg): + return f"{YELLOWC}{msg}{ENDC}" def red(msg): return f"{REDC}{msg}{ENDC}" @@ -29,6 +33,25 @@ def green(msg): return f"{GREENC}{msg}{ENDC}" +def check_libclang_version(required="12"): + # Use already-loaded libclang, or let cindex resolve it + lib = ctypes.CDLL(cindex.Config.library_file or ctypes.util.find_library("clang")) + + # Get version string + lib.clang_getClangVersion.restype = ctypes.c_void_p + version_ptr = lib.clang_getClangVersion() + version_str = ctypes.cast(version_ptr, ctypes.c_char_p).value.decode() + + # Parse and check version + match = re.search(r"version\s+(\d+)", version_str) + if not match or match.group(1) != required: + msg = red(f"libclang version {match.group(1) if match else '?'} found, but version {required} required. Bye!") + print(msg) + sys.exit(1) + msg = green(f"Found libclang version {required}") + print(msg) + + def check_clang_format_version(required_version): if (ver := clang_format_version()) != required_version: msg = red( @@ -120,6 +143,24 @@ def time_return_lambda(node, args): def visit(node): + + loc = node.location + # skip if ndoe is outside project directory + if loc.file and not str(loc.file).startswith(str(cargs.build_path.parent)): + return + + ''' + # to see which file was causing the error (not in Detector.h, so skipping others in the above code) + try: + kind = node.kind + except ValueError as e: + loc = node.location + file_name = loc.file.name if loc.file else "" + msg = yellow(f"\nWarning: skipping node with unknown CursorKind id {node._kind_id} at {file_name}:{loc.line}:{loc.column}") + print(msg) + return + ''' + if node.kind == cindex.CursorKind.CLASS_DECL: if node.displayname == "Detector": for child in node.get_children(): @@ -161,6 +202,7 @@ if __name__ == "__main__": ) cargs = parser.parse_args() + check_libclang_version("12") check_clang_format_version(12) check_for_compile_commands_json(cargs.build_path) diff --git a/python/src/detector.cpp b/python/src/detector.cpp index f9e3821d7..a313f9acb 100644 --- a/python/src/detector.cpp +++ b/python/src/detector.cpp @@ -932,9 +932,9 @@ void init_det(py::module &m) { Detector::setRxArping, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxROI", - (std::vector (Detector::*)(int) const) & + (std::vector(Detector::*)(int) const) & Detector::getRxROI, - py::arg()); + py::arg() = -1); CppDetectorApi.def("setRxROI", (void (Detector::*)(const std::vector &)) & Detector::setRxROI, @@ -1349,10 +1349,11 @@ void init_det(py::module &m) { (void (Detector::*)(const int, const std::string &, sls::Positions)) & Detector::setVetoFile, py::arg(), py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("getBurstMode", - (Result(Detector::*)(sls::Positions)) & - Detector::getBurstMode, - py::arg() = Positions{}); + CppDetectorApi.def( + "getBurstMode", + (Result(Detector::*)(sls::Positions) const) & + Detector::getBurstMode, + py::arg() = Positions{}); CppDetectorApi.def("setBurstMode", (void (Detector::*)(defs::burstMode, sls::Positions)) & Detector::setBurstMode, diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index e5f92d113e6218e884e36e25eb11d86211b93f0c..81663a4e941813b494628d3b278987ea3f8a5bdb 100755 GIT binary patch delta 143217 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%0A@ZP@4&`0yt#mvn4cQ75!c44Inc@pP- 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%0A73);dS7?T_iXTq4|7v0( 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 diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 71d124198e8a8c94c665089ac0871e3ed3534005..3e86577f86094b4aa0bac97ac1d9b83ea5137029 100755 GIT binary patch delta 121449 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 F{{yRLaC`s& delta 121695 zcmbq+e_T{m`v1Lm1_VPJ5C}#bM??ff91sw6P&A~gprL`Op^k=zrlz}E)Itoq+G=5e zN4?r&;eN2Nr436rE#0uyO$%GxwAKA+i>13d*oK?7y5aJDKlh%?+)>-_eqY}|bnZR( zJkNQa=RD{6bC+cF^eDjNkMI_%|A)%ta-cFOQPszH35H@IyW(Q z;ImTa*0+1V=T~|8q#*PSrNJzIoi&0G*Nn=fv;MZT91tC(u4iW^bejO?Z{q^f8L5R|?V+3IUT~|WvUndHJO@ELo2m|$Nry$t% z>l{HCq+jO?LbQHeCtaEO(XUGcAy&U$DhNaM>s5jfuV0sA`~>}GjUWuuud4+i zQNP|K2*dU3IzdR%uNwqmgnr#52oC*vk02!L*9Qb4MZZ2Q2qX3DRzXPBt}Fe%J}C%k z`h&BAkgi`}5QI_s^%X(L(66rvLZ*J*B?zPW_212cFh;))5(KAy9V!S}`gN2bjMcAW z1Yukl=^v)x?}>tttv^T=gbDh!QxNXguX6+;N59S&go*lfp&;by*TsVHfPP&f2(o^? zR1hZV*Q*3!vVL7zE(m%0%^E?-*RQJuVTyjeNf4&$*L8yMpnlyT2-EcICPA34U+)ow zhxF?Mf>5Ym9~Oin{kl~UX5bq9gZq<$@UZ^itRT$NuP+F~Z2kI*AUvX9UlW94{klsK z=J4xp%z`jizYY?FdHQvzAh`7FC_$L7UT+%I-B~^?Kzgl46hhe{Awc#!wY~DF^qSk& zePe`M5XQekZKoH?g6Jok{&|iSho;zqTF_Jn*!FUOvMRwc&Ta7rikNj#opr1!)E4{I zl`&s@)j6)+;$L~Lv!H5RXMN=t;VZ^`(cN9SzB4NeZ8wxE;cCR3UFRUt_B`_p-l z7{uGJ7}}4?f^d!F2r#toM*CUb9%X3XCSyJh^9K&YgDLjAReT0fJSfo=U34l#oG@U+RwPKp3v@J9ti0K zcB;5!zt1Nr_F!>1%iKI%`usRs@%C8h{R!b96qz3W+1d=SSTj(tKm;xtG1(q!XE!3FCHzELbHh7YNqe(j5l<3*M4S7b zjy6_iP49hgQTX@R9t2P!v%gb#!`_g{p>jCPn$_!Zgjvn(A; zUibGE5J+~0OAw&Z*?HYJkGXL#`<+;PJ8CfPK%3d&3I?}PR_R1C%ZN(%4|ci-3IQ93 zIFzO7rU=#?wME(x&*T9!Qi2PBZ!hp$IDSiB_YD#FEwbMqcF^=?W(z{?I3b{R9#)g7 z`XXx^@JlJUnys>pmVz5tvu(Nb=_zI(I9+=F7F#ti+W&z65wo>rS0CIYn`ZQ3 zol6I^w;l_NbGTIH2ynRXv8dFl9f}TuiU8tB(@swrlkMptYF8}t;C)$qa#)SsDjkn! zoj*%ppW7Xktzlj=MN92GF_ep-UHx^3m}S3DGJ!lOW1tv8nv>xcx*>8Hhfhv`Rs0^` zul5x}0y4*m5fy{;%4k~99!x}$Sc#|1ae~G0EKG&T0}#nh186-@0MuDiv+mYR$dWoH z+e3%|OU0v)lvTuF06!Yw$m{+GX&*>Awgcc?G97K2G=&_sO9JvfmNR=y zdZi96(meQ=_riMXugf$6>*?qzJjdDzSpzDL`%-l^QlskVet45UBxt~k z*{=u@Jwpb-B*v-a>;pMjBokSfv$LF?iizZE3}MuxziI|I4w;&C4_4bh{M0E%Z}L}p z-JR34sr^XR43!y0)7qyE-=wz9KBqANWz@dU?A&d9&KH~8%B zso`y!4!S}>o1iYsWLF3&hpu~@eEQi#4)^r4hqM~-Z8i3D2q7o+evXks$l0uHi#cOS z$c2g$DESa5xxc9lERjVwOz}5;G-3Y!P1YPcS;9CplLR zv_S*^+;^Lz#L(JY)cz6Sbh(Nap8XhDPNi@8i*ZuWHJd48cei$C)TuH|8QL^9f zPRN4a6!bH&Vs7Jb)#|UiUn<~t0^ZKy?RniDR{?LAO@62hc&*#-GTF&t(bj%lcYplhEoMnfPY=!hfyZxRt*!E(9PB}PYw9=-eHLzkh@#7+*gCtF$W@X!fimLKT44P7b7fCR#F zexT24^l>uF*ihCyJlyud6iz5+`<59q5+VD2a2_bM$mqiG=tX=PxWZ^MRUetxeK`x0 znL!o>%8-%Q{kQc1%>ZaTu&Z<6aD{C`zcBQ3@=151-+c6QqMwL<6~L#j_A<6K>G@o3 zX^ekGbgPeGR;z}2YDlFk*Q@&2h<4~>*q*%ZOKCt&%YpO}tL(2;K#k?_+d<4ZBD%*- zhn>!{YcUjCF~VB;+esXQftkPU2c{s-3=H01{eTHR_~1?udDK7&7E%u-%^IF?jQqE! z0Z-uyQ33;c@d)4%t{hxQIAtMaP>*?LfsWuF(!w1*q$N76Ne4CWwZSk}Fq9sv36rO2%V+UT)+4%5A(KF!0{u%lpOgzH|8125k=C zAFdDNzUT54bp_5yiCS`3e*g1uckp|l2&lQsxUkuGp1(Y=&GUOzYE3bAYL-0hLQYyC#ij!Hc9VZy<;T!Xu}9Ht4^~?@2+G`X;$goB6c)wcFKK+ zd7foQo)zQn7UHVlvGTgl55OP}Odds_j=b)_EXE)X+3(#zR+yfzM*utu z;C6t=RE-0gc|sz%r!~tZ)V>}lQ@K9C6Mu0EC{ty>->klk?lP#1kXdPVufZgs#82b(d%BR2-Vr-8{fa)bYCS@vPx(5!4pI z6>=SG9u?lBkP$bsz(1wL28DF`D&$_xe<4eT_-6TP$GM&09klPA$PLLQBTc~VUls3J zr=`=XBh%JJWuV8+AFkmKHNrVFSX6omf{d%anA~VL^Zo{-Ot^a5&A0XE~XSOoR6v%@723e)6c9B+27u z>oODQXHRB2{aneMYKw$kor{F54IcS_7edysJMZ|hnWINn{uhzImI?jeBY)%{?f}mZ zNB(yU{0FL$|5>v0^yw^+ryb-Ot>wwB(M7{m3_#dP#37spJ!<*v->71 z8MBBOZXGj2@*HL{&IIf7LFfn{|LkVjw0xF!J@`7V16irlYpo+md$dYUt4oR;=eK(h zq|DdnpSNK^gOfjf5d*@>H?NgV%g!L=l<}+DZk{T-Sf|q);Y2p|;BNbw6gkwdd9wjG zF%v;_ftiTB?$g8!V!XG&OqP!0wk*&_3+K!-08+S5fC%^hv>$*7_urbu%wreWtajwn zQKW6qj%?rc_trGFW^9sl;Rf3?c655=X^gs%b4VgZ81wmVjl*A012nIWi2<-)6e{>9 zy8s$9PSv!+anXdRY+M5U6pxDt;Ay0r9Ud2*5P6N}$eY;xX}&MJr{2`qeRB%4WIszN zYO6_q-q9YWjN_Vj4<*BSKEFcj#0|*Q>2g$;xwLC1OM9YF_+$5<$nMg#l zS$0k@_PYrWNRKUKLH9@ZeT<5U9PMLIZ_Igs{p|icY0(bWhKGv|c^@v?yD?|Bv?z=f z=iosae-I~|7R9sboF!uyKCOyHX!_bfLMk{xY~6omUiTkql^7z3Hd-a%wsE*@T3E$W zCnn_fFVE{faUI5d)T} zVFv~b-~%?X70<=6=G+j;)5H$vZj?OD-j-%o^T4x`r~67ldX(8q(FJ71+~$4wozm!>_SX)Y>%`RRUhU}*QSd3gil-?)B9M^pKF zz0FJ49QH&(x-vXdyjN*jWC~!-ll>E-qP+Bd9Og^k(fJyE^`dN=6U!=6N>wb&=P{533v<4U8px2JxX4H+y|w$ za38-XF97%P%B-qNgqp7kiBLRC)jSsRU}*XylW?QPpE?^TjR+YnLT}krKHyFkn|EXI zSuFd7)Ck!$8(SyMY5<`z_Xzl(eT+3e7%R<2iT}Z|A+zVp!ezDmt@W6_8SJAu7|klX zym=zj1vNZ3J5XSwpR)zi>Bli`Ed8vQmO?)b)5iApxT_Yc3W%6*b+gdAd4S+w^cLs)=2iZcBgpI6A|a z9-agw1>BPs_4mb&3XvxH&3&}eMU1-U~pbI&@e2(fyUiTqV-#Fec4*kd*$H{)m z8MdZqhGdIiXNzo8l{09?1RN?t??gT@QmhYlpdC4qG9GP^m`DjM766IkP(1ol`b9)K z(04WZI?y+a$up))HaDxA0nCva=9bOqZOE*Cdmin`thQ8f%wb;4EsN3DP%``NUi3xD zY)cUfczA+jYhw8i+oo=zbPqIta1p&_P6w*5zfDHFEczzi;>Xgja_Km{l^*nszrVK~@;jf>f}*(qcDp5oyL71fYjNrRNo_Y#!}r#>Rc?F9_+(P9*HFpRX-9fJ?QsN^CMQ#Hn1+Q`@QwP zV%m2~3O!%FHX|kkTz5HRN7Ib{GlTEAqenYJw4)P#fE$8Wz!_G z?h&#u_c{?Mn8WXhv!ds|-jZ>IUq(w^LWE7W!VYYLt(X5Rk3CLskv>=nGXUsJ1S_pAca{RnKnBpCAn?S84*q{_Noe!;%K6 zC91scJ;zBxKu5_R*6TZDJTZmO?>C^6S@VL}qz7nL<7DBrWd@F+Q4bv9Nx>Cdt6-4u zCT4y#snVlY3u0hE;!r@6unr3igwbzjNMqLf#&(P00G=eAs;1 zluJ%R-NUR((6&2Oi#H6FN?nU(p|Oh7tybItbkUp4(M_DsNjQMMMZ^O{ zSA)sZl!~ofI7C7Tbn8OfbhSX^6&2sE<)UiPM73MDhTOuu#jWAb7xQ7XR7lg2ns)*g zrHcuJu3+L}`DZ&JmdUKg3thIeuLFpHj(Fh%WO^$}*8j>dlZz4y7xMmGSB)aEwakLp4 z+BdHP#<0cNM6yLR^Rshcj+ZG+#GrbJ2l{4-LVQbh(IE(StuTS$oV~diO?I|#v3kho z?BWF6Dfv;Rr~+gUj@o&uy}APjd8_(B?DY*4GVV48;jiy4nDLx!vI@^uE%{Np#{~y& zQFqAdgc>|TEE8P-whszYMHQJpt-fF;yte>$E;J)R^*7jOBM7*UYd{VQTU z2mNTxBXWF$SkICDs?OD8I1CvIygpm_SW-cF=A>sx2Gq(8k%;9{&GtNwLRk%qS_K~tKl|e21sxD{a?;oiY)QI;CFV-|+a45#d0(fn;FFg&1G{KPo5^X$lWpwuk8FKM8I)j@S`Jb= zx0!;d1I~;67#*f~r+n0Ssu%HkQu-m*{NwPx>0f)Fr=LevErT_G*DFh_#%n@5%(oph zL2GS|XtUrvK@fiJJhIcR#$i^lD#d?re$_Z3f;Qizr;}O3s^zgB0yTB0_i5xBwaKuF-;J`&$Y(h*cP=}$5A;;Q2A6<}Rtrm%SS$GdM zoRlf7v@AMhh}j#-y>bX(ly1@T%K+v+07H2fD)%e{|{cqcNOCR-~aUhY(#fddoNRKe-1v+&33n#PW-r2?ZKlK8U_8dsmfT?`Kl4**#7@@w zOoDa9K_ZiS@uSCTfQQ*Uz$`xrPw=#;NY%%l1A13FB1_lsS7uO7n_Vre;3so!18(GX z|6(VIH=NMfb`>H+g1)l$oz|bEi?-p*AWnoBHHQpVw*K4GL#kP0Mf8jnfxg(b zQSd=pM%bWb3I!j~vL_a!?I`vvZmGnmiTt){=u4VKeW6*(cJzg2J(0!i&swD+2blBO z=+RHCR!5+v`Z&?M^)jFg>A#W&D5U?(Psyglc+HZCn7qURZ0ob2Q^T_Sx-XquDb+Wq z>=sJ(p|Z=1WYe%++#WUJdOM4#98I}cVWnEJs;``08EXc?u-6I>Wj(fw90h?*bAm z@MV)^Q^G7&WSUmgpgn@rPZnk*8)ha|6Gkk|j1ml721~Gc4q#vjmfiv`+Jm8lvV{%XRc`KG2dU$OxVS7xHpCCf22lPCXm}BEDfWRv)+0I&i8e2JZJ#OKc94I>ur7%JD(6Hq*RXR0E z%dqcsoRMN3=zJ{YK)iww+nA*qg4kxw5Nx6dm1fVRQM_>(@MHFt^Z^X{0^ONtILG~G zq^%lKM%IPcCKUnO8_BwW?Zx|PAB7b>*PDI$vy#f#OLz>U%qTxJuv}ZDv0Qqc&-f=Ly$#T@G-7oadp5`g4acG&ReGs>$O+oqClLByFy_Ph*^`Z4D)lV7#>I zowIAclqv^j%BE=8;HPUzRW+dvE!6mXiPkp}Ot1)gBz|e$5WQ^%a2sY4+AR$AGehm=lCDAknq9nw?!ATNzgdeA9r>U|L=vI}4qB6vd1|ksMVNc(WT74YX_}-u3qE zSGw158XG~=E#NfRkQXKaCv3<9$adgOS$OCsNK2Dh)$?J|#8dS_^f%P7UkF5hOzi?h znfA48-}BM5t9SPK3DI$F=$(e%G{KY-VVOK%h2EIp1%rV77Pccs$J%H@kr9;iF$fVE z!N5U$ViB$m3}f{#j82ccme>8l)4*uZ+x16OaKHIfq}A&#hUoJ0HD;-vT^XgGk%3qY zrNekk$@8Z;I$jD`KS)F8;yb(|N{3Op52mSiXrhaUrGI`KU}<^@7P!`31T3c4MYBo; zQk=LQut63kpQ;%}^JE%ug!B$XP~AjFgm~$Bnpc_w(i0Sc*3rCT4qWh`8z`$|@`lls z@vgk?^(WBNkZG?QfS!>4JPO^-P#iL$(7t$R%X$hi46^?@g&2_iyjt`{FefDPzU$DJ zq)MxdSOIH4C#hnU&09#UQ1X+>R(~^sIbQUSjmpe$^;<_(5LuYAmrojTR02`WS8)pQ zb*%VBTje~8f}LPUmohPkh4phT<+)`2GcxVS$#7z%HkQbe5`jkKq_qH6mohhU&v7Zw zRo4#I3u;(mgKX-Lx$M zB;aWVh;3;9+J%6}49vkHotoI$v@GWiLjO2guGz2rn@?UseqQ%;w9E_>vX+(^CZu?m zCYgj%^dZR@%-kB149r~dTGn>8KfSmW?opFixKX=GspeW6SyZjn-_sZ+ShBHq5CPvE z_|BZ#SyJUN_nn1j-sba)UBVht2`~k1r#(Ua6}yBwZ~H755B(Lpgnfqg^JqV-av>zN z8rqK;Ua?DPH$1=|s{V>y!ZkztHneZj5DhcD!#Ar6?d81P@DATBcsBhNyJ3b`_-3JW z-t&sxupGkxnRuYN6=B#+L;E1KQ%;AtWSHR{zFC2oX#wrra_g_y&3xMXirvgx>MM2+ z4^UsR8`g|h?4Fl~b+Y0uHfhFr)_E|M_O^Q`MqqtOvR~1gtYu4hLL!{lzo%ff4bG%% z8)h5wpF!0?TF!OoK5?TG8(Ty@EqDso^{`kq4lcucmYSQL#C(>oSf!%t@02QEN>XAe z%YWG_O~>ua&x+R02GU5V4RJ~5(|CQPvteUhxYXIeBI;7;C%-N>yt4tpX?FH@K{jyS zz}D48Q;(*)X!OAN{|1GHK0Pkf#iGYMLEB?R>A^uP^_8j7iTrf*ciV{rEF2zlUb_r# z;OM6AXAQ3`s2slPPBrCiK5Cj+=AE>uhrDWzoFfmB@Ta@?)ir3X{5(up#I;JUq-Xy*>Gz3}#bSc@+j}vIfY3_~8v}*S~#CEBJ zW9&+Ipr^~1+B~%;dKUmz52i<0tGbjgVEw=XprkW`Y_-F4nqpx+PI z1Ul(WK89W|y^t{sx&%Gbh}LGP9VSQL<2LA-r=4B-pCz%LOIh}px~Y0yo50l&yjBg< zv`Q=NdoHo^2AoN}#F`pxeQ$emx*=&aA!!kAM}j>1hB`qubthF-v8u&B;5S(IPE=Aa zv6(xcN%EW|N{iy%wuSNacVN4Xq>~$83(tK(-QCOVIq>UgrAb31fB;sg)92>4F}wKA zu3pkV$%6aG5U2ez}`j%WJW{J*_BD z-zXIB{kPKcs5n{|t=j!AqSaLD5-WH;rLRX_lYI1RtmbtHbXWE7a|P9%$mvW zXW3CpTkN^^j^)iQqBQnR*7)let)A16*1yp;M)gK@+#tG=j8#hLW(9h^OOhc*abCrwk%fVG8DTK;&NFB~ z%i9e`-g(I2T}Bv;yp!A%_bww0M&3zoY7<9fF!Ii)(O%BmS9u9_l9%G%WyCr|J9#PH zyNob|aZYkmsT@(W0f5|86mLIlXczD9UB;~RdY3WRRqrx7O!Y2~0C<AUcQ^^IS%r5y8ergW)v&a^Vd)vc8VAx=4RKt?L zwMwI^Sl!;F6pcD9S{-$yCxx%04bAk0s_Ow|?%w#+i=9q5CEHooUfa}BYWWC@<|qc# z({>AvlqAv)KhO!VFMDcss|RHUEB%eFGX0dsi&(6p)V4>BC?$?kujG(y zKxNtnl}dGnyePFQ+4n_|fgyvtxdSpl2A8e}-JKx0G}8`pncusaQgR{7em7Q1E@q|g z+D4}t&oK}srTXy&oF9NB(+E4ArHJ7(zt&}LS0P=&5P7;Q^IwdLAkKpX0M|JVy?=*Nf()_(9qnv{m$zHLj%#`gk9;)bHd zRgyT07Q-)NMu)LiKNul(;Il0s#OB5vRJB@5(@_$!&N18v$fmF?{a!W&9H(nUF%d*9 zeq(?YJ1>JXnX@IOZ?tM2v()9AQp(C(qC*l<+{vu+|O*`9JzB~2J9=!;JF8QX8C=rh{0LcMjpkvaGn z0cnL{UcV--z`Q2l=*;gXM~^Je#1R#pIzGf4m_k?>dt(X2?k zh*7*B5~$NNqmi3HK_s3T?AMirpaAwO9%t+hPfdbpxdUAs72NNJu8}nzwuZ-T<{I5> zAhd;@J!}h)o39e88YjK>5x1IIj)bR-Jc*AI&?-d$t5(C}@KFLNC;A{nRnvEph8$sSAB9UJH?e|`up@evE&XU}xGMhJJ1(P+DI;NCJrhBIVe8{k zEeJpja0s21A@j5j0?WwKbftww9JN`83|WV!LcxD51o2}SaPCo3-K^lKRf@s5NAEsv zjCb72G;SiFs6@PTPva)aeldJp;kI#)*`~$}$sEVy3?a2%XI)e2!Sl(w_%66q#2}ZB zV3<@sOe%&6#xSX}-{3RKx(IO?oA-GH`{>v}>E2qUAYQbF2#zr=c-NN}@T;i8n);%w zHU#G%M||9GcE16tHM5z@@SKiU;G99fKx(V}9ll~i8@8t2U-$GGC|De@Uz+K$s%FaD z@7^9WC7ZGqtMRh7;1OA{oFN)9 zb5z}r;{b4{$F0)9TGo0T*;CNQPZ!wI3i7(YqG-{uy1%4o5v$vVXz|n0Qd%iH@Tpa@ zt!1Y_ji$RUx|{e;#2(0bV>E*2Xj8*Cf;hcHW zcN{7mw)u?X`g3$jdJA4PC2Mcs=hStLpAg-_mm9zYw&%~$w)6mi75S>(sU4c?h2Wt6 zpO=&BmHh8mDR?()_}`x%gHrhr(x_`XrOa6&ujr=}%Q}-`VN~4O|*}vFA`pnnttiDk; zY8?w|xBB-@13{S_k}vHHJJKJ>xa~S8l1H_F7_Si-6xcI<%VWJM7T$DzveXgE+Rvxk zG7u!Th4~Kj>3nUVd*Tt6!>)cgSQ=8r)_fT~`krmNH6W9%##w%W=kI7U#SSM!pjsl* zcGHj{to_SaDP);ufd_xpFFNLU`749V$}9Sl1%~xS{P{fYwd@q`I>W_gewAPiJi{M9 zecR(rtnRC5DG(<_zDkf{BH5L%tfPBp>Ycpg1ytS9X2RG$;B|21~>TpkJB(Xe7^rJ=K5i-%pMNee={u(WH zWN3GR?Al*rbG538RuAY1s)+ZN)$!p&%We0e6?PL%av|{h^W;3FeCIhp20@mwC!k{+26cma{8=vr2w=)9TXnzJ6C>#nnAH+0R_WN-rf;X4d6( zAEVI9kj8vOp%u~?^P8HGgms$8{mzw__b>a|2i}zMXU95VMZy--glE}NAd2s>S4|Sk zRq;sOUATX|BctjC+&_*F7tY6r3#)`6?c_{mOXZrc$|_m#8ePWR zm#vcN5Uab4nr0A-^5ohw%k#QFB8O&BgWr=wgBnP1Xdb+t62y*r#@a?BL;i>swt<@? zw6MXAl*wW`CQKfE8t-x*K^McRi6g=2f}LdXjK;7y6N1Dl8GQqNNjMa<)4Ip5@nI4U zVs;U6XGgRoRU7tL&<;$mCd(q zs>$n1-wY(FHh+^OIa68tHvqmhpLKm>wK-?<*A*$)p)a!Gu!Z`%Vi17iS!yTnufqF; z`+?suV=aEbZ;{Pi$5~Bhw9VO!E>EM2VIDp>f-Vv0g6OCd19mNDS2}Hya}^7^O1F41 z^J+@E^DG<})f@h(X~aLHNkm9f9?>n%$mAo1+ki|gYGkbPaF2!KJcW- z{QW`2QGm2&;DE4=|FDKnaP4Ae^`6(g^Qc(Hec76u9* z8lK^Jnfi_%4@b0$>TS5F-lsmN+RGid9`ZgUWTATJD!sF+Hy|ut4gP-^kpT~j_!eJf z>>1a6&wmCl3A79Pu%MBS%#qQ-TFHumCPd&h$IZTqc;LLIh&TCBiL7GuS&2U03K2X0 zZNPozn{WACC~*S0)q-mYFzG+SW_7GTTP#pl!|9bL&R(vUF2d&i?I z%;G<=XQibpnRe8#HG2|d;FwQJ_DNR$y)E|YA&ukl0#L5^)DsVG!^f`zj7Fz0-kqf`;_=li`@w~dcXCj1TaFB1;LP&6s-{@tO2trvku4mUM ziq$CiNHV^+-4R9K+m2D{=a_o=X(67wd#u!9-y(`bm3eQN!myv%VOO%_@U;qScTo6^ zo^NLKM9R{~1DLZL7A%gbuyL%V8)>gYyK`uF8QNV2@J^5rhSvYv&axx?ajA4ZA&&5a z4VWM(^`dB#I<_k)38MnW2G^5N}MF7gs24yRXCbw@d(ONNn9XJh*8=kfO(cF zos#%dX+plT$^^K}hm<;#xDjX+hgrjOAXvxa(C3Ku%C>}vp-Qt^oGVROr&#=e>(X$= z;U_MVChSqR`iarf-*zYm{KO{{)If#~P-k;fq&X^e-$|t}26!Q{`w!5&ph?Q}{$lxE z!<_pCC8`$&`s*OY*-Lyf`u;>LnGC$4M<&z|xipdqh5fp?UOCxIydz|C(Mj$5^OceS z5P9L0vMxZJ+V_5gg5B>{&OV57?ypwNfz&5W4G5IK*u;q8L5QnK5%rvxqBKpJ?_elr z6*2VO-FZ2xB=*J_Uj-}qy@{6_8ZWOe^yOveZjF~OpH?pP{sCTcqLfwlfX?$rl&$xO zDR<>1M^C(h(rRiR>;2LwC0BZF@BeZkgNoyCPdsKO{`Jk`r-c1nDc&EWE1x( z?ftOG&Ommd;;*HN?aIDTF-bbTTDcU8{#bS9UMWr{_pJovdZM6ra6 zy=jc7aBXZkTpPPIyl3oi<(J{&8YwqXiMtPtp9jC2f1lV_lyVD{;s`*U#43ouh`H+& zdn7uXj8t+WA)?$Cr94u!+CDp?`AV_w&Y9^jD|;fv6a-<)rATqQlzUonS|Pp9{FIqi zakA|J>@h0jkqmkBX7WgO+5E@t@3vUQ5F9%RQcm`V?RX$taYh07gdg_SvRQKhI15r5 zqQnKZ2TJhf4@El$qs=JVfzfWuRHyL40pd960lauW04V;jTWJ~qdLG!i#RjGNLso`h z>b^~>f|OJnp}vM!L^cDpp;>;1W>hUfQ11%&fmh4QTEw*1bqylMQt$pAhbAsMp-jZ94*PKlosHYj#nvX@oST} z0wxVG2C>yt0S00_K1m6+ixa{=GLb*WARq^y^<$_yc<(5?MlHQak(@}P+A6o zU(V?%iw(rfdMLxHwNL5Gi8`ga!^UPwfcq~{ z2M<%~u1S>~f_Dh$Uou2o68^!R)jz2{Q@Joij1B)_r#_}mvn>7PmST^E{5l(z zj9781)E1}-wLTWp2c(vvAmY>Uifg!-+gl5w)WMpEi-}6}P;qwn!Mk8R2dr`8*zkkX z?i}&lE*de^ob1Aw)#yb$x5mMWo!d;Z=`Su;Eb$=e+vhFGOza=%z*MEm zQtJtII;1~VC|%UO72w0@cNuSwR9wS=?!zNW`7o@(Pi|`9831?6(kG|1ZYQdEx8c;y zsw5?fOQmDiHD&!xqL?8aU8{5^ij#XpdNhngI+gArN*veYqW);{e-QO=j^8QHKMm1D z{hOYGtaoxhKjACt1m(pMVt}=?5o_ce-x{Ja$O^7Q5lZt2F(LM&Q+E!tZL!|Q``WiS zAQw-B5~cpyl?(^0^W-3r*G8XUw1Z2sgbx9hMNjG_2Lz$&t6Ag*vj&>sR*Xb&0DkI6V%^~P=t%Jma*wN0q0gjO1DqxC3pO-nRSKxz@0evec-)K&!#! zJR?gxhva9CQVyhJ+2_?MUFjI}HxreJQP5Mg zyGMZ*$fS{e^G+*mqwsw1N~JABeA4^etW;-+v9|n(yzZx|_Gkz#o}$_#CUMV(9vJ6n z4d;qXf|;4uUAEa5=E?IK%sac3#?j)V%D4=1Fb$>ymJovcO-l7>5cBq4>a?YD%1NWm zSG7vuZ9WHD^H0-cAhd;6yp7_J{#H+Zr=fi%H0~P55oBneh4!<&-EL?fZ#d98CDrgC z9ssoBke5x74eh~b-^AOCz3sbiqP?8AuQ0TqM|%lxUt?%LhIU%5^t!~9t%e7?@gS80 zG#T2rp*@PXw;0;1TrewWzpaSd40nP*oTcplwK!bby;|vXLQme>tR88dYQ~XPr*QMixi}$3_)EuQNOSD$LrG_7v zHey1pykL)~#_$3Gov$Ow8p{~M+$Z2t8j zm_oAj^mled{H75VnKZkc z8wRQXdTzI?kVktYkROpHt)puB=Aauxgq%7oJryzMgI;N{>aYU*apHp zwNF94=9xS(!uB9s@zqG*N&04?Hc30)RGRa|=cNbR6lXr7-yNb-Ouq#siseBuU3oiS zbV?6)DxK6=KSi-jL8xDVPY~!8zk(R8AXDH_N~b^=ubxn^;19=@Q!9kR4-o9UH zc<_gax}P|8Bm5fwLE`wzIw9}wN-LivivZ%ZW)7tgt4q@6QZOd+2r;=TSU{krO zEG-fjrF&HV$({jT-Q~cwN*B?D>Imo*)#{eE{qM;J&KrtlI+VdS11dYsi9=eeeO30t zAx&kKK&5boMsW2ElxD!Z^I_CYr^hMv4}+o2h=3m!{~q2$gf_5dnM;(GnaC!lFIBo` zqVFa|C9^P@(;JnVS)whLsjq2qqI4!yuKS zess2oGlDvtaokcR@ey&f?I9TQ^Ammf`b(|GSM3=k+XVr<{D@d6J(RC>J|fx{)K2M< zV9%R553Pa*!Nj!FvNDuKzMy4=2&6WWdx)c|)~Jm45Oq563@7l?dW|X1957Xgy8B!( z_2R8NnJSburoKq?MRc}GL-gV?&eVnff~loS%Um!60?*C`bA_vvsCl@5afp&JkCO9r8ck)>jrL^N&QuUnw2Yyy4iSspn@>?a;=Ap_Oj zbA#5dP)^PlpOK2zDFq9F>v=5I1<1XM;2i!O23&?B{ptC@1=IBWE~WlavA^<%1>)mU z(FMi%C;_5&_$UBp!1bSr_XYgZY7KDxK?0mjOS9`yG2J$!0O#^3h&O2K=M=<4Ti5qd z3QELi+q&}*Rw(&G9OA0S0c}ARqAsd7$2DWAQd5Gl*P(7$f-RAbYQ?b-6ASz+=y%2% zrFkKq{~X%85GG;9CZ&84?w^C5U!>7-ZIPI6?WnGZ@0D6EO!^#?tF8pT)H9Tv$B?wl zfEjoUaBDHnW8#9o9o6MRuhcBn56rlrM3tf#vKI7~f~SWI^SV#cBxF-a1?5E{@sBhK z*|K@f{&yQn#pxzB5@_3tP6loHgNRPhmMT;Vmx|Fdp6Yp@K+D1w8?q}s3oE_p&A9X| zY=!m;Ed=ItQx>-DqTWZAo?Nd~FVz^ov=p}L;T1~uGBDnPStu|S`A(x0iB1~&KfXNJrJi}&yf?111m zXeIs5R0>y$b8Qd9a(%4(Wtv0y4x%4%_HNRMrbQza&J6e#Z12xVqoQyS>^sm+RI8N9_8tHp?e;cE62?WI$w-)uw_s$@JVF0su@1t3MLhWR{9kt&#b5|QeY;zlnejvfRhPl?lQ zv%uux>wq;Z>fenAEEe_Z_3xg1O8liL&03+9Jq@;gj1}>;_y!uV3H1{+tURxj|3v)4 z-;<#Rt({l!LY!`nDb`lgFhn~!m|^aCv6U>4RS+}q99hlmI;EvtoM4+R;7jDYdZHq}p34czha&zsB1e4egm|=hA)TfT4Ymp*He} zx-o#oO9KP~pot^8;00K6744gN`wc_;8MK#c?Zt+o%#uTBFX8QmqRf(AXwRp1)JBR8 zMVTeFcz|gmy(~5qWtKdRcG4SaHxy--%!ku3SSbB~+hP=sduk&~inQ8D>1wq$Qe3aN z9ycW`Qyvm~Da~sTfqC+kqie+I1)c)>%pGEEm6c>yaXUuTa}k;6B0PSdV+Tci4(7z| zz{@9;6=!AR@3k$tHXWQOk^q~_-Oi+vml#G zDF&dOX>~&@yH2NJj%qHr{`~*YkgU^?*T4JLWejGBRJzijn21y!o3rIPF*c!;&ZSAs zuoz@_LEBn#iBRmsdgL*M0}iw=0-0(9nji@0u^597p27f94;KcjHm{p!?SU~kKMxWSVBO4NEJU>z;QRR(|IH_HyK zT;H#bG!1{DMWDZRAe&2$D=zev793aH_?_DG2b@WY_^aGr4ac?WK1m`!`<16aHZQ1B zgCx~N0-vf43*MwQjD>7}PPuYrJ+l2r5u81bRH0v;lJh(wL;Th}kLU!yN1w;@1v{0_ z=b=IW<=8LK*z>hgI>!FlF4E5Vekv_$My%5^UoGu(TI$r_^>bR46)%Vh{__vXX4jia z{R?7r!rbaRtuJpgT3^?kE6SA@L~Hu|BCK2|$;aWE3xD~~{a8qbh~_ONg{Nd;q z%KHT<&T4|i7ulpMybY1YKNkbm5ZPSc3s^)pu5;*jnD?_Q)dcI>i#D2S8W&N}KO+I_ z;8BqyulxE!z&ZenDu}d-_j4#`RoI1SQ;jWPGw`zVF~DYUSlnL^18fFhv(S%X1{xz< zN!&o=hGDgJ@wR-xQudL}Vc|xvQTCB7o9BIvekXaqnMygq&O3s(Cf zuWPFTD+6{r`mN#pmMX1)9X)R~+KPGGD$sZaumv0zS zVjaxGcHN6Om^Eh?)`03c@f?4%yknm%42YzKR4yc~C>O*{Sy&sHi*K_EDIG0j0V>@x zy`mpbVb3GI_OA)-XaOu$@@?g4ZhGI*t>Up*R&-62KJW_rHT#q0}n~tcnmx z;`hIU!A9p+B;`fPBxTs#1_(lw%|(%lbE_Ep-{H8VtV3U^5Ea|4$Z;P!r?|F>%cpnj zQ-uL5f=va|S{^xfH0syb%xI$c0Q=1m)RqYg%Y8&MXra|^@ChBwiv4AAhHXAp=Vdk6 zq=};N3NM=SU~@Y1o|kbMIj_y%-siWtO zN*&!7Ahl5Mk18?S=^jz|c6xq6X`=fFk$chof&eA;6}m^w;T5_^4U_JtRw(VSpwO}) zTgiVF^EU;>j910n=mj&i9PUCGludmF9rq|DemNgJIA!w`oH~3J=QS6sQX=YsX9`wZ zJ$PMEhu1JO0Tblq_54~~Bc#j+FZJSt=mpKd6$M-rMB8~kJIZ+!M8k6C!(;5gF2I5V z%Bmf}orl`P4x$+~X!RbM$S-mKXppkzmv}xI^`LSm@i zqj=Ro_b4tk(DOQ_f$n9T%u(+TD2Y4i9(9SGNUR<`tCZ9I1E|65ME$&k{wPr>{_g2s z&@FSiVa3jhxP}#bAYMs*4KC*WR3`~jJ{UKgYN zC!T>0Ta=o|MTb&9Q#30FUZ)ClzS5Q}+H+K$Q@v})KJ1_b(UAx>ZxBp#@XVZSFIfZ2 zMsF73kKQBRjKOono3c6gGM;N;Lt-N=;Y6I%_}FAu>~EODlRBDt5F2F}pnE0|3Qm!;=wAFM-kpsK0tT*-oG`;Y?NgY-|i0jxT+9uzdno)1MgkZyz z*L{Wl^cEcT{ggcv8esopIGd%~y^=a*EAUD8V;bofRIT_XZp$0ujNTKD0F~L%QgTUg zy&=9Q-G5by`jz;al)a7B5A3h}Tku7m5Z>WCxwy;;U9HJa>LtMcq5mX9>bKC4TV^K%K=azd!gU6KNVL-=gUE$-hIXonl=JpxZ~Hh( zq)T|a_w!5;0^0Mb9jV_!!-oI3{dkbd0j?Mj?La%}D@jKUH8sx0ttZ!ycJ4)W4>lGj zoO)8faTQwXm$h9@{TAgY1#iJ{W$lKFID%yHpEomH_>72o+;FAsE%C|89+?orva2z2 z?a+?ao_ie2sg3Jsb*Yl@Rj=o!7jN$no5 z{;S`cy?m+X9x-|C(92hpv(4hhzGL33LeUV>_Res>+S{3BM<}st$qM}XXB@le)bfBa6o&>> zjYC+0@`dK%%w^ z>86NEx=|@uykwIW%zRIuIHw4hf*C}$|DsQvBLW^xpZJHtaB6v(dLXKEE9H{l7;3O& zpKcFv@9(Jh6w2nz4LlDN;h!@=eH0(-03WMzJ_bu9#273Q-zK8Z@M2YF-a;FKh%uW9 z8BbUXIq+EyOf_8!w~0_V^qW-EMYx@b`i9g6IE2hgI>Ep#^h@RaP!qg43H?&hZ<|x7 zne&M#L!{9PxM~guLjJV@a83>f z4}F8)Zia`>jPHR{^{k@}%UvqufHMI|AqfTYG#~=`8x)ctkk23^XIKCp83RUfxD|jK z0Jt0umjk%PfXe}#`iHtyLbZi*5_akW;nF19xwZ0#=kM|***xmR-RJLd{wK3;QW4OQ zJ^Yi3fbhE+KIf_zRnQkj4527-JbfB_SoykiSG zW}zRY8YGzl^jnX9NHs>CLBCLS5H;2OPYQYY3i_+3xrh)=A+esbX#FjI{IsT2Hz)!s z#6bUtwZD&x>bU;E@!h+ifPiQKk)W;y5fu$68Ze-kXu7&+(Q2xRCYWlX4JMdsf(>M$ z#YP)UFg^^XK47B>CYoS^2__mL(Nt4RvDH>vY_ZkU$5vZSwSndPJ~QX;-n+Z>li%oVrlvP{qOkeM=(c1~I$oD%K;#x&crr`Upji0W z6`f4Ce;q_n|fJu}jnkJtCkt)Y5-Jf$qY| z61sGBKm?@nrOah1CcUKcrQi}**U{ZqU8rArES407^{dk&r5=OD)S8UPQqF&=v*X`nJeE3w(g&lhX^?;!DL5q3_gTmOaO6$SgTkZK zTZ~4D21Vq#7*_Qr-33)dO##UkA5%(L39s3_!$GXzWh-u_W)>OaoR5oFzD`=%T-;ooc zUn?`mb#Zt*$cTLz{kq5qwIe9C9hD=&ax~x)>-ORr)zkmA4V5kD%9cAju3atd2ZAFg zO)U;^g*12f$gUWt|8nJ_1G9aaYU zA;NLM+INip{%;!{){Dyxs?3#>-l{Gjy!lb`eZV^8vBlTGBY7I@z;h7Pa-Fl| zpX6z*a|GSJND57P80(ZZxw`~3Qs*{D(D365KNW;Li2o|&K?6e-wqu<{9#zO=ph)?| z`iAT2I)8VbX$H3_)$&w5m4iIOkw3g--JO5RumCfhyyP3QY|B#yXLvX{$t{Zhw80r3 zzRlpyKOJo-U=?22#V;fq=u1Ff$Mh@%eKzRDOwTjW$AhkHhvn({2Kr#ob16OC`KOBv z4|?E1I%ibjr4PFeIvFnbaZgtp=x1S#1Gw|UrWxG%VJDS4KlG+_=bt`D7q_m>kBh>G z1GFc{Z|+$Q^}=~=dHZs3s%4$;49iP1HA!Kj!_u=rF;$ojoX;5EPtO^Q=L6I90E`zR zFxZo>lJn_S%@Fp&P$4bt2xn1U~cCnumU|+GQAF%+j+?m;6kRi0CPJp zxdBY09~gQj1X#8+Z~|}+(^G-dv(SMl5pkEy4~QXd=VvN_qnKU;9K;wBin_(P75EBc zNF}OO;U9$qpJ0rFqmD3!grfE{&T`>LE&qU6qP8<$3S7l_C2$4fO~9p$5xk39%9t2h z$e0+K!`=fF^8HRE*Pb&O{KuVlOwxR~)e;6lcA!1EcO z0G`DdwU5kYd;>T~;UX8>BQl+Tpgkg!87BfKFir=KVmtvjh%uxRaf@*w@D;}8z^#m{ zfKM>420p?Vj7IFI$t4u92x5t-iGdU>b8q980uEd7z}k=#~2KCTgey`&ALS~t^^KZyxn05yTy1v@D;|8P*^MD zbHFDQe!&8KgmD7wf7pKhkqTVPcmnWt#UK;j$253*$J4CFBNUFcfluF&GMI zVVnot%y=R2A+rCdSy?%L)H6m~hU{Xz9k`k?m!p@kXFci z#tFc)7^eg0GIlxeBZq&?0ZwNOafKu^E(K0tTnQY-xCS_gaf8Fs^%mo1;46$+3feBcnqMF?uNFqmO)Dy7XdG1TnRjf zaSd=DunVzVB89vuW&^W z@C=C&0J7tUgCAr8XEB}yoXVJLmdJP|a2(_9z~PJ=fGvz$u=sF;F`7)fpz!Kw;11H6#&5#TwD&%yp% z^VE+usHJrR<2c|9#u>mVj8RLgoiWuinsGUB2;*wRiP{+N2foJm6!1C5ZNR4p!~VZ& z$B!oU;MFYP2F7{7b&R1CmKw&WnfziFy6&sHfGe5a1YFMe0&tPSYf&+|tb+7wQ87zC z)6;>c&EOwYn1gW*%pt?AS3N&;4RmV3s*3 z-FpXUu?V-y`@-=*1h41fbzTv;Tql;Eus-CvM6}?M4Vw=cpHbiqJ2PfeI5pdjO(cuD zr+c?Q#1BJSxrqc{NuYJJD1<#}tt1MYnP}ZC$`KSd8~=;+4a~Hy)Y#1YhsuFbHDLYsE)6y8uJdFJvjQP|b+ z+64-`(rYF7A7?KAw`viPW8l~+GFVLcy*1{CadaLLGT5@qUj~;BQyd*}!-N@@1!MIM zH6)9Yf!I`o*gWdGT9*gPoklX_#Y{RDolarjY&E3PITEZY8H9WecJ9W7ps-=xw|q1f>T znzauW!AQS7ij|GZW-QurL#=LHpe13$;gzpwNf@#1m>#0=lr^@e+#S8t@P4zXI%ORm zcDWAugk%oB(=M7%;pDMwbiG2kYb$5rcK=+Fb=rF0h^0}!X`LwTO zIu&W4y9=2f#dH@J+|j}hqRlT@`H-`$han?tE2mE|r`MJ;-R?ub!E}<1As?4be<9iY zAV`-)ikTi(z!{Oi4HRG`rOfNLkhv<@9YNij>zqncCLvJqb=91c8Y<`fUpD-*n z(}zWK!R2Q9@cB$%X{M*@lBh7#)AW2QX?kK1-H0O2Xr1|mk>O0Q@}V~|eUq7-oweCQ`sMsfmY(4pLgTtJ&S{S;PGc}cJ*y(@F@ z)O_`VHOTzJcQcqCVy5RsF+JQ&pT;$|M)}ZLNu@9CDL8ZRbSl?{!NwYAe&Ks|E+D~& z&dMkqbVEinDmi_kIsMFfrYD=}-)9Mt)9*5NzuDZD^2~;zfQQy`M(O5^=IA2LFw^I9 zFOZwJ4Ea35ZEwx-q<6{g_vm&mV1nm?q|eiv#$l#EHiOgWn(05_ULdDDhJxo`%X8JL zwA4(0Dw+!@@}Zw%da;@QG#es0i-d$+`slYrSGscZ3(s8Oj8>ZIKib9g3NwAFt}B&h z`mzL0zs^K=4PJJFA5@th41P}6iA`pD5gQ__k8Ll~8QpG9zg%au#!UZlA(iVw_uFND z@Pb~0S_9pdIk+^L8LczZf0D}ddLQ~Brtde?%d44ACf}uNDGFGj*Z7e6g;g{7g(GJA z%X%9(nd!gKCDClAZ;9r7PI&3AC=|SFacnwwmc1bV;1^p|^5A z7tC~Vs@SEv-xc$NY6rh?%}n1`%k&#&`Y&~zxMillp2z9i%=D`Himq9V{y%EGk!vg? zJ%*-vO@AT8oY611U@hECfBhU65M`$CU1T^MgIQNGJHvS*taNnf{*MWVvSg`>KGUTArC+H-j0SL3G{!M-%K#;RmzKFYLX> z^f_kw2YM6ao9Q2xa{BpZdc9t;g$B9{1@BAe7YYmyK>tXm7y8goaQdZY`p0_BihSsL z`eHNvKn45%TB-TLe*J}V1055RXY;w>m1g>LaZIl;&{2U;bb6%^y^YhaGy4B{;owSs zP-T9hA%W?eeCRDquQt;g3z@#%O#f^?(`$4(`Tr>RQ(dcf=?@hBa3a4@Yo;G6V0xXI zez=zD^=A6#c}(ALrvJ*N*Q~+(;FO(TIOIdu`|%Mo{q!tO-{eEryI-@J{zvXjF71T* z!Jq0lqf=&ji{3OXX8M^qoW9kEu6NgSX8NC-IQ<1lXa65f@E2~Ipj7hUE!q6SzgeqoDQ0@Bg=^;1WH(sUwsdp)8}*z%!$XJvkAiP59$Qwcg;6H2ukJ$3(fT48%!@S(?iOcUTCI=MlpS<551Y`MT)Nce>6duE}~-d z3*8d=g;F27t`p^Edbr+{D}CsC1u9H**WidAUOQ zb(5JMrFYkAAG*{P`2V);<_B0JkWQ&wlr?m-J|~#I%bdRNEvDC+>HXQX%Y|M;KK*q@ z>yh5*{}0ILjP{!|(gTxn_1KV6QU<3#WKKUw*NG!$dU6n_Z}QTm|DUFdwAuTBy5)$K z{K5${{cBx&PnqfIDV)B=Odq9Jtkq1&;;Y^m>zAW=M*qK&P*R4#qeKq_b(fnXS1=EwwbO$S4 zP`VHO5U0;D(k zA)jd%IG-7m-r)aFKgSPdnKPOZ&h$AxbiLqwGkvDs#`AsX&799d1AP?Q_`x~+puq3| z^zTPAz0il=D#CACAA3k&Ki*n}=bj}%wSN5TeF4{xZMQw^rMUF(uzCIVXb-u5Yx~c> zwZ%I!HhgW3d_Wa}rMISRyIP8-l|>wyk1PEPu1>Vwwo2CWyQd>Nx?jSu9DIcCm%tZ+ z|1(Tf53=1Up8neU{V-lX#@eiCZpQ^*U(Xg7zP7IEYP)&3v|mtyB)V?y#M$i>zq8x6 zn`=-SEd;jFbN$3u>A@g;^8G)!Q8>tsGtt50@g;PeXifpgSPQKVQfr|{Xt6rF)D>jM z8h11<1*FAle2n-eohf4B@j>-oD2Os3Ny-9CtL+ZkjkzM_77jfrk)+wH6J;U!KG!_h zzNX6$^y6k&nY7lTP>AYgi73Bi9d;*bilxYWENkOrRZs%U6LPw_Tjc-8+S_Kk0h!#g z_5nx}A-8dJMRksF+_nz0*>3I;MYnOl91F$}7Ah!r2T&H^Z;_$WxkLjWA*t2WG@tK8 zjru5nPI_Z+>+_>DHhGyhq>0OlF}a9eCsm;SW`|KqT=z^31rS&bTeTo8hqGhXMse*M>%G>)BBc#quJO_6$ZNEt zL0>GNC92!-*_lxyznA8hRJ+zkT$`aKX;r61Zo74)b%`i#_s=oxpRBvY-`EtyE?ur3`a zn&)e=)}7+rnc8=Jr4oBJIMd$Ik(txcv1XhlYR#kQg6@Qk>+`hH*o8njK~JvWKMXZY zgWaxW;T~&kNMF+4gQSH9!*YPM5FO^q0&(qrTa2ya%>z;crnYMS8gO}s)PTs#t7R+G z<{EeWUVN`mi`CxjEeh|m`M1kutH{x`q1F{^^ZuMJsx_^rZ++q~Ep~SNYZ>uj-skd0 z@Y-tycZpXt?JmD}E?&hEP3n0*@9bEy;g12@@#11pc$ck@t>e`+al@wFZN;r{K3bF? zrS-Dz6%|4FYSnmr5K((5c3YhP#)@rm!XB*sRofOWg1Tt0(&mk-F52ChS4plAI_|4w zEiUbzPB)^!xD!1%wRPJZ)w~6`M$A?K-cy|J*(DpgYPf>0%r+Pzd7+B! z?|1EV-!2x zGgsq-j9OpM&a7W91#O=1NQx@Tvg9Qlwy)-T%leQG{>O1yarmAp9sI}ObdJt?CIW|J z@JYe@sZMtu?bf2-z|+rCOO%bHK@S&wbW?X(6*%4B-62v#wRJjNsgr*)WgmP z;~j3653*6No$F?IcGRsxxfmD!mL~9_yoY?XJ?yW`@Gh*@>xuLs$~(nB!?Z!#OA#Wj zn|42J)0}SFz1G=&7Ob`xGl5BvqVw2_N?}Ls<;-e(MBe2 zLk#e=xoTQ}5f`ELv+g5bh;tYMwyD=n5hwaP(XeE6UHyZB;XFU1(E&VnGXGblxeYo6TM(3`>ogMFxx`*SX zRj{?x6f{y>sW9wk!#VA$vmz?W-_k|49CfMW6oLP+V1J_S|p)9ae z{&0ht{hv1|5zh^l+8Z${^Ff9%Egyn5f8Lf?QogM|j z=dCRs7xe$R(kJEksMevdU<)SZWBtW^kWIWlKkFkBb8iXEcRD7JG4X%*q zscFQAsbRZztd*CYuC2J#Z|$Q`^@+k2FLZ%Q2x^4c!1n!OU5qx}SJv7eGDS!%I@L{) z8jFD+<|$Si!k$U0WqXq@kF_n!dOK}@n22`djt)L6k2I?nHRB8|rkvw5P9 z6t0vKn?c>X{u^{@13LbRMtr~Xu%{bsvC)_Vo2z!+;!@a!>%T!_<>Fwi>P zT}cz7D!0N+VlXD@phbIPkc`4W1g0u4Qo(8V9TVuezZpAuMiwG_;+rwZ%g_^dkY=MN zo(RS6ecVHX%Uj$JF846#^4yNc93I7GSMHF_lmO32I!lqc$?oGhb)y6@Gl7_e1Ta%t zLtZ~ISwr*yOlEqSe1rU1Ig-*RK`@kVCx;e8>F?-1*f=VXHxJL}!Kc)h2`Vhr@`gQI z@2AywYVoe$t)g_Pmh)GLP8-M7)bKaC)->y6dSSShH6VriMSfCMU41uyP+^L>dD+WFn@e~9|}uGVe|NC z0dxbO=p-c`b)0Vd!bIZb&FcT^i;(0j6x1bS(d9O%gaug3*qJa(O&5PR42+7qH*38- z{q&8MI$wh1k@VYaFDu)3gOwC!1uFc@+h8TdVLQG}v?A@)%cr=H+VKwC=*w-ajc_TO zX|7~w8}$tDw2@U%qko9m)n!+*Dq*Q#Ryst0?HB#gBgD0x}6lHw+dWzHOrQIYmv9}fbZof&g!uK9DLgp-(UsBD0Xr2PT3QeTgj%*utbe1?uNVX=l&R0zx0G;p4lO7(2Z~;`<>F2arCYpQ<3Pn%5`GkkiG$mHf?YRmoN8fLbLgdsH`1P#iToDvRk+PBr-;?)mWi;TEYSy>+ z=-*r|$@!jiIg!yCr~8TXo{`$?GneEq#DFOYA$fKj^JdpA;7A_EZ zwHl%m<@+c~vbH%UNE9ae&jYn1GsTreG^xkXB{@vqwpQnsSRC4T15Il z_+jvO25Jxb3Q5D4j86@Ow>EG?l6L2?#d?2%y-7svdGPc!#db+k;l~!?NP?59=Dz5| zHD%*0ab=InYmZo>ms_$S!Hk9KQxVjEOCCTMf#e;wBPCM0($(1Lsv?*8+f?g3=ArT?QRpqGsy8J!7C%A?Bq$@{EHXK!WZP{*ILhWZ#< zP<~8B9rr3*Pc!Qn(R+)Q=_|h2!^;e@I4ONFfnjhEM0zn`%WH@574>9o&?x;XPY#Rj zlHd15eXH;x;*;KXFxMZS;MVS(y%V)vPdW%sFB~Ue({MaTO>3f5O`W@0 zR}D3F?Fr2BXB$P$V1&g6cJeragKJM77c+)vcZ)}R`A03aPocX*kO{uJ?h|<?IUg`xmxIU1%@-~A*#_G>7M6+a z!#vT`R7*{AHmswZFE_8U^}gG7@H&LYPT#BZ%$>iI1c}ana33xM*Cex9h4~egW3*nO)CGc5EjuluIaj+&;9Hz`X;1VJ(RX8-nJsef zHq4u9mYR5S**=-+<*AZZpA4@0D?O-j9kv5>ky-_?y4Kqr?;VnuAE*1yGQ4YtA{qL- zXMCnH5DeBdP~o~0Ow);6nopn)*`Zk&I1gG4%+T7EVcdFo1sK4%b%2}$hq-SRts+HV zTX}S_I2NPz_Um5zm-u(DI}cO$O46P??-$~)&PK%R7#XxAZT>2;DNVc6dR)|}X?-Wh z_xBin&%8PQ05v7`A#ktH6ZAoVMr3N6DBY6i6A@t_p~a5bf7@H*m(!4sA<9}&LLztA zJ|0LlH`n-CeDXTbO2bF6!y{m(ulnh0R1PY2QZ!6Qr5;-&){TT#4-1$oCdOY{@ev{? z9qPEsPgt_s)nkDJkNeOBph$Y{n`n)udM^FO#3I+(@uOuTdX#n_8+u4&LbgE}vZ`}p z@^>tMIjiApdH&}IKXcgj?eR+H=j6i}M#@#>!=ST#cm|5O36iy!J!(nReJZEB*K+?> zilZrFRHX~fePIv5T(QuD8RrQtNk)=BuL|g`R(+>C8CtJN0fJ7ktME!3I!{99t@73cv`R9XI7M$2 zk(Y_iv-hZ>Xe;tD#KKohLD85)ynhq_Gt8am>1m=m)8Et6-XA8S$Ds3cGJd_cQT3jO zXNu-A=snl{dXMZ2drpgm_ac|Mojjf>+UW7oz>jP9h{`NH?qq$kwvR~6#^Y@P-;RBE zmA@YKoGA*&LXX=0Udf-V^@=$k;0+uwr#EH?d;@C%UEhQtVq-!hWkp>Mf1mG);SqCIcmBpudKL;l(tUNBr(By4*Am`cHvM ziunJJpzK>mRB%#Wv6~<(Yo`$FTP@y9hxaz!U;k;bZ8*A4*MD3-9`o z_vvtJ?$?G-y{v!xB14J-!(Z9Z&Oi8~!ey6hZ1xsw0~#%nL^ghtb*YMt4whpX z(bd-mtaAt}r5ilg+5X4bsJ5J|pca^BM%zW*1KN-gZ*OvTEMJ3Xib)aaeoB|NpJeZ#OG_9=aC|f;}(N zjvE?;K1`OW#jHJZ{Vq}L(1v?_i?=Ui8+;4wOBshcFOu?+6UFDYv8vFJjbQn*tH>Ok zZ94)smK!7^r~95@Plx_Lr}(=_wL?;E)T8x9sR1tP*3ZgFI>f{mf-ED?1ta3?XPoZt zy0>%$(TG%}IpTCj&O=TR@h-$epWO{E4GWb^Z{uC84ZXe%+%3bi5TrHDO5sw|E-<18 zr*>=IRiNZI__&CgY__)2R{!#-+U(+7A*v@sAsfY!$yf>YpX=0qUpmCncbp7|*oo0^ zpr3)4sUk#rE-d#Nk)P{dVp#QZ$(m(XDNR+rPYcRZu(-QkG=Im|$)fO9p50*4y7hf6 zQCyp%b9C`!MFOeO|=9JX;7^Ia(_gJ|+P{)}+UK=)r1 zFuhhaO{vOw>=u}b!Y7HGnV5OrR5mIB(~X&0Y^SScyQ-8T_MIemBx&En&KRHJU&>w# zR$QU2?GIuz!cj5jLAapPdx)Y35$eeH^hln2A+>(Py*}1cunlAVt{VLJ1l`g_$oI7* z8FX7To;nV9NErVoR-;p4G}%BMGmZ?tcN^QZHG$b&&swb59HWixEy8DEjyO*w&jOq6 z--695X0yS=re}kdWb+AHZ!oaAfYuwp=DOwnY<~A-KsL3t2Si@Ftxvy>EV)(AJ1u*D zkD3-(PB}ZK9u*Ck z8d@Jm*O;Q_+xLcwgoh!^X(HocZ2(2E-Mu$^1j@WQ-F<1n&O7J!`en2+q@4M@rSmDO zAJ(QmMfP|;g((bk?8lCQL)har%V;FTu;d9nb`tF~#K3lQ3@lEM_8C+sS4R8%_OZoQ zmiW8deIisO!r94$;+4}PZvkdx8Joq*x!QoF-TZmO#~NAc>=@09P*Q(oud`$FKG6(= zGwQlWbjB`Y4#LkOaiv;zJF+ooQn+eurM@G$ccP8EkiA^I#)>}t%pY+m2FZYj-|7x&wb9N|k zzBEO(&I3FATF3r0T4%Ltosk%yA48{jXNGE>xzaI$edkW`aHGoZ=Zl;j6R{*TSBo8e z*MV;@`FDyvtXIy5;D5f%%le%2X2Cz4rUbw0v=aPXqcUX`*Pd=`#jRX#W<1 zUwPgu_yN<5f|n6j8GJM;KQzfK_*v_f z;9tyEg16uPc7lI5OKE(>0)N5ZCpVeu=Ez^;Q-7rOikRe;yM4St?(fbqF`x7^Lojo8 zf3w`bzgP+CXE93d;}>_n$9cs}XUFQfl-}&ABD8`+4x9d?o@AiXogS=+a6v|*AW{{@_#rnw^yl-4{CHs1VrtZ9#zV~2p z?QJclmp2|m+|)`n(qk|9{JgVcCK*VB0sS7S0}SX-Xg_i~oPuu=dwG}Vsv-EiR-lcR z+5Q2s{O4fCdMjxUJ}L4Fw2^*mUa8BGhFfGXT4b?ok$_8IF0{yE)gqM2e-{&to>V1U3&7zo~Q-dozYFqbosEqYOHDM>(D z`if_?_%Y8<^AS@e+i845m+CV-&XoC0A~M3(1$4^XSV-2jj-jT z6g!v?*Uq+0v~~2y9BwJ5sS5%cwZc-Z*T5;xj?$SV0JBXSNdoiuPjuz!eZKyn_S|97 z@GM+oJG6OOz@UUw`sWapcoycVlNmJ@(~wI)%#~Z8MJ8thOJLbiQS=-#@%I*G8OyR2 zD}CWE79p2TR+g8p5c`X?0a|J&a{dv^IRSEBF6A7sv;Sz6YK}Xvi}W8O*{aUNjn80h z?#KRXa}V*_oUPp1F$`;S&ub$*-L`hSN114+chWN}yvj7;rdfCIAFp(G$wg81yf%Dt zlQ(YG`IO@n^t^zYH`DHW_@VX$l}%k)L>1%U$B(RrvNO$!eBTPC$V-M{qg5i(!NBi{ zqkQQ=MQOK7w4s(}ggor*$?*<5duI6$JI@%*)BVR#7DD2l(A|B#Q5dF*g)}en>Sa?g zRv`v{i;i0O|DL}k1|R7D9^j9og8wey7fyygo|-a*g3GpA5;1hD zWjka<+jq!QELngpct86=QOO`|<8gcsTX+g-AlD0`NP^)gP0lK2i8K zZ6k{*5jCao@b|EXKW-bcB=*_E&%UbIFIeyF7_?DbgDoGni08l5>DGZ8)xk~v;2zRV z8Jc@_V7gdX2Kz!z*jQRnFfg1=3kqQP$+Hm7QfK>>9b(SATAv?ycfg>tzZZ?MKhD^Z zX;+Ebjl6igR~loNBXdJ2J?k(sM_+l8eD7rQxRZn}L_S+9?61Jr-^0Fsh_n6j9^Pq} zG|F#DjnZ2Cun2pe6%&4{4H)}gj+!K8>pl;Q@Lu+L7TtDsB+8i{`^nd+UP@IjofTRA zZC;=1z5HyuzOCq|*v0q52yZ>JO3XqWb5sd&5q-fBLPTB=;s8Fe2l>%Cq)z1b!{dg0 zX(nrs-xwONA-{#~{_;!oKSD-&6}eD;i506q;m-DpSLI}B-h31hU<`QgkX}WDd75rE zPYXAC*}Iq6Gjyy>=}tIoPjH0iu9=+uCdI$VxStb`AVs<>vi3G2>_2XwNzQ_fx1Yx@(Gjtr-ng>|S4J7*jK8DxS11a|23fmghwX7p#eb&7#vk;vRxr$ajJbSClfRRthYDE>FpdouDhU_N{ zLv{uY*@ls0G!5ApITm2Zww#0Z$us@V_OJBqDP%e3fHyz2NVC^Xp!CMxu1?K8zQ$XZ zdyZD(bFqdIWONJ)#0WC~fa(HYT@_6$4PBtFz&BHv5W6xVkM}WTOg_8el*TCX*|BGB z{v`aTk;xGK?YG0bFj+l7^BasJf3VsUIA}kAoBBc$J71_}wJelpsD?w=qiMu9Xn8sf z_!vHZ5Uc_Rednt4MU6k#`o~{dNG0&PZ34-Y$Cd)o_H)Awt+}Uq>;R!>-oJi4)SgI z4SUPQ($(7Jut$5#@+sdVtF<8-{@(zd{^z`mGq#@f_YlaD`dUa@KAu&+to_W-wRt3z zt{3Ph{#mbev2}F8jQtfvDtkwG3>Tl34clKUvHcaIie957 zP2YP9nPWlX{1s{Qerg1f-C^4Ap%&RON4}HRdn!5^RIS-LGn0@B5%UKmqgo z3mCQr1&~ft0nq88XHWoi`k@t~?N!XYFXfAbwc6zA`d2lq*iO-2V$i%cXZy*0p6QX- z6EsEcumNHdm7Qk)ppF=(D<@tZIK_p3MmABbRX&yhq?Bo3&0r6QYzAv+-`NwP&{>on z+PDca8H{w)wl>waLzW>O+IBWscN%8&ZPoMfUIx>w#RwZFuNiV_K4)|Rbw7)Y42?Nt z7&1a*&N?Xy2WXkyz4KjJ0Z~~ES8$XFUysQ*0ZIs&OAKNy09(o|)vZ_NqjkOZolbTY_I%Leyn0@%-k^=vdiD++ z>v#~?Z3u7;QzEp{V?NAM1}^y|OPt-;LH(7)XC8HS%v}TQV-k9F5?q`aDl)1NN?9Mc z^cf{odS9&_+W@ObXmeEYgY*XH;sXcTOQVBHX;7ITNG`Ah5B&2zHQmrao16^whbVk2-=o+ zz}eBQ(JLUU-7C0%OFvf)74kb%N^mzeY15~x!#b&!4-aMA)u3wd(;qfFnt294cfd{V zK)f5O|9J3$4)k5bjy9_Xso$(Q)$W;|h*KXP|rH>Th+n3;RIK@4$*(20SIn1b!X)!<-H;K#W*B95Z9 zo7fUmjRvXD@v_iwiMb>7IiOg`UEu8KY8;EHo69lU+3^qEL#8o$hDRlHw;_rTVU%t| zZ6^h0#fcqgRho?lafS@tr#r$CIat)YoC=b_Ona z5*8(1hkXi;@q6A-i`Uvk>KkbI>y2Xmb`00`6{^qNNtV{oMDb*4(L@fcW!a2!pqT>8 z=d#fPOz_C3WxFzuAv@61kNRMN zg8xY2?(jdbB7+9^pVV!zv;AOyin{dGI%fOTO&Y-a$E#uEO0clMr41Ofk4LRo8vhL~ z6HVhkTIT*f*e65&n0eH4yO#yd|Gv56+*=s6E(VU9jmLq!x1ks7MdjNF`RwCCD|(-~ z^gDu8>Em}h-EDFs7Tef#NR>lAug#^EOFiV1X5Uw&)R{Mo%XrxxKJl`i952h^c-d>X zF~b<@*;hsR8(YmAD!XsIx7F@g4t@=jp&p09FFeYe#rSUymASw150%MQ8|QI1ob4Mk zRjYk7DzMnb$yixm?e7Scy+d+qQX1LQCsYc|cEm2(y!SAo>=ecCVbRNfq@=_+XND~W18wfV!s@(_)hZlbd*8eT zu=ybJRP!ggo(emC$7p}WR=_%Bx+9}DwTybO{9G{P7=?2=_(S^FU z!4L*f*M=b+x!Bop?zQiW=c93X+c&wI5-_=D>gpydm#KrGx(wJ-M8-geqtdu^bqed;j;T&X0V z+FuzMP|#XxglK)x)>k`)W6B3QJEnX$jwv6&SkcK^^6;ao_x=H=ls}=~E3empqp-)s zqr0PB@i=@3HU*FY_Tlkjdte@iofmTsqWC49JjQjV2O*_1fgh(F7R`L;5N0w$ zcp)^}z{?7k-}iJMFA@2hwAjew<%iK0 zlL9^t8is&Xq>sY(+3in9j4!a{R8wYu8A zdzdE>!?6l~l{$L{?KD6<^|duj-R)?ZJb4LGeBv;|RGMlj z+Xb|g&FOB!p%J{&qqoW-@{qHA>v+PV;kP(5(1fD~N40*vj`8CnDFuXEDF|8}D&9G& z^{3*FYDrO%N<{QfZW|C?zR=R3)s#Vx2$exZy`F(s_yu%+7*(fle3+E9!xBLg5jk~G z`CGb(+N1DQzc|V1W^*<{o^-M(3yvmy0sa1Bv8esE*6+^iDp~j@V=|n=vX?o<%fHs_ z+7~@2VNz^3MQ>R_z4v&C)?-@qh9)hvtIQoY8bvjM*%dPLh)|Vzw>oG03%y0_muQZo zX`-?T|GVW=@E}%v*`)P=(Q1{nD3Nyzjk1xF^b75y-VVcvPt<9m@EBeUD^)*3>1V%) z)to59*QU%9l)i)?%@g_HqDyF{v)$Fmvubv*q+tHi@ zg1OX?ET8mNPCrfLG{d3UE0gyO<~nsnowmeKQA+s^!#P8CJ%g^Q;=5KsIY$|u_mR)T zg0}JVT+!4FrCr%uTxf=DafKjW9}~ni?Q#KKAWGG6=^o!M?9~I$I$${UvA)_NOo)gL z+hJ8qmqKUzhQVGoKD#NO$J&@WWLtV#5nZ4 zFzu{*Ex1DD{tm@`7NcsVZDjfcqW6P8MqGqx(-b+VO_5hHnYA*gPBHyywxnw~pA~)* zJ)`j||6U^I$lsg!cYm=<{+^=pu^d;~+lrMYztE&bX$|fCu#6w37$5HDhiU4e)?$2! zDcB#tbq7~ct5ED=GOXxaNez|!J+3vld2R!&(zJ@du@YnlotFkvz zi!=0eIHlUEV_eVOl8X7gyi5yU&Q>cpGJTdIO=~JnvIgl3Z^j3D0mT+a9txL6gD#_5 zTiZ8AO#1_Fhd!?Af45X?OpO{;{XdyR^nRgiS1m=V?LV~mlq2UHViJ{D&lv3|2H;5Zw3$12Y}tm95xd9f1$ z`3)jifldJSY=^wzr|Y+`{NYd9T|GaRcErobf1%7Ru-fruV1g#m-teOPOMLpsn z^0xGTANlZrxn^IpxwO!Z-tcTYt*w4+mzLLk)*KOZw+YoN3&I|4ixE@)ruB&YoTm3)_qX70Fz@eg z7Om-8On3MDG&A-1)1vloSk5+FNmTt0OyyT22|C5c7ewMY?U|nM-88rKzXpn$b6VfN z@5zzLtJ~LQI*c^18HXdpxpUfBwYvo|@1SbZ3Yivnu*v-MKgRK@L? z<0QJ|K`rme69AV_5!-UPPddMFj*8D~@m=PRa<(t%FY+&9{O4+v$~)KPjpF(?MJkUj z_!2GWwdtO{8Xr4AS6vO~z8|6^-|jzUgP#lzdxF2ytH4i&!xoYTLv#amptBI)M+|=< z*I_>1q2<6-yhEqyar^k`nRqAFVe3l9MeT%9b+|#l%f`VQP<6NloL}~+g;puMq`K&u zL3s~`#j@rBOArbyM@Cq8?iWf4^vji5h<sC=}N6k1N1LIx~TaoH~wo)4{}YW`fsA zFMF9#OnI1)>Po|lsQx>)E$J6!$WL*qT1Z=S`IKn>yEf*r%Po>AFkIT@ax3{a4qKO_ zUPdps$Z=27yY3?mqVZ2Ym%9L2%~e-uL|bg~jojgrt0|^(WK( zil&hwQp@zR8J4NoJP(Pqdh?x7gXTcjr73(Tz zM=0^^!{`3M@tiOVX)UxxT^f+q&%M)!i3>Ut7_>u5=RGG_>LI7(}!wl9`ioh9XJ+8@3^tSw+ofy`_3>w zZw$#FamP5_`(}F@VT(Kni>SqZbd%%5%mV+-aw%}l-Cqh&?sKT#VR#p(VO~EjyM^rL zm*$IW*R)vAUi1BV*>=Ab=(|iS(3+e4AOAa;HTOx-Rb<57Ot#OvD&YQ-Y+txTYbXAE zl%W1(v6$COn`j*Lno;o)Z3mDcRdlJ-{hRaVihh}*KzHSosd|LFJ8ha;50;(Kb6CzRlw0vNYt(N^42DhZ<9FU5p81@3&HPXM{U=wTMt zk-17(|G{q5z2M}%x&G^Y;6(d+qDa064Zc;*`@O@-pEF6I*l?NebnltwZE!6^)-`|s z34E=hQPkhkM)2Nha78yw`>jMfwEvL%$vykXVKbk<>Y@0&xlg3t)&`9J;cSl-yhjW4 z4ytdgE>}`GKu&>l_aFs2I_f@RHFveosf)pG+_(v~yTU;v+!Lm+>^@oc?MpMs{BbJn zSCdehcSYTOn3gS~P#T?kPKR?74SCQS@Bg?YZ2t*)=GpS&MR+&ataI-!@SlpJ%_9Fj z#WM`Mzd@&?`S3fZ{fBI7-+v*FhvktGzgXdE!%fn=+^gCbb8+{7*Pv`4tNIRHaNl(; zD*Ip9$*6xx;lH7(?A@541xTx1FA*v2*h>AH)FrQOon9p7w|nk~O0yrJ%cuN5zoPx? zyjO1y^)c(srzEcshjzUOWW5Qprt8w8b%)E@zViRRQ~=*EAU_@5=|CwlAQ{}EA5J?^ z* zxwgbBpvIl%o^tRego2*(kIn0IZ9_aG#wWA{6ev5$@}D&KVk6Qx3fXx#MYs=A948vt z4aU~s3BVz88)tj@X;1f-^E1h|uQAD`Ppm@;-d!1}a1>1QYc9Cq01EaVpKu=xrN(t= zSNA}+P24l65_CP9T+4E{ukc#5PMC1Pup2e;e>RN2CjP_FO&X}1c+Uv9KcQ}t00w)Y zi|EodnImjF5&yQ@?$T<;i#W~a3^DciD}&i?A_#C}u8g` z!)Mh|wqBw8sQb}e1VP?d5!uC-&~uHCe45vYtS+{`Jv%6>M%~q;qoSaTE#4JHw#F0U z;cmMfYGwz^bPIGi*%oK}y@S7nz84TbY5AYzLL=xV1u_$K<()JWsg_R)bu*D_frplZ zZDsdhY&F|~i)F}!`@~1I@@eRd`^eiwXZ-taQ9231(AR@$6qA=P23Tq)bNAI%V#)g< zG+Juz`O0du4t;q*M1|M}Ox@;CIJB%g9fias2@#s^El9IVFq z-uRzk?yJ?y^fmvxgx|?tvKQy(dhNxPxvFn$z3AVMVqh*9~mVJ=|T0Yg^v?g%b zt@`W&V!NwZQEX`R5X^9KR}2b$Kl`aM@?BtFnJ4eOs>_51;pzeLg_AYh!?L7q#ITZ@9~S zp2J;L0m5BK+qY%6&L^1{<85`$_U>u4cd)Nk)nD$p`OV+7FtMPg&3rLFDMCxAsP1Wd zq-VL0?fVS2?+)7l&qn`GYO?L7L#+KA+8KjC`VRS{6i4Hk^DY|N;FA3bSCCnYsZY`S znS-Nof-N5YWz`+FNZPbsgF@(k6aT-)|8Y(!PNYQJdeXz3Xxl@vRnw45T;@1@)C!;K zP|>@pY*8DHomd<8ie~&Duz{vSMdlv6ekO^B<1M)&DhBDxZj00y8y4fvVnicvS?1^6 z1XOlZ+SWI#6gUfHbQSq52^ zJ!+v(v=vgE0&?l;+0XA@*B{Rvc%F;rkWAXBM7t~cfA9#dDPF#z zw@sd|OzCZt=Ops^cSUd8aMG^*y=`OZe_Lu)yn5b5zj5);m3Uh` z(L?T3&y(-8jiKMjx0iVSPFwe$o}-(|#IHQIiA;O-36bpcE+g#eF`w*gzEgFD8+Y20 zyjf6HR2C@-s=V9;+X(OJ&^Vk9P4J{a9TG%sf~}`FgA~t0$wRmg4^eoZ{1{b6NFT*R zN*^N+>7M71Rh-O$4njibqNs1iiRwPKST9T1sw6)G;;A`~WcIP$K{5*JYkN#{w#$>b zo)GTAE7{!4hC@U{%^}=o>WQpAulG0m4%^7ThwsoF1IH#8>1cf{M6Hiq%BSDl`}0u_ zR+Jm!r1co*{^e<8WLP-dHV_%v9olcOA#@p;k}9()c}b3rGUVs7)QZX>J{MHN62$%{ zf~_)%$y2bX?FYYfGPdOQvkk$8Rd@!+t|14EN{3iFy?)+Ya|zOMrMK+`uLc8KO`|gm z?3X*$T;%6i?(zLlIrwoMyGUiF<~LM2-P`ntojUjA-pUcXFN2-#Ro-aa7Hbi|Q;V-g zEcckGEmjhyXOCNkrK^R^4P<0d0g7W7Ipw#gl;hhzX>hT~?r-bOtEDi9P1)SiYimn- zyR>6xWQKHD#9ciF6*PplwvhLQ3H!0}Xw?R!qgD<7KU>vZO@@Ic2egt38?}WD18h{& zZD+f~w09~QN1LU(=z{|cE=4?NpfIxCZ9208cOdn?S3B0n%k5S&VFu@VGnp_r*G*;k z?-Nve@l4>L+OOrw9p!8O?yzz+UJUFQXur->j>eDLJ8Ej>xS!HWkRUU2wX~mig_p zsUB(T)qAefeQW`}YS#bKo1Ly|YKP8$wRUq}j!p_U_7q}X~t z^uwz@h4oQ|X{XRed0d#fe%HO8#uzfcR2a5K2E?=+Hh}_39|o zU7@L#Pm7VAbomUvfcfGd?NbV`vHGl|x*6>7t5i4G;l>ptGqWxfpT&E=W+F#a46}XW zi3fk$3^vns)z;6BfPD&cbD3)wpiG1Nx@Hf`Om=7uv;E6_elKiu9C~OX$y)c$k@j$@ z6}vcNEtVG=-!IDQMvUpxj1$9c4}c-*{^Oj2WJosXXW^0c{KiRytu=dWiofK77=xxKs!AMyY1xtOG2mz=@*802>rEMy%Io#gsbbkI zEO98!HUKT@UwF}6pLfacpil2WX#0;N?;PYaM|MG6X^XT{_3%G9we+)k2qOgF%v*?W z<`obPLThqZW?%K?QI_$rUPES3&kU+iC^M}7j4BeG+CZ7i?GZ2&a~^8!$51F5M%el) zcUE_Gb+yegmgBI@*yx)tR5gJrnQbRq_1QV4+J^>;l##ahu;+RxVSKz%9K%L*yQ@X`n(19gB`-OeV#_^+#xI_!KB#_ z645WYGPclVFB^_4#1OXSrXEW;}D>Y?QIAT4J_dFCHlUo-|({z>TE619H_n z4(-9G!teGfQs;gw`)G$~%A_`?(zh?zffFrPXH_A&d8~1H?4;(tB zb`RW36CR%dw(w-&iB26N)AGmyoTmL8nJ(-kGF_LZ7WC%$M5Z?xBGdb6?(3u1Pj?cT ze%}z8{+J`vPj?cTe($P~8welv3A4SXN2U!M9S>bl25ZGhRw$lRm-kl+{@zii`=d4f zd_L95E{FFFyBt2^T@H)=Bh=W|+{;>`*nG$*sKn%0^M`{Jo8{!QP(Nfge?mSB z`r)40*s4b?`-rn(Pe2iqCg1I^7=<&pv!UIX+<7k?&#&S>H7BAul2SaBsl0+B-Nwlk~M&fzC6`t2N+w)ySj;?#Y% z;XP-pF!Ql?uZX+fHemSSSxV>XB4`ML8S;#&?9x`jZmJ=s?N1Ze=V^n)EB7O8s={Ka zmc!D4QeofwZShHO8$7-jf?4i7T`Zoay=B;QQA~R-3=80LD;FkNJA0r^ zAEP{9&J>Hq$?w>*{LfvJSZXLV?<ShQ;!^bdJnTu+wTNE7L5NB1{5l?)m00f3ZBaike-DWxVg! z&9FCUZUc$zsuVd6+lZdul{0y-$N2IjQSPvf^+d2g&+!++n}#4q(RDLp&t)sdcAUq+ zTa2DZyDH=kBDt%gt<5VG_87sBu@{lYF(GT5Wb$)4Wj0IY&1|n!ifHy{81KeCr7k+JjgWE33@75TrfH*w@*s1vacX;rda6P}3H$E%v^?b)! zseW@!zdf_^#=bM`CPkDzi(+*E7^PuEMX-Db9uo+9F<=82fcj227l1& zgEn5h5OKphH(X~$Id`Zx^;~Ki5xy8Z%Q%!?e(pNO>hsF8Fhrr*IoHf9#^E|P#U7gd zkk&Pu&Bz0-Yc^5j;n}0}uikO2t7bnGahNV2Kr+_k1s*PBvv46En%yK^2sHcb7+xO# zKWO&D#7@mFTqw>o()M*#>c%sMQjhMykcdEw!jSJn_Hv`Ynnp_gFpcLgf|3)D2_+9d z6t%k#zNzZ}CU0JZxTXJ69=8~0nS;K@Jm3G&jyBi^(`9Wreu#cQ!wF}|mP zuUw0-G|Uunzg~g|r7K96=3kv5ZeVpxfBblx-1U!ph>-M=b|HfwuSigR`_6c?>v-FR zv+o3)mCw+}U8jrK^(OaU3Rg7an(?`d#;0&a$3#%_nnopj_upU9&pU(jDG^z;b=^!S zT>lr8gy+nI(VP37f~AJ%TyldS4v9AMj|@*2eXwiuvfeS=i4gZWv1z_W+$E!K=sA1w zKAm+x*M~cn!DAi0A*pisVNvzau(@4p-np%_=4Y2)U-P1`Z_Mr~L>9!)m8V_PAv^Sr zgTdqG;HNTwBhxX7>Z)z)&F|T>~T|{>MC32Upr;X7amGz#p7;Ne3_*y$nIaU4fEWgP?imbAZ%WVgNEcrZ zH-b9Shb12AFCe{+=qozYvvLn2qk=MOJ2P@|BS!xTFNFE9$s>IQ(sK>^O35RA7Sb~* zUH{90B&hgYSu&*udC(iD;CC9WjqJ=g)Q$q-R6vi!8;lN#MTkG8CwtJJ?7Dn!*0m9< z9Gc4Qeen5{kM2>&D2LwTp-DJ1dEzUcmZXkUDvJ);k45n6B(-mVmIKdbOF$oqZkUV< za>nVc-W9emyOzVX6}UTL!76Ko>g)ByA_#%ydN;-$z?CP$4psj#h!?C-y%f+EuTbw% ztU26oB_`)5M(~)GYJjyH6TG>-SPtd+E8!whxC|LykBe|JDgkrH-Rc0|zEbTkY64lU6_yRdFX1WYQMg}()%N6wcxBT9(DY{YUmnTL;5g&ZnfG|AdRar+2HAy ztWNCp=vNdl!)*^RPD+Lm7!?HZ;$-w3+8w_}9WiOJQ2AbcS0Tc+4}F9myefOY7RnG` zT6TKD%Jpt}baSVIK91%-YjA^lAJ(G!*Ru7{v#v}q6$;Aip@@(lewh2QlNYRk`1^)+ zD7^YQnhI`TtBxGF_n0tE{2pEw$M2xG8ZzKx){eEfqJkDwtTme6yw+%~eVsaE-Xmi$ zVcT{^VIn|yf&QdUa;&mvh2D;icJ0wa%9#iuI&EgV9?>_NM#q2L%!}87|0DRQ!YWyx zhbN0lohdNY>G)4M5y_KM5D4F+AG7G4fy|L!j|}MO#F7*Y9!T7jqAt&>O1R$FQCb&Y zcOtQKgzxFu>FZ9Ub*4Z3Gfa_u-H8Jp=@*brzV1YUNBUo5vpRg;iBgXY5m+pS!0>e^ zDm~JlLOS`n6LlWxJCIJk?nJXk`WmE@udC8L(ib2-PVi3*m8$e8so~Qeo`4MUbydM0 z1qLIXd|g$vN4n+4zAk&Khp)@VtwG`I9vWcyx~gpMxL18$sjA>C6=uKtO;%}H#yI3M3&-gJ=K1uC3sqx@V7{pmedE6#2 z-HBif@MT%zh|5n`sq-Yx@I0;xKC6G}3#vY;f7?u~w{TJ| zJ}2kRcmH|;a*EZxIKjuw{9i^v8JP4R{2A^=cR!P} z6Ff0p9UbrquJJ1o;49ozXVAsnvJHF@i`qVm7p9{>K8fa)c=~RmnE^NMhsq+jf;s7v zy@$7|0ll{2a+0YMCH|28)tUUht?H7MpOk`?9;}7^h!14gaT1Apm)qZljRhLr@k!l( zL-UkKpYLvYt*gp@`VHw&Sq47ywMZVz$4285%gOhvyOmQC_kTbg*=yUr&hdOISWgSs zCf26l_RkGnx&8RI!R>*E#o@Cn>jAZgtei^V&D&vlr_y+92KI4VPYWx;o-|ktJux8} zqMyp>)bjlkc;q&WYmc(k+t8!wzZqo}!}=VjG7oP@C!~MG?c3ESmHU1^R5GT&s@!*m zS8a!~J&Gqi2)g@lT?9|xQ@JpV$gakJAO6_tgKEH#QzAqfjCRCzUO`BI(=a+Tp&8{T zZaHU&A&E2RNTc&k)#?EU_xA^(lL#_&7(~-K@QR34w!FY&GSxlGsb*f4iPh2;nKx#l zN!1;fpwX+DvC4hBxZe)Qy7^5Wu>%3HYJ7jsxFk*agL$T&zkuiOKpU%b`0*X;cBQ(A zNAAQ$;j|}qMM;I%t8}x>({|#nXmus{<&lTVhZPmZDx2GR{!Y}HhOPEa%+YCUjPkl{ z9kif3%G(6prjy)1OMOvEJIX7v)ENUeO(%LGs|S7BHiR2MzY!5fC%SXfZ@fNR4H)MZ zCziO5bK3anp8K*0s)}0@B9st1-`yyF$OiAYaRQ!*B5pj$%bn2K=}=zlR9|0pI(EMM zk~z>s8Nd1Nf6zeNFbnN3y}tb$L^Mm3u|-h<5DeIvz(S z)eor?2j1(cHxIt4&|5b6-UGd5!+D=h=czirf*;6M7c2Mf5_&|sje9?gA+`P;v;o&} z@97V_7C(tBf=-HIFD2sQhAw;k>3kmlu=;G@(}m6~CBkU05{WWL4(~x#DHuX~U`{D( zc+4JkwsIQZZP}xa_Fa#A`byB`C@H9Obgo~@tM;fPeb;wvobih?eME-YPd9SgBjC4w zGY`VE@491#KQ;aK-;#Nv$X|!Ak3FL9%v$^A{&0>kW| z=5YT<;mX#Ixn2*S7VvoFDarVWjQ+fX=inK#!3^n&d6dNewCTp;uQ|x;1pn3FQU5iG zp)*yVr)un+?Z@tAwLZs(*=u5WPW4LK~MuNh`{i6smk6!3{SQ zd?tg(JdS~W7kt*^>Xv|&Cnra#ZPyRLmBs>2I+M@a9>-CjgMxbcfHP%*Lc28@zNA|V z&ktcJ&7uk@Cgb1iJL`FB7%{myV5ZGXYoAkNr=1Rg2%WZaX(Ay z%4@|XUZV3Dz^n1}O}^w|zllO!VUEuZaP5!~XF3l$1e!Zde-?r6WmEO>@L3s85;S+N zcZtQktP5>KUD5AYc;5LVFUp0`%ZKsGTyyZ|8Fw7PK|`?gsWifBovy zx!{il?j8Mk%~NpjXA`*pVaSyD8jn1z?i}g4{7TeA`{3PWQxWPoo5AZvncFWN=IYZS zxA)u?rH?aaiiYN*3Cq4CJ&M1UV(8v+wt!c1Q555vv+9CE~k^X4PCwVZH_JD!Fu z)W)DLZ+%!vwQ+_m)F$xUr?J#Yz)}h{GnQa@X}Fhu?fkZcd}nQjb7;3F8sdz2Wqa`5 z%l)5$JueM2+Tl6;Y7cZBeoLqFq-UVxC0OR-IWcJ}wO#o8blsF3wdFUcuim4+MqVv= zBy8i&;<@-7XZiTSd~FvRYHKr(&PQ7p@4`?G;LpA*hl$wldF}dm2&Hw2hn%x@MgbNh zEMdle&)GfFMOdQ6P|G=wi0Wbyme8ldQ0ZKJCwo5k#6~|Z(un<@^9Z;sdIuSXp-SgG0xpYQK)OFM z@(8#rItUjoBIehu8ROeM;vtK68S#+Ya4IEYzvsgd`;9!*9AX`5{xLZ7C;sQtQ4bmE z`HZQ$!#bbIqo2coxoux(J^y1le2A|}+BHg&jF{i~9G?H28ZhlP;iJqGso1WDd|llp zk2vB{$lC;ug&+O@;1N$e;Cu@(Ko?@uU!cwox$RuXHA3S6KTYSYpF~_v>kMGX@P%<- z^OgeqD(tph|GP3$Jj&>cUgO%Uu}eqV+hU+iHFR6WQ;%WbEWld*807j~<0ay`pg%7u zP<!Ad*PW|T*XQ9p;(2w*z_=&KX{Eqt`-MurA(WrU(~z&kVFCC& z99NTc_;(n~3zm{!5X*{Cs0UlI&z<;NQuzAB{G$ddr2nq3-1X(5!-y}~(O}1ko=!4Dp4QS>h1a+L< zn-@>qza7D1G|pKd8qjrw z%-JT=rrJeF?TdI`{31p`>|kE?B6iG85^sGG%ZnymVEo=fBDypl{1RgPbDknOVHq!B zl{#nhA+`&*jnZf&=zkO}R+-&-qf8gE$#B?s-*rn9X8Vo<3WzxC>+40F-N!@3O3@ck zLw~5nBbwQAH`IdF)aYquVePLN}09o`nqCn&_6LA z{qrS`s$Ld#4JN}f>x$-eqOO=952fu1=V`B~UcH(m{VU3PyJo$0D0IUhe%CANpf2e# zZyqYy6Uxh8!8Z=j*OjjzT7swltLifGOn=qDD_>O?8s+>AJdi@H`By?`fG;5cja8GfKb{XiLwKega5M;r>x zw(;D*B0L)O^5G9~s1$^PAE>X$%E(l zKd2kKE2+`0h~L!r`zeV|-sY{%R%{!1Oiyi(auHt*=&7v==yu5|OFlRZdof~|#1=Xw zJF~8DWbzwzOzV-!H1AMXd@oIrLu@hbHd_)P9dH0p2q*{C0Gixw-8FzeARG|qa`x6D z)xODV?q8F-DQ(RbduYbE38CY|LixviwM1*5T&DHOcLnv+?&&^bU^deR9snS5U;&^Q zPzopqQ~;^~H2{b-umR8nXaTeW+L$)T#xsjGe^;}=HpDW`9>+9$BESJi0i*#k08YSO zciXg_8$dkL8~}VTKR|okYZ%J;pxm%@t_|0g>v+FH;I*!l;o9NuAt}l3wv(Z6?zYXffM$2w78}40hyXx@EhzveAP-Oi zsC3!KY7>=^T|Vx%UBQ4DKoTGwZ~#yUCHGn@yp_Q(`hiS1rvr6;bZEqpR zgwn>&cRelqf51J;nmqpPvvB67t*OcOjhoW#>(-?6*NU}XE?1QHki}~z6gaa4P|7o7 zv|)VBEbXA47?aGj7%0h4>+k9_TbtfJSs zr}Hd>_pE=*^cv#-d)k<5h0D4oA@v&k8qNG~1PUqq?|Fn&U6VK9nhM608U!INu7bO@ zpDZDB;@$0YQUFc>i0705DgpI?R(E?W0|Wu00g0~T>$FJi2ENJVm8v<_d9!Ljm2SYS zd_2)xv(am2nt0AG?Zjh54Maa1%A1pod~bJqOq#1^leSzAxh>J%ep?z~FQ5QW2B-!! zy4&L=fFB?f5DRb^-XedqRymy4KBbLzy?$6*p;%BsxRbLZ+BiP@h_)WHU{fHFV@ zpc+sIfD@V40y~EziSh>c0RjP`fJgwGN>l>C0T`T$|1tpCfE++Rpa@V3IPN^%QKQ~?)GFmAQ%t<@BzdC;sHs36hJ!Q03Z+G z1QY^F0OjuX)orfC-)VoBhpdM<>metWO6}`o0SN%exgH{}&vqrgpcPoS_KU_`+N+?? zI*feY&=syt`~Qkx%kSUd-So;2C%95y(^7i7eBRNX?HQ6&V!q z0KV>jh5O-I?Y{ag!?VGC^#=!b(BAH=KWli3mPg_VUH=w@XPW!!6(2ma(IU{xWp1}p zfhUAi1M#ePyR~FITikAOS52|G-94M}40XHvBVWmIyL~4|;{`3cNf1EF!C;7$)5`<{(^J@Bo- zb3E|%zzcwz{5G(D+QuS}gme%TyPAH~utRTPhkwydDwVDL)Gr$D7d!Y5;`yO*~V`Z&l4$plX#vgf^C`S{E1nlp_*n70=+AG{ zpP77CYVg zxOjGp=WmFo&6}SR&+Z!kK|H-0c<(EC_Q>F4uV{}c-qrliSF~YXm90$u$N^p4?0VDN zazf#6wQDo1Mk;S_*VcJ`pU#89T29NsOg$ZlSFKKeWg@joyw=#n>tDocb*^|-^w(HH+p53%h}U-U`nOC$ z@Lzgr0v~^qu{475WKa&l?4v0Z1*!)c% z4V7bz4ak*xBcl*d%-&dF5R;1Pezae8;%H5eIQ z=b_&VDX1Wv%cCq&{L~Q34(s_;k;oShwfwZ=Jb0hahvfh4l>7}z8upG5=sbit4?m#@ zO`=(dpGqRLT4a6>rF@QotBmPv3feqOZ_4NC$UMN0*)6wO>+nVIx+4DEB+E^_=P*mK z^#X*#2#FeoZlw1s!z@2!eHjf-MmK(;i5m58ywEIC^=|yCTD)lu%CkXUz{35xJm^C2kw7wnffT#iYO8uaTG(ZM2dCG80p4UZx2$v~ILjw7+ z5tet@1bMjdEaQd9B8Q(1v^-?J7=!mX?igX2WWAWlR1EN=BP=J(_l+Yh8Q)RDT@|gN7rq zv^!mkCWu;pZDne!jc=J~`Lov*RC)!St^6h|a1dWM$r5F~QjEk>{>&uH57u^sJmF_^ zA|Q$J?pin5GC*D~1;cC%9bQestD(cI;UZP&P}4N=s_W35CSG+NUTqY#x(=@vidSKd znp`gkbRAx8;peAV-tw{rqT(D$8n;wf+B_aT%F>NLGu5(#4KQsEf(aV_K&0g(FKZ6d zy2Zm3*LJ0U#A@X5plOy%UftrEX7k2T`TK@;E<`~)Mk4<{%5uqS^JZFi&2=H#GD$X( zfio-vWv}iU)4UoaY0?fC+}tRcEsz6+?JpArM3(D;7)y8A%c}uVZ;Y6TR^jg}6}~tY z{@zICM`JN(^vFO=JY14){eXkQ&O_!x2qRF=qvl#>T6Wla`y5zcI(G#gv&>V)e4bWlxvKQYy^M4 zEfd9hB}sp_iRakvL2wy3nUGTwwO8A z059+3ct0*lpXTv2kyoDx*OSO|k!StNN7BCX;pO7}VuPe%!PlU_H{rdBd&i3O7QDCc zaQ(d%@2xyZyf-jOYhd`wfOv1lJAN=E-Y?Zi+NBy^qrW%ey^*(x_sbcQb~&8~&c%C^ zroYFD_vRe^J${rL>95YO)i@h0({>gGQ4@Ju?&BgOMb22U2xX9D>F@qFV5 zFBQ+xqwoc6JSV-)wfW-t5f2v6s5G7+p1Y6p%=y;ySt==3)kIFxDNeg+PO8u$PMZ_eQn3#^|67=mJui~5F{f&v$Ujs@Pr zgBDtc^lioxL6VU^5YM}rrMZA7F0?M3aZ#_A%HuTZVmFZEP-IsVz5>-1@|4@GL;KWqB`a|9JR}dx?V9}i z2#?bHnC0sTUMosNmmZbKk!9Q#kL2*K$q&`?2qX_f*LzaGUgE*@Gcb+h8KQJ)SF+=Y zyeJ+DORVgYt}ajIwIY38PS^DH;oPCf1@rso&CA{JS{kQZMRfzBEN}AUlsx{G0JP+#$rJB@2d!Y8Wz)w<9Xu}>yWI=sl*r6 zYqOc$I~w?LDt8xCLeqd35`GVpSHqxWiSR5YZA?LaI^kHWE<(Q4M)-?ZDwJVbt)zP2 zV9H&POD?DUD%MZYf>GcACDb!zR4mU+unrmbeH923jdV+pvA&m@3`Ukvrc6!j6wDIC zWQJdjCZNAtV7@U_>~SVfv2(wrNKWV!)AA*gW|#3;BxhwHxxt{eGA0j!^hyxnBbhqP zzf(BtWG2fF;K7u?lu1uONGXu;HDbjCp-Icu4d`4^Ep@In9lh2HJQ}@(Ub8;T6eSSj zOUMB&%T2@w%O|mP>)=z)q%vVNqzvmSWPNq~vaqO!fA}7cq-+IhyZXhCwBaxt{nu&6MT2sHd9nSDBPm&nuT%L$WSKc<{r{ zT)4Pk1pLX@~{_v%+Icz7q}U5a7>DNp1#SMD%q`J?6kLi6^`T9aY6EZ?_JW zF@NKcCB&ib=st@n7ho2qnRH*s)Kn+T#NR00{SJtqfqW9byMrm;hI`PbGbIS!Ba?c% zquZZ7j(o9b$6)M!gxPwv0%zzhc<=7TOvzg0jRYEn-QQu#Tfx99sK8l>yBD}wVFObW z4gjbA?cN4~GCT9VdNJj02XLy;>lUW;DuF;L20yRKpcnckeqOWLYI$iH2vUgv`?vRO zz|#o74+YXZ3gk06OBg^R<)Z~Xqdn;V#FR~IltY^~au^tTFOnuOwCoYHg zx;Y!^PJ^%aBqps2f*>@oyr(m1Q$6zQD1SLq&NuR+7r?P-7n9oT)x`7&3Kt&zHd;<#qm;WqQ8G zvefsWN2P=clr!aJZxG}XehLLbJqlc4%3shB*+%)zOugL)`Betq%L@*p1vuGfuV5zC zH3FxO?zMoam94;2jDGC39P?j%0uthh!6v5szLcjVS%=IJ8$OIYeV**~3X@+&511X< z>(5Lrf`+9SDtC^_gN4PC!SwnOg4gg$@ag-l6X|4`y(b~PmbW53O9aTxdA;{eq(c#= zW_mxzr1f?*p*T`x?+Z*V zEJ1nd$=*M(@zNKWNC+|*V%AjF9Y6uHRMv}0bA+ZyF>DxIdn~V90nZr98&{xRNz5ZV ziz)RIzLtT3ESg37XMbSIbETbPu#cI1PV{d9)p`aFy#Tlb9O>+HCZ7>FsgZrnl!ptU zh7zLxnJJBXkxzIZZzlH-M?TT_fn%8QV*?1N8GR7E+fxHP!C=rQfhmXUfwvOAj!ETd z5V(+VwBte&Z(V5}+b0`jq~1R7Fe%x_Bkn@Ctrc3MZs_w3lM;p6O}d|$^s`_WZm{dy zpGh~Po4S#f`vx*KJ`eOHZ(j_!Z=->edGw6|p6r2d27cTFe}D~F{vL-F1C8Xq2-++V z-A4V~cRy3^t>mo`REbXIehvuS+lKtn#+1_c0_?2PgW+W+9WH>t{v`0vOqvmm{1gN4 zr!bo(2l--`fhnn<4@IeqjB(L#2>77`OuOwD%;bBa5YyB4i(;zeF5_hoWUcuHlQJ5328v}lkeorq?qbqo;I7mXjtS%bV&D;kKf;tv`Jm4x z{4i7Rj6^Lpgulj=y1gFw2TYn(4ctNb*oAxxer7-WT*N%^WFZpBfB5`}@#91VRaD># zQ&P|_b3FIAFew!D3N^p~a4c*znBA?uVuOGAZMt`d!at3?w9n2)Lz%rLW zzJW~X4>?SJzF{oOaybzd3JXVv_(nr8p&7Dx-}y{=rV$Lt4t!S{0d%R+FfiY>Oio6= zxv}uw&6L|BfK$VL5rd2h0)D_~kS|soKP5weIKtoeVai_vJqT);bS$11t%l(Ud(1TG zZi3*iRX`3q;S-tES_?ijux`TA_%a*=ie4u@Z=+&|n9?G|a}r*})K_DG zQ$OGI7p87)!#>EY<_wem1aYNMqKAX~YYFfI1NXBsWqmxv${@TSvt(V)0RidH?Z{h>=q12k$#_{!;^rU0{;Vwg#~r+yR4tp zWUR3cS#<_rQSX3}OcLLa>TV-^8dDYmHw|ULGSp)O zPKG#OJ!bww-ns@m!Xl)S_ycePurZ$pt;GUBoW@v6sro-Md2J2o8i@T#rrs*_Y~ppW zYvh~F7=Qu&=e>L{_+))s*qJ^M1LhZjmm7Qr#xQ9`EAT+Vmmp%)Li89f1J^Nmz6P8O zWZ-tDJTCI$fp4?*xv}{V}R&O z&B3FXts6siG=K(A!BXvz9R<_4Du#jBAmkQPCxQ}#Td)Tz=roMM|6=mEGGre&=!alM zm|6#%_z!^^x90$FqWn2pr-2UCKD(#i~m_RUN>ah%uQYaP1ChGeS8{vuQ4dJnveDOYNNlWy%FpdFFG zNmur7i~}pUCEW<^Ele#A=CP@m?ogXjY1B6CR;HBKpcvIYY@TtxXDc*{4O_yL58{zu zMfCSDWm*An5^ETit3ev@bjs&U{y7wQKH;w;Kqb`CK=^S4n&LdBw_zVM<)$`>okRqG zW3sSUbJ;iy-fXuM{Si<3ZP>^0~E;LW1YU#7qTQEa^B zTXe8#qyekM$uby38!Zmlh>&-Y7&C@<2*|+#x`^j(z|KEXXo^}A@E()S+fgovD!Pac zX!79O#N_S?ym12*E)+t8a(Dn!4;7#o+5GVFOxlou{5pfp@LRFI5cXL}cr4foeNev+ zUycB0GjQsF;rED39GKP$4DpBG$CTrB9{Jf!%d!R{fg&BlF~3|+0d6wnz>gE|CrQJF z_sj6W-)71@q?-$(;U6l{|Xx}9ZEz(xKSXmJ5x6L z0Iwi?5L14^1icB066L7jfpZb6fWFO8MBtqaA$Q<;RBRhlUdaYM4S+ywl$O|mlVSo3 zn0z%2^r=K&!lY-BZ7MqOPfVIu0KA0qKfo;DpU5kP91Tb}#dR~~NNFeCh~7-Or5ZTZ zJK|=h_6YRAConZ64mimm7M_xZ zkWmoQ$uLHoV~QTRBY8)B4d>X3eA4rXUzluZ#_}rJ;4`v2lRw44GW%)daLl4Y&Pd8f zsCY^(Z$vd&@kl1MjoifK`@z-{Ph@+TDua#LTO*G!WnvO=>ZXzKkF}^)4kh{%h!}}( zBejoghB=gjUWf@Zx*3z@%W1%Ayx%+s&Arsb_ih%By2OJp4uoPLlOQ**Ve)Jz_+%Ru z-JHSH$Ly%cN%$j7ofi&z>X)0JWsFBbrBF!F=!OquTk{5atV4f-bnPbWN<$$Mc))@H)* zVCvjVL7(+KQ|@;lfg~D*y-HaU@LHq5D9owjy@68;M`3Fc z0EXt!9~I5idmylqN%V?tCnhh6Lp@|;qcx^%5DlSvMq`NXt^j?VK|gvVe4;<{N$$}TV3TRU zNim~ug`!gl_d{r9HNx~QWk@I?2ANFWiLRB42+sq9B98*EGG&%fOd;jJiBH;6}Cj4UXB)$@!x{5*kKz8$d+!wCD6;o zz{xaj5n(6M^(G$5RIg;<)Z$xagT9RWZN(s4CVG^5_?Demx+as!%pBu_{@PsnyA-3IlV!IqGHOnE@i zlU;=1m~JBUV%lFw1ygb$r$TxQfh$@W41O8J@1Hm=UXY9eq=2!#Fk);xF+&KJgLD#X z>`bP7Q3X8DC^+^uCcTRWno*sx2>*WNL_T%s*hk?bg<#ZyW1nI2XXs#4u(3G5dN0ib zufpP_7I+2m{}Ow(&r(nU8Rpn_{PNfd0_w?76+I$)z-bf+MLg%*L>{!wI&`{_lN1&j zkAu-h;KVm{1D1I}P1hN^2g`Xo@G@e9SA-+itG~Z;8RltY-7;YLb-)0@8 zFPK`5B4IvQNg~UXEG&pAe-M32RfbK$(MmmVQcYL_lP5UQvOp@2jYnG^@L<9ZK~+NJ za>9>c@j_ zEHr--;~Z17#F|8*aW(#1CeMn70MQ0PxD^aU9}$Ca#L&t_h2@k#mZ=dXz)4r(kvR4c zeOyTSGqJjh@yK6-bJhajBtZCDEQ(eN1}#*;i5QAMaFby!Q!Z5iZ=n2RSaUQ37aGBK zI~)${=2YNjg_TS$fPmd%i5_wE%RV0T-!oZ7gA|*QKcP3yZvxUFaU>6-?L;+>huX-~_}RieMdbGx00K^1Y!m`Z*!1nn~@V zh1o=K85_z<;JJk3WOxl)VA{mQo`|aKMLs!ZEoG3X<3CFZgdIE}%Gn}KVDqk|)&nX(TCA(Or%;E7)l?JA)1 za5sykL?k3qf)jIfIq(F+4>Re20}Lt%{~c34FGYS0;cqiFtQmM7;U6JfSj7FDXjdbW zgN)?KR&kRTZ0ZgDP435(CSi!RlplZqPb6>}DU%U>`+ExXKzf;cI}WI!7jwp#yosr5 zK5*)<$yhQhvI8gAFd6Dro=DhI&dT$cs$|XVE~~XQ-4!n7k|nHUT5S_ z8H0SF9r@zCN92>frz~VjLJrzR?VN)1o^05W+(P9y-~>0t8wH${kbx^b4iJ#xOxe$* zOKHGkD8Gm)S{ZN$;iVWLp*(LF+F?g>B_)5&)Ttmd+dt(utiem5uY4o_R)iVW3Vo3r zx8lmz3A9s-H}roi0z)qedoCdQ8O%0R&`ZX&a4Vvn&1O3hCBF3zrYf`3c*JhZSMiCU zi>87PGBq9cV*2D;abasuEb_^IZY_YpRUf9&`a&4D~^ z8LqSdHP>a+?q_nS69U<&z!4^|h(JCW^0YrNsXhS}l7Q3B;M^<;`J}077vZ>J3Z?^% z(%={z$lq)5i|Q4~q+O9<;7tjG(L!j_lsF0tv&q3cOn?wL~UhqIQW=%u%ez| z(q>VN{9Y7h(zy}548^iC!Hmp13N!wD(0AV&s;!zaZ%2VTj{?cKvQiAZoEWAv zm4)-Ydmy(H$zqk;fe}PJQ?fUYT&t)kAuWo zyGQ1|An zIe>BvM*a*d>>v^O(S&0HNvZe1v5;8R2E2*#&pW!e`R|$mE=po-}4 zXX;;IK^BehYg%4M4PD%GjY2hQdB{GHWNYWSEC_94zZ|Za%Kjq z$R`|&x{u0$CmMJR7N0TbV>40~6M$f|Xd>;cVn$=GL6c116Eg>quH0f2$R-ANz`Hp> zK%EeSxJjN+IvHimZgg%Y@&k$f8MNsDa59bEHFKYJEaCYJ&y!<(JN` zVbW{WV896f!T8-8==H~JPcL%!lo^b?u#&H>PqX~fQg zm^Hx3am3{D5;_}tAoa!~$n;}8=&3(rpT;$C*qRy6 zjeU)&T2QCnVsYzxXD)D)9)m)BAi?zPu?<+^9kljQE@$$_gT~GMUbTiSbN!k05W3D> zUCs?+^42&W^cZwz14~l%+`E`MKcTY+=VEu3DRdM{Y!I1fN7tyNgSn3|c|j%UNu;?? yF=cfd=v#;$vtJ@mQzdiXLFiuaBMX`P4YTz9)*lIEvvaRtU!Co$eat#|-v0qcN+&}A diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 68ed02a70d202a585813f188f3585f36a562cfe0..7056841bebe0ecb939c5dfca22d97bd6740e2631 100755 GIT binary patch delta 63947 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 delta 63561 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 TMs;jGWN59`HLsVNGmQTO(D$`3 diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index 2a154698e4b1abf3c332c729c598eae0b5be095f..c0bf925bbc35aec837ccc06a6cc1d91cfd35f12a 100755 GIT binary patch delta 142788 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 F{|7^}H0=NY delta 141905 zcmb514O|sf{{QC!;svid3Mwk<1yNDaEEiz)>;?M%38OD z9e1-byS7$V)M8n2g$m6rYu%!j%FK#!=!T_*Muke=|NES|17o?{{$4M?GVjlv^F3$I zIdkUBIWu#QJsNlH;kdLV({u9`MTx?)mB>MC^-oix9#$2Fe_~r1-o!q~vX8I$V*OaZPFTW&N@Jv=xYE>I zJ*uw@^XksN3YPDgtvB^k=Xd7+vRxyiU8t_UWsM^fTzxb3=6-@4{9U5V(o0ifFm0q` zj8E+!tE>IhGDoA#AOBZY>@N4})!7QBYB{=#5U%zRN>K-;u~&qpD+MBq=|yZ?F&zcT zdSj%+=#%T!>r)hAhC8CDYE?ijP>dN7MFEHL%_Ux6I3dNT`@(W*Pt@s(hz})MP8DO> z(esBo-dizVe8cHVQmwF=di)><_Wojr@%+V>su-U+N~+cd6f)5vq9l;&Fv>5nTsq1B zTS+FMfm7%s0@uNw7XiV)K zC~(u2CpB94q$USO|IF1Uo2wM1zDk#_E>`Msb#k7SD^agq-Cn&sRS{-%Rhp_!1X5`N zsemYOIeoqI^Pep0$sGO>pu(Ps4DX7_rKYM7!&4RhqFqvn^*S18q?lB3~xni;tZi1U6@0gsUPfCcz=m?BgF0wj0>@akhY>@mai zK#x8JA!BApl%&Ge%8)3@p4y)}_VukG$ckYhV`NBFZYp~(4T;Ka%~J|$s>Jy}@b!wS zia@4*xSUhe?R0iicLu!r8se=XUiXlwNfB>+NYrF~UQf5!zn%Tthh-5ff>
{%=I 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 diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index cbabe9aea7d06b5887f3345762646c70290f1654..7e646f37646fccf4fa40361e593f62a1e83dbdbb 100755 GIT binary patch delta 127751 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 W{cshvQ$I~46Ccf{B697c)c*&pk`kc+ delta 127762 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ð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�56fnX1La6%=8B__2OAeNruyzyLpNW$5!Cj+66~C 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

li}y_y?_2RaUcf7O&5E>j7Blj(Nbfk( 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 WV>FdW`Z$?#sD!Gin>_pY(*Fnlh8kD^ diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index bc4c3055261aeeb31032107294784e2efff275e8..d9bd194709d84b47ee733e6fc41c4de3d302d640 100755 GIT binary patch delta 65705 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 diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 89d38f569..39a5eca12 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -7255,7 +7255,8 @@ int get_receiver_parameters(int file_des) { // dynamic range ret = getDynamicRange(&i32); if (ret == FAIL) { - i32 = 0; + sprintf(mess, "Could not get dynamic range.\n"); + return sendError(file_des); } n += sendData(file_des, &i32, sizeof(i32), INT32); if (n < 0) @@ -7434,6 +7435,20 @@ int get_receiver_parameters(int file_des) { u32 = 0; #endif n += sendData(file_des, &u32, sizeof(u32), INT32); + if (n < 0) + return printSocketReadError(); + + // readout speed +#if !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD) + ret = getReadoutSpeed(&i32); + if (ret == FAIL) { + sprintf(mess, "Could not get readout speed.\n"); + return sendError(file_des); + } +#else + i32 = 0; +#endif + n += sendData(file_des, &i32, sizeof(i32), INT32); if (n < 0) return printSocketReadError(); diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer b/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer index 6e6d9a824bd9d61b7cbe2291d92d95df8c7d4869..dcb78dedf55a245374ea8e184b30a9b1759065b7 100755 GIT binary patch delta 71976 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 delta 71585 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 getBurstMode(Positions pos = {}); + Result getBurstMode(Positions pos = {}) const; /** [Gotthard2] BURST_INTERNAL (default), BURST_EXTERNAL, * CONTINUOUS_INTERNAL, CONTINUOUS_EXTERNAL. Also changes clkdiv 2, 3, 4 */ diff --git a/slsDetectorSoftware/src/Caller.h b/slsDetectorSoftware/src/Caller.h index 068aca94c..12a665f79 100644 --- a/slsDetectorSoftware/src/Caller.h +++ b/slsDetectorSoftware/src/Caller.h @@ -1,5 +1,5 @@ // This file is used as input to generate the caller class - +#pragma once #include "CmdParser.h" #include "HelpDacs.h" #include "sls/Detector.h" diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 8c95fbf63..6672bdafe 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -1883,7 +1883,7 @@ void Detector::setVetoFile(const int chipIndex, const std::string &fname, pimpl->Parallel(&Module::setVetoFile, pos, chipIndex, fname); } -Result Detector::getBurstMode(Positions pos) { +Result Detector::getBurstMode(Positions pos) const { return pimpl->Parallel(&Module::getBurstMode, pos); } diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index 440386080..3876becab 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -657,9 +657,16 @@ void Module::setExptime(int gateIndex, int64_t value) { int64_t args[]{static_cast(gateIndex), value}; sendToDetector(F_SET_EXPTIME, args, nullptr); if (shm()->useReceiverFlag) { + // get exact value due to clk + if (shm()->detType == MYTHEN3 && gateIndex == -1) { + value = getExptime(0); // m3 does not support -1 + } else { + value = getExptime(gateIndex); // others only support -1 + } + args[1] = value; sendToReceiver(F_RECEIVER_SET_EXPTIME, args, nullptr); } - if (prevVal != value) { + if (shm()->detType == EIGER && prevVal != value) { updateRateCorrection(); } } @@ -671,6 +678,7 @@ int64_t Module::getPeriod() const { void Module::setPeriod(int64_t value) { sendToDetector(F_SET_PERIOD, value, nullptr); if (shm()->useReceiverFlag) { + value = getPeriod(); // get exact value due to clk sendToReceiver(F_RECEIVER_SET_PERIOD, value, nullptr); } } @@ -749,6 +757,9 @@ slsDetectorDefs::speedLevel Module::getReadoutSpeed() const { void Module::setReadoutSpeed(speedLevel value) { sendToDetector(F_SET_READOUT_SPEED, value, nullptr); + if (shm()->useReceiverFlag) { + sendToReceiver(F_SET_RECEIVER_READOUT_SPEED, value, nullptr); + } } int Module::getClockDivider(int clkIndex) const { @@ -1777,6 +1788,7 @@ void Module::setSubExptime(int64_t value) { } sendToDetector(F_SET_SUB_EXPTIME, value, nullptr); if (shm()->useReceiverFlag) { + value = getSubExptime(); // get exact value due to clk sendToReceiver(F_RECEIVER_SET_SUB_EXPTIME, value, nullptr); } if (prevVal != value) { @@ -1791,6 +1803,7 @@ int64_t Module::getSubDeadTime() const { void Module::setSubDeadTime(int64_t value) { sendToDetector(F_SET_SUB_DEADTIME, value, nullptr); if (shm()->useReceiverFlag) { + value = getSubDeadTime(); // get exact value due to clk sendToReceiver(F_RECEIVER_SET_SUB_DEADTIME, value, nullptr); } } @@ -2288,6 +2301,8 @@ void Module::setBurstMode(slsDetectorDefs::burstMode value) { sendToDetector(F_SET_BURST_MODE, value, nullptr); if (shm()->useReceiverFlag) { sendToReceiver(F_SET_RECEIVER_BURST_MODE, value, nullptr); + // changing burst mode may change exptime due to clk change + setExptime(-1, getExptime(-1)); // update exact exptime in receiver } } @@ -2379,6 +2394,9 @@ void Module::setGateDelay(int gateIndex, int64_t value) { int64_t args[]{static_cast(gateIndex), value}; sendToDetector(F_SET_GATE_DELAY, args, nullptr); if (shm()->useReceiverFlag) { + // get exact value due to clk + args[1] = + getGateDelay(gateIndex == -1 ? 0 : gateIndex); // m3 doesnt allow -1 sendToReceiver(F_SET_RECEIVER_GATE_DELAY, args, nullptr); } } diff --git a/slsDetectorSoftware/tests/CMakeLists.txt b/slsDetectorSoftware/tests/CMakeLists.txt index 6a4c03855..86fe37dc1 100755 --- a/slsDetectorSoftware/tests/CMakeLists.txt +++ b/slsDetectorSoftware/tests/CMakeLists.txt @@ -17,6 +17,8 @@ target_sources(tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Caller/test-Caller-xilinx-chiptestboard.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Caller/test-Caller-moench.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Caller/test-Caller-global.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Caller/test-Caller-acquire.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Caller/test-Caller-master-attributes.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test-Result.cpp @@ -34,10 +36,17 @@ if (SLS_USE_HDF5) ) endif (SLS_USE_HDF5) +target_compile_options(tests + PRIVATE + # Suppress warnings for deprecated functions in rapidjson + -Wno-deprecated-declarations +) + target_include_directories(tests PUBLIC "$" "$" + "$" PRIVATE ${SLS_INTERNAL_RAPIDJSON_DIR} ) \ No newline at end of file diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-acquire.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-acquire.cpp new file mode 100644 index 000000000..79fc509af --- /dev/null +++ b/slsDetectorSoftware/tests/Caller/test-Caller-acquire.cpp @@ -0,0 +1,279 @@ +// SPDX-License-Identifier: LGPL-3.0-or-other +// Copyright (C) 2021 Contributors to the SLS Detector Package +#include "Caller.h" +#include "catch.hpp" +#include "sls/Detector.h" +#include "sls/sls_detector_defs.h" +#include "sls/versionAPI.h" +#include "test-Caller-global.h" +#include "tests/globals.h" + +#include +#include + +namespace sls { + +using test::GET; +using test::PUT; + +TEST_CASE("jungfrau_or_moench_acquire_check_file_size", + "[.cmdcall][.cmdacquire]") { + + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + if (det_type == defs::JUNGFRAU || det_type == defs::MOENCH) { + + auto num_udp_interfaces = det.getNumberofUDPInterfaces().tsquash( + "inconsistent number of udp interfaces"); + + int num_frames_to_acquire = 2; + create_files_for_acquire(det, caller, num_frames_to_acquire); + + // check file size (assuming local pc) + { + detParameters par(det_type); + int bytes_per_pixel = det.getDynamicRange().squash() / 8; + // if 2 udp interfaces, data split into half + size_t expected_image_size = (par.nChanX * par.nChanY * par.nChipX * + par.nChipY * bytes_per_pixel) / + num_udp_interfaces; + testFileInfo test_file_info; + test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, + expected_image_size); + } + } +} + +TEST_CASE("eiger_acquire_check_file_size", "[.cmdcall][.cmdacquire]") { + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + if (det_type == defs::EIGER) { + + int dynamic_range = det.getDynamicRange().squash(); + if (dynamic_range != 16) { + throw RuntimeError( + "Eiger detector must have dynamic range 16 to test"); + } + int num_frames_to_acquire = 2; + create_files_for_acquire(det, caller, num_frames_to_acquire); + + // check file size (assuming local pc) + { + detParameters par(det_type); + // data split into half due to 2 udp interfaces per half module + int num_chips = (par.nChipX / 2); + int bytes_per_pixel = (dynamic_range / 8); + size_t expected_image_size = + par.nChanX * par.nChanY * num_chips * bytes_per_pixel; + testFileInfo test_file_info; + test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, + expected_image_size); + } + } +} + +TEST_CASE("mythen3_acquire_check_file_size", "[.cmdcall][.cmdacquire]") { + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + if (det_type == defs::MYTHEN3) { + + int dynamic_range = det.getDynamicRange().squash(); + int counter_mask = det.getCounterMask().squash(); + if (dynamic_range != 16 && counter_mask != 0x3) { + throw RuntimeError("Mythen3 detector must have dynamic range 16 " + "and counter mask 0x3 to test"); + } + int num_counters = __builtin_popcount(counter_mask); + int num_frames_to_acquire = 2; + create_files_for_acquire(det, caller, num_frames_to_acquire); + + // check file size (assuming local pc) + { + detParameters par(det_type); + int bytes_per_pixel = dynamic_range / 8; + int num_channels_per_counter = par.nChanX / 3; + size_t expected_image_size = num_channels_per_counter * + num_counters * par.nChipX * + bytes_per_pixel; + testFileInfo test_file_info; + test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, + expected_image_size); + } + } +} + +TEST_CASE("gotthard2_acquire_check_file_size", "[.cmdcall][.cmdacquire]") { + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + if (det_type == defs::GOTTHARD2) { + + int num_frames_to_acquire = 2; + create_files_for_acquire(det, caller, num_frames_to_acquire); + + // check file size (assuming local pc) + { + detParameters par(det_type); + int bytes_per_pixel = det.getDynamicRange().squash() / 8; + size_t expected_image_size = + par.nChanX * par.nChipX * bytes_per_pixel; + testFileInfo test_file_info; + test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, + expected_image_size); + } + } +} + +void test_ctb_file_size_with_acquire(Detector &det, Caller &caller, + int64_t num_frames, + const testCtbAcquireInfo &test_info, + bool isXilinxCtb) { + create_files_for_acquire(det, caller, num_frames, test_info); + + // check file size (assuming local pc) + uint64_t expected_image_size = + calculate_ctb_image_size(test_info, isXilinxCtb).first; + testFileInfo test_file_info; + REQUIRE_NOTHROW(test_acquire_binary_file_size(test_file_info, num_frames, + expected_image_size)); +} + +TEST_CASE("ctb_acquire_check_file_size", "[.cmdcall][.cmdacquire]") { + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + if (det_type == defs::CHIPTESTBOARD || + det_type == defs::XILINX_CHIPTESTBOARD) { + bool isXilinxCtb = (det_type == defs::XILINX_CHIPTESTBOARD); + int num_frames_to_acquire = 2; + // all the test cases + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + test_ctb_config.dbit_offset = 16; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; + test_ctb_config.dbit_offset = 16; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; + test_ctb_config.dbit_list.clear(); + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::TRANSCEIVER_ONLY; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + { + testCtbAcquireInfo test_ctb_config; + test_ctb_config.readout_mode = defs::ANALOG_ONLY; + test_ctb_config.dbit_offset = 16; + test_ctb_config.dbit_list.clear(); + test_ctb_config.dbit_reorder = true; + REQUIRE_NOTHROW(test_ctb_file_size_with_acquire( + det, caller, num_frames_to_acquire, test_ctb_config, + isXilinxCtb)); + } + } +} + +} // namespace sls diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp index 955a30169..fe30c9d2d 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp @@ -17,119 +17,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("ctb_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::CHIPTESTBOARD || - det_type == defs::XILINX_CHIPTESTBOARD) { - int num_frames_to_acquire = 2; - // all the test cases - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - test_ctb_config.dbit_offset = 16; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_AND_DIGITAL; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; - test_ctb_config.dbit_offset = 16; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; - test_ctb_config.dbit_list.clear(); - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::DIGITAL_AND_TRANSCEIVER; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::TRANSCEIVER_ONLY; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - { - testCtbAcquireInfo test_ctb_config; - test_ctb_config.readout_mode = defs::ANALOG_ONLY; - test_ctb_config.dbit_offset = 16; - test_ctb_config.dbit_list.clear(); - test_ctb_config.dbit_reorder = true; - REQUIRE_NOTHROW(test_ctb_acquire_with_receiver( - test_ctb_config, num_frames_to_acquire, det, caller)); - } - } -} - /* dacs */ TEST_CASE("dacname", "[.cmdcall]") { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp index 265c39510..ae6a6c824 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp @@ -17,70 +17,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("eiger_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::EIGER) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - get_common_acquire_config_state(det); - - // save previous specific det type config - auto exptime = det.getExptime().tsquash("inconsistent exptime to test"); - auto n_rows = - det.getReadNRows().tsquash("inconsistent number of rows to test"); - auto dynamic_range = - det.getDynamicRange().tsquash("inconsistent dynamic range to test"); - REQUIRE(false == - det.getTenGiga().tsquash("inconsistent 10Giga to test")); - - // defaults - int num_frames_to_acquire = 2; - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set default specific det type config - det.setExptime(std::chrono::microseconds{200}); - det.setReadNRows(256); - det.setDynamicRange(16); - - // acquire - test_acquire_with_receiver(caller, det); - - // check frames caught - test_frames_caught(det, num_frames_to_acquire); - - // check file size (assuming local pc) - { - detParameters par(det_type); - // data split into half due to 2 udp interfaces per half module - int num_chips = (par.nChipX / 2); - int bytes_per_pixel = (dynamic_range / 8); - size_t expected_image_size = - par.nChanX * par.nChanY * num_chips * bytes_per_pixel; - test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, - expected_image_size); - } - - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - - // restore previous specific det type config - det.setExptime(exptime); - det.setReadNRows(n_rows); - det.setDynamicRange(dynamic_range); - } -} - /** temperature */ TEST_CASE("temp_fpgaext", "[.cmdcall]") { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-global.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-global.cpp index 0c56ac15d..2d89dd97c 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-global.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-global.cpp @@ -2,6 +2,7 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package #include "test-Caller-global.h" #include "Caller.h" +#include "GeneralData.h" #include "catch.hpp" #include "sls/Detector.h" #include "sls/logger.h" @@ -148,20 +149,52 @@ void test_acquire_with_receiver(Caller &caller, const Detector &det) { REQUIRE_NOTHROW(caller.call("rx_stop", {}, -1, PUT)); } -testCommonDetAcquireInfo get_common_acquire_config_state(const Detector &det) { - return testCommonDetAcquireInfo{ - det.getTimingMode().tsquash("Inconsistent timing mode"), - det.getNumberOfFrames().tsquash("Inconsistent number of frames"), - det.getNumberOfTriggers().tsquash("Inconsistent number of triggers"), - det.getPeriod().tsquash("Inconsistent period")}; -} +void create_files_for_acquire(Detector &det, Caller &caller, int64_t num_frames, + std::optional test_info) { -void set_common_acquire_config_state( - Detector &det, const testCommonDetAcquireInfo &det_config_info) { - det.setTimingMode(det_config_info.timing_mode); - det.setNumberOfFrames(det_config_info.num_frames_to_acquire); - det.setNumberOfTriggers(det_config_info.num_triggers); - det.setPeriod(det_config_info.period); + // save previous state + testFileInfo prev_file_info = get_file_state(det); + auto prev_num_frames = det.getNumberOfFrames().tsquash( + "Inconsistent number of frames to acquire"); + std::optional prev_ctb_config_info{}; + if (test_info) { + prev_ctb_config_info = get_ctb_config_state(det); + } + + // set state for acquire + testFileInfo test_file_info; + set_file_state(det, test_file_info); + det.setNumberOfFrames(num_frames); + if (test_info) { + set_ctb_config_state(det, *test_info); + } + + // acquire and get num frames caught + test_acquire_with_receiver(caller, det); + auto frames_caught = det.getFramesCaught().tsquash( + "Inconsistent number of frames caught")[0]; + REQUIRE(frames_caught == num_frames); + + // hdf5 +#ifdef HDF5C + test_file_info.file_format = defs::HDF5; + test_file_info.file_acq_index = 0; + set_file_state(det, test_file_info); + + // acquire and get num frames caught + test_acquire_with_receiver(caller, det); + frames_caught = det.getFramesCaught().tsquash( + "Inconsistent number of frames caught")[0]; + REQUIRE(frames_caught == num_frames); +#endif + + // restore previous state + // file + set_file_state(det, prev_file_info); + det.setNumberOfFrames(prev_num_frames); + if (test_info) { + set_ctb_config_state(det, *prev_ctb_config_info); + } } testCtbAcquireInfo get_ctb_config_state(const Detector &det) { @@ -211,105 +244,30 @@ void set_ctb_config_state(Detector &det, det.setTransceiverEnableMask(ctb_config_info.transceiver_mask); } -uint64_t calculate_ctb_image_size(const testCtbAcquireInfo &test_info) { - uint64_t num_analog_bytes = 0, num_digital_bytes = 0, - num_transceiver_bytes = 0; - if (test_info.readout_mode == defs::ANALOG_ONLY || - test_info.readout_mode == defs::ANALOG_AND_DIGITAL) { - uint32_t adc_enable_mask = - (test_info.ten_giga ? test_info.adc_enable_10g - : test_info.adc_enable_1g); - int num_analog_chans = __builtin_popcount(adc_enable_mask); - const int num_bytes_per_sample = 2; - num_analog_bytes = - num_analog_chans * num_bytes_per_sample * test_info.num_adc_samples; - LOG(logDEBUG1) << "[Analog Databytes: " << num_analog_bytes << ']'; - } +std::pair +calculate_ctb_image_size(const testCtbAcquireInfo &test_info, + bool isXilinxCtb) { - // digital channels - if (test_info.readout_mode == defs::DIGITAL_ONLY || - test_info.readout_mode == defs::ANALOG_AND_DIGITAL || - test_info.readout_mode == defs::DIGITAL_AND_TRANSCEIVER) { - int num_digital_samples = test_info.num_dbit_samples; - if (test_info.dbit_offset > 0) { - uint64_t num_digital_bytes_reserved = - num_digital_samples * sizeof(uint64_t); - num_digital_bytes_reserved -= test_info.dbit_offset; - num_digital_samples = num_digital_bytes_reserved / sizeof(uint64_t); - } - int num_digital_chans = test_info.dbit_list.size(); - if (num_digital_chans == 0) { - num_digital_chans = 64; - } - if (!test_info.dbit_reorder) { - uint32_t num_bits_per_sample = num_digital_chans; - if (num_bits_per_sample % 8 != 0) { - num_bits_per_sample += (8 - (num_bits_per_sample % 8)); - } - num_digital_bytes = (num_bits_per_sample / 8) * num_digital_samples; - } else { - uint32_t num_bits_per_bit = num_digital_samples; - if (num_bits_per_bit % 8 != 0) { - num_bits_per_bit += (8 - (num_bits_per_bit % 8)); - } - num_digital_bytes = num_digital_chans * (num_bits_per_bit / 8); - } - LOG(logDEBUG1) << "[Digital Databytes: " << num_digital_bytes << ']'; - } - // transceiver channels - if (test_info.readout_mode == defs::TRANSCEIVER_ONLY || - test_info.readout_mode == defs::DIGITAL_AND_TRANSCEIVER) { - int num_transceiver_chans = - __builtin_popcount(test_info.transceiver_mask); - const int num_bytes_per_channel = 8; - num_transceiver_bytes = num_transceiver_chans * num_bytes_per_channel * - test_info.num_trans_samples; - LOG(logDEBUG1) << "[Transceiver Databytes: " << num_transceiver_bytes - << ']'; + sls::CtbImageInputs inputs{}; + inputs.nAnalogSamples = test_info.num_adc_samples; + inputs.adcMask = test_info.adc_enable_10g; + if (!isXilinxCtb && !test_info.ten_giga) { + inputs.adcMask = test_info.adc_enable_1g; } + inputs.nTransceiverSamples = test_info.num_trans_samples; + inputs.transceiverMask = test_info.transceiver_mask; + inputs.nDigitalSamples = test_info.num_dbit_samples; + inputs.dbitOffset = test_info.dbit_offset; + inputs.dbitList = test_info.dbit_list; + inputs.dbitReorder = test_info.dbit_reorder; + auto out = computeCtbImageSize(inputs); uint64_t image_size = - num_analog_bytes + num_digital_bytes + num_transceiver_bytes; + out.nAnalogBytes + out.nDigitalBytes + out.nTransceiverBytes; LOG(logDEBUG1) << "Expected image size: " << image_size; - return image_size; -} - -void test_ctb_acquire_with_receiver(const testCtbAcquireInfo &test_info, - int64_t num_frames_to_acquire, - Detector &det, Caller &caller) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - // overwrite exptime if not using virtual ctb server - get_common_acquire_config_state(det); - testCtbAcquireInfo prev_ctb_config_info = get_ctb_config_state(det); - - // defaults - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set ctb config - set_ctb_config_state(det, test_info); - - // acquire - REQUIRE_NOTHROW(test_acquire_with_receiver(caller, det)); - - // check frames caught - REQUIRE_NOTHROW(test_frames_caught(det, num_frames_to_acquire)); - - // check file size (assuming local pc) - uint64_t expected_image_size = calculate_ctb_image_size(test_info); - REQUIRE_NOTHROW(test_acquire_binary_file_size( - test_file_info, num_frames_to_acquire, expected_image_size)); - - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - set_ctb_config_state(det, prev_ctb_config_info); + int npixelx = out.nPixelsX; + LOG(logDEBUG1) << "Expected number of pixels in x: " << npixelx; + return std::make_pair(image_size, npixelx); } } // namespace sls diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-global.h b/slsDetectorSoftware/tests/Caller/test-Caller-global.h index be944ecd2..34bdb948c 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-global.h +++ b/slsDetectorSoftware/tests/Caller/test-Caller-global.h @@ -2,12 +2,13 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package #pragma once -class Caller; +#include "Caller.h" #include "sls/Detector.h" #include "sls/sls_detector_defs.h" #include #include +#include #include namespace sls { @@ -18,13 +19,14 @@ struct testFileInfo { bool file_write{true}; bool file_overwrite{true}; slsDetectorDefs::fileFormat file_format{slsDetectorDefs::BINARY}; -}; - -struct testCommonDetAcquireInfo { - slsDetectorDefs::timingMode timing_mode{slsDetectorDefs::AUTO_TIMING}; - int64_t num_frames_to_acquire{2}; - int64_t num_triggers{1}; - std::chrono::nanoseconds period{std::chrono::milliseconds{2}}; + std::string getMasterFileNamePrefix() const { + return file_path + "/" + file_prefix + "_master_" + + std::to_string(file_acq_index); + } + std::string getVirtualFileName() const { + return file_path + "/" + file_prefix + "_virtual_" + + std::to_string(file_acq_index) + ".h5"; + } }; struct testCtbAcquireInfo { @@ -60,16 +62,14 @@ void test_frames_caught(const Detector &det, int num_frames_to_acquire); void test_acquire_with_receiver(Caller &caller, const Detector &det); -testCommonDetAcquireInfo get_common_acquire_config_state(const Detector &det); -void set_common_acquire_config_state( - Detector &det, const testCommonDetAcquireInfo &det_config_info); +void create_files_for_acquire( + Detector &det, Caller &caller, int64_t num_frames = 1, + std::optional test_info = std::nullopt); testCtbAcquireInfo get_ctb_config_state(const Detector &det); void set_ctb_config_state(Detector &det, const testCtbAcquireInfo &ctb_config_info); -uint64_t calculate_ctb_image_size(const testCtbAcquireInfo &test_info); -void test_ctb_acquire_with_receiver(const testCtbAcquireInfo &test_info, - int64_t num_frames_to_acquire, - Detector &det, Caller &caller); +std::pair +calculate_ctb_image_size(const testCtbAcquireInfo &test_info, bool isXilinxCtb); } // namespace sls diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp index c56e79634..54bba5ce2 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp @@ -17,69 +17,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("gotthard2_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::GOTTHARD2) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - get_common_acquire_config_state(det); - - // save previous specific det type config - auto exptime = det.getExptime().tsquash("inconsistent exptime to test"); - auto burst_mode = - det.getBurstMode().tsquash("inconsistent burst mode to test"); - auto number_of_bursts = det.getNumberOfBursts().tsquash( - "inconsistent number of bursts to test"); - auto burst_period = - det.getBurstPeriod().tsquash("inconsistent burst period to test"); - - // defaults - int num_frames_to_acquire = 2; - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set default specific det type config - det.setExptime(std::chrono::microseconds{200}); - det.setBurstMode(defs::CONTINUOUS_EXTERNAL); - det.setNumberOfBursts(1); - det.setBurstPeriod(std::chrono::milliseconds{0}); - - // acquire - test_acquire_with_receiver(caller, det); - - // check frames caught - test_frames_caught(det, num_frames_to_acquire); - - // check file size (assuming local pc) - { - detParameters par(det_type); - int bytes_per_pixel = det.getDynamicRange().squash() / 8; - size_t expected_image_size = - par.nChanX * par.nChipX * bytes_per_pixel; - test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, - expected_image_size); - } - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - - // restore previous specific det type config - det.setExptime(exptime); - det.setBurstMode(burst_mode); - det.setNumberOfBursts(number_of_bursts); - det.setBurstPeriod(burst_period); - } -} - // time specific measurements for gotthard2 TEST_CASE("timegotthard2", "[.cmdcall]") { Detector det; diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp index 07cabaa04..4563cd32f 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp @@ -15,65 +15,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("jungfrau_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::JUNGFRAU) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - get_common_acquire_config_state(det); - - // save previous specific det type config - auto exptime = det.getExptime().tsquash("inconsistent exptime to test"); - auto num_udp_interfaces = det.getNumberofUDPInterfaces().tsquash( - "inconsistent number of udp interfaces"); - auto n_rows = - det.getReadNRows().tsquash("inconsistent number of rows to test"); - - // defaults - int num_frames_to_acquire = 2; - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set default specific det type config - det.setExptime(std::chrono::microseconds{200}); - det.setReadNRows(512); - - // acquire - test_acquire_with_receiver(caller, det); - - // check frames caught - test_frames_caught(det, num_frames_to_acquire); - - // check file size (assuming local pc) - { - detParameters par(det_type); - int bytes_per_pixel = det.getDynamicRange().squash() / 8; - // if 2 udp interfaces, data split into half - size_t expected_image_size = (par.nChanX * par.nChanY * par.nChipX * - par.nChipY * bytes_per_pixel) / - num_udp_interfaces; - test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, - expected_image_size); - } - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - - // restore previous specific det type config - det.setExptime(exptime); - det.setReadNRows(n_rows); - } -} - /* dacs */ TEST_CASE("Setting and reading back Jungfrau dacs", "[.cmdcall][.dacs]") { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-master-attributes.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-master-attributes.cpp new file mode 100644 index 000000000..be1ed74b0 --- /dev/null +++ b/slsDetectorSoftware/tests/Caller/test-Caller-master-attributes.cpp @@ -0,0 +1,1072 @@ +// SPDX-License-Identifier: LGPL-3.0-or-other +// Copyright (C) 2021 Contributors to the SLS Detector Package +#include "Caller.h" +#include "MasterAttributes.h" +#include "catch.hpp" +#include "receiver_defs.h" +#include "sls/Detector.h" +#include "sls/ToString.h" +#include "sls/logger.h" +#include "sls/sls_detector_defs.h" +#include "test-Caller-global.h" +#include "tests/globals.h" + +#include +#include +#include +#include +#include +#include + +#ifdef HDF5C +#include "H5Cpp.h" +const std::string HDF5_GROUP = "/entry/instrument/detector/"; +#endif + +namespace sls { + +using test::GET; +using test::PUT; +using namespace rapidjson; + +inline bool operator==(sls::ns lhs, sls::ns rhs) { + return lhs.count() == rhs.count(); +} + +#ifdef HDF5C +std::optional h5File{}; +#endif + +/** std::string */ +void read_from_json(const Document &doc, const std::string &name, + std::string &retval) { + retval = doc[name.c_str()].GetString(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::string &retval) { + dataset.read(retval, dataset.getStrType()); +} +#endif + +/** int */ +void read_from_json(const Document &doc, const std::string &name, int &retval) { + retval = doc[name.c_str()].GetInt(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + int &retval) { + dataset.read(&retval, H5::PredType::NATIVE_INT); +} +#endif + +/** uint64_t */ +void read_from_json(const Document &doc, const std::string &name, + uint64_t &retval) { + retval = doc[name.c_str()].GetUint64(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + uint64_t &retval) { + dataset.read(&retval, H5::PredType::STD_U64LE); +} +#endif + +/** uint32_t */ +void read_from_json(const Document &doc, const std::string &name, + uint32_t &retval) { + retval = doc[name.c_str()].GetUint(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + uint32_t &retval) { + dataset.read(&retval, H5::PredType::STD_U32LE); +} +#endif + +/** double */ +void read_from_json(const Document &doc, const std::string &name, + double &retval) { + retval = doc[name.c_str()].GetDouble(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + double &retval) { + dataset.read(&retval, H5::PredType::NATIVE_DOUBLE); +} +#endif + +/** std::vector */ +void read_from_json(const Document &doc, const std::string &name, + std::vector &retval) { + for (const auto &item : doc[name.c_str()].GetArray()) { + retval.push_back(item.GetInt64()); + } +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::vector &retval) { + H5::DataSpace dataspace = dataset.getSpace(); + hsize_t dims[1]; + dataspace.getSimpleExtentDims(dims); + retval.resize(dims[0]); + dataset.read(retval.data(), H5::PredType::STD_I64LE); +} +#endif + +/** std::vector */ +void read_from_json(const Document &doc, const std::string &name, + std::vector &retval) { + for (const auto &item : doc[name.c_str()].GetArray()) { + defs::ROI r{}; + r.xmin = item["xmin"].GetInt(); + r.xmax = item["xmax"].GetInt(); + r.ymin = item["ymin"].GetInt(); + r.ymax = item["ymax"].GetInt(); + retval.push_back(r); + } +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::vector &retval) { + H5::DataSpace dataspace = dataset.getSpace(); + hsize_t dims[1]; + dataspace.getSimpleExtentDims(dims); + H5::CompType cType(sizeof(defs::ROI)); + cType.insertMember("xmin", HOFFSET(defs::ROI, xmin), + H5::PredType::NATIVE_INT); + cType.insertMember("xmax", HOFFSET(defs::ROI, xmax), + H5::PredType::NATIVE_INT); + cType.insertMember("ymin", HOFFSET(defs::ROI, ymin), + H5::PredType::NATIVE_INT); + cType.insertMember("ymax", HOFFSET(defs::ROI, ymax), + H5::PredType::NATIVE_INT); + retval.resize(dims[0]); + dataset.read(retval.data(), cType); +} +#endif + +/** std::array */ +void read_from_json(const Document &doc, const std::string &name, + std::array &retval) { + const auto &json_values = doc[name.c_str()].GetArray(); + if (json_values.Size() != retval.size()) { + throw sls::RuntimeError("JSON array " + name + + " does not have num elements as expected"); + } + int index = 0; + for (const auto &item : json_values) { + retval[index++] = item.GetInt(); + } +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::array &retval) { + H5::DataSpace dataspace = dataset.getSpace(); + hsize_t dims[1]; + dataspace.getSimpleExtentDims(dims); + if (dims[0] != retval.size()) { + throw sls::RuntimeError("HDF5 dataset " + name + + " does not have num elements as expected"); + } + dataset.read(retval.data(), H5::PredType::NATIVE_INT); +} +#endif + +/* std::array */ +void read_from_json(const Document &doc, const std::string &name, + std::array &retval) { + const auto &json_values = doc[name.c_str()].GetArray(); + if (json_values.Size() != retval.size()) { + throw sls::RuntimeError("JSON array " + name + + " does not have num elements as expected"); + } + int index = 0; + for (const auto &item : json_values) { + std::string sval = item.GetString(); + retval[index++] = StringTo(sval); + } +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::array &retval) { + H5::DataSpace dataspace = dataset.getSpace(); + hsize_t dims[1]; + dataspace.getSimpleExtentDims(dims); + if (dims[0] != retval.size()) { + throw sls::RuntimeError("HDF5 dataset " + name + + " does not have num elements as expected"); + } + std::vector strValues(dims[0]); + dataset.read(strValues.data(), dataset.getStrType()); + for (size_t i = 0; i < dims[0]; ++i) { + retval[i] = StringTo(strValues[i]); + } +} +#endif + +/** defs::xy */ +void read_from_json(const Document &doc, const std::string &name, + defs::xy &retval) { + retval.x = doc[name.c_str()]["x"].GetInt(); + retval.y = doc[name.c_str()]["y"].GetInt(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + defs::xy &retval) { + H5::CompType cType(sizeof(defs::xy)); + cType.insertMember("x", HOFFSET(defs::xy, x), H5::PredType::NATIVE_INT); + cType.insertMember("y", HOFFSET(defs::xy, y), H5::PredType::NATIVE_INT); + dataset.read(&retval, cType); +} +#endif + +/** defs::scanParameters */ +void read_from_json(const Document &doc, const std::string &name, + defs::scanParameters &retval) { + const auto &s = doc[name.c_str()].GetObject(); + retval.enable = s["enable"].GetInt(); + retval.dacInd = static_cast(s["dacInd"].GetInt()); + retval.startOffset = s["start offset"].GetInt(); + retval.stopOffset = s["stop offset"].GetInt(); + retval.stepSize = s["step size"].GetInt(); + retval.dacSettleTime_ns = s["dac settle time ns"].GetInt64(); +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + defs::scanParameters &retval) { + H5::CompType cType(sizeof(defs::scanParameters)); + cType.insertMember("enable", HOFFSET(defs::scanParameters, enable), + H5::PredType::NATIVE_INT); + cType.insertMember("dacInd", HOFFSET(defs::scanParameters, dacInd), + H5::PredType::NATIVE_INT); + cType.insertMember("startOffset", + HOFFSET(defs::scanParameters, startOffset), + H5::PredType::NATIVE_INT); + cType.insertMember("stopOffset", HOFFSET(defs::scanParameters, stopOffset), + H5::PredType::NATIVE_INT); + cType.insertMember("stepSize", HOFFSET(defs::scanParameters, stepSize), + H5::PredType::NATIVE_INT); + cType.insertMember("dacSettleTime_ns", + HOFFSET(defs::scanParameters, dacSettleTime_ns), + H5::PredType::STD_I64LE); + dataset.read(&retval, cType); +} +#endif + +/** std::map */ +void read_from_json(const Document &doc, const std::string &name, + std::map &retval) { + for (const auto &m : doc[name.c_str()].GetObject()) { + retval[m.name.GetString()] = m.value.GetString(); + } +} +#ifdef HDF5C +void read_from_h5_dataset(const H5::DataSet &dataset, const std::string &name, + std::map &retval) { + H5::DataSpace dataspace = dataset.getSpace(); + hsize_t dims[1]; + dataspace.getSimpleExtentDims(dims); + if (dims[0] == 0) { + return; // empty dataset + } + auto strType = dataset.getStrType(); + H5::CompType mapType(sizeof(char *) * 2); + mapType.insertMember("key", 0, strType); + mapType.insertMember("value", sizeof(char *), strType); + struct KeyValue { + const char *key; + const char *value; + }; + std::vector kv_vector(dims[0]); + dataset.read(kv_vector.data(), mapType); + for (const auto &kv : kv_vector) { + retval[kv.key] = kv.value; + } +} +#endif + +/** test parameter in file */ +template +void test_json_parameter(const Document &doc, const std::string &name, + const T &expected) { + REQUIRE(doc.HasMember(name.c_str())); + T retval{}; + read_from_json(doc, name, retval); + REQUIRE(retval == expected); +} +#ifdef HDF5C +template +void test_h5_dataset(const std::string &name, const T &expected) { + auto dataset = h5File->openDataSet(HDF5_GROUP + name); + T retval{}; + read_from_h5_dataset(dataset, name, retval); + REQUIRE(retval == expected); +} +#endif + +template +void check_master_file(const std::optional &doc, + const std::string &name, const T &expected) { + if (doc.has_value()) { + const auto &d = *doc; + test_json_parameter(d, name, expected); + } else { +#ifdef HDF5C + if (!h5File.has_value()) { + throw sls::RuntimeError("HDF5 file is not opened for testing " + + name); + } + test_h5_dataset(name, expected); +#else + throw sls::RuntimeError("Document is not available for testing " + + name); +#endif + } +} + +void test_master_file_version(const Detector &det, + const std::optional &doc) { + // different values for json and hdf5 + // hdf5 version in atttribute and not dataset + double retval{}; + std::string name = MasterAttributes::N_VERSION.data(); + if (doc.has_value()) { + const auto &d = *doc; + REQUIRE(d.HasMember(MasterAttributes::N_VERSION.data())); + read_from_json(d, name, retval); + REQUIRE(retval == BINARY_WRITER_VERSION); + } else { +#ifdef HDF5C + if (!h5File.has_value()) { + throw sls::RuntimeError( + "HDF5 file is not opened for testing Version"); + } + auto attr = h5File->openAttribute(MasterAttributes::N_VERSION.data()); + attr.read(attr.getDataType(), &retval); + REQUIRE(retval == HDF5_WRITER_VERSION); +#else + throw sls::RuntimeError( + "Document is not available for testing Version"); +#endif + } +} + +void test_master_file_type(const Detector &det, + const std::optional &doc) { + auto det_type = det.getDetectorType().tsquash("Inconsistent detector type"); + check_master_file( + doc, MasterAttributes::N_DETECTOR_TYPE.data(), ToString(det_type)); +} + +void test_master_file_timing_mode(const Detector &det, + const std::optional &doc) { + auto timing_mode = det.getTimingMode().tsquash("Inconsistent timing mode"); + check_master_file(doc, MasterAttributes::N_TIMING_MODE.data(), + ToString(timing_mode)); +} + +void test_master_file_geometry(const Detector &det, + const std::optional &doc) { + auto modGeometry = det.getModuleGeometry(); + auto portperModGeometry = det.getPortPerModuleGeometry(); + auto geometry = defs::xy{modGeometry.x * portperModGeometry.x, + modGeometry.y * portperModGeometry.y}; + check_master_file(doc, MasterAttributes::N_GEOMETRY.data(), + geometry); +} + +void test_master_file_image_size(const Detector &det, + const std::optional &doc) { + + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + int bytes_per_pixel = det.getDynamicRange().squash() / 8; + detParameters par(det_type); + + int image_size = 0; + switch (det_type) { + + case defs::EIGER: { + int num_chips = (par.nChipX / 2); + image_size = par.nChanX * par.nChanY * num_chips * bytes_per_pixel; + } break; + + case defs::JUNGFRAU: + case defs::MOENCH: { + auto num_udp_interfaces = det.getNumberofUDPInterfaces().tsquash( + "inconsistent number of udp interfaces"); + image_size = (par.nChanX * par.nChanY * par.nChipX * par.nChipY * + bytes_per_pixel) / + num_udp_interfaces; + } break; + + case defs::MYTHEN3: { + int counter_mask = det.getCounterMask().squash(); + int num_counters = __builtin_popcount(counter_mask); + int num_channels_per_counter = par.nChanX / MAX_NUM_COUNTERS; + image_size = num_channels_per_counter * num_counters * par.nChipX * + bytes_per_pixel; + } break; + + case defs::GOTTHARD2: { + image_size = par.nChanX * par.nChipX * bytes_per_pixel; + } break; + + case defs::CHIPTESTBOARD: + case defs::XILINX_CHIPTESTBOARD: { + testCtbAcquireInfo test_info; + image_size = calculate_ctb_image_size( + test_info, (det_type == defs::XILINX_CHIPTESTBOARD)) + .first; + } break; + + default: + throw sls::RuntimeError("Unsupported detector type for this test"); + } + + check_master_file(doc, MasterAttributes::N_IMAGE_SIZE.data(), + image_size); +} + +void test_master_file_det_size(const Detector &det, + const std::optional &doc) { + + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + auto portSize = det.getPortSize()[0]; + + // m3 assumes all counters enabled when getting num channels from client + // TODO: in future, remove assumption + if (det_type == defs::MYTHEN3) { + int nchan = portSize.x / MAX_NUM_COUNTERS; + auto counter_mask = det.getCounterMask().tsquash( + "Inconsistent counter mask for Mythen3 detector"); + int num_counters = __builtin_popcount(counter_mask); + portSize.x = nchan * num_counters; + } else if (det_type == defs::CHIPTESTBOARD || + det_type == defs::XILINX_CHIPTESTBOARD) { + testCtbAcquireInfo test_info; + portSize.x = calculate_ctb_image_size( + test_info, det_type == defs::XILINX_CHIPTESTBOARD) + .second; + portSize.y = 1; + } + + check_master_file(doc, MasterAttributes::N_PIXELS.data(), + portSize); +} + +void test_master_file_max_frames_per_file(const Detector &det, + const std::optional &doc) { + auto max_frames_per_file = + det.getFramesPerFile().tsquash("Inconsistent max frames per file"); + + check_master_file(doc, MasterAttributes::N_MAX_FRAMES_PER_FILE.data(), + max_frames_per_file); +} + +void test_master_file_frame_discard_policy(const Detector &det, + const std::optional &doc) { + auto policy = det.getRxFrameDiscardPolicy().tsquash( + "Inconsistent frame discard policy"); + + check_master_file( + doc, MasterAttributes::N_FRAME_DISCARD_POLICY.data(), ToString(policy)); +} + +void test_master_file_frame_padding(const Detector &det, + const std::optional &doc) { + auto padding = static_cast( + det.getPartialFramesPadding().tsquash("Inconsistent frame padding")); + + check_master_file(doc, MasterAttributes::N_FRAME_PADDING.data(), + padding); +} + +void test_master_file_scan_parameters(const Detector &det, + const std::optional &doc) { + auto scan_params = det.getScan().tsquash("Inconsistent scan parameters"); + + check_master_file( + doc, MasterAttributes::N_SCAN_PARAMETERS.data(), scan_params); +} + +void test_master_file_total_frames(const Detector &det, + const std::optional &doc) { + uint64_t repeats = + det.getNumberOfTriggers().tsquash("Inconsistent number of triggers"); + uint64_t numFrames = + det.getNumberOfFrames().tsquash("Inconsistent number of frames"); + int numAdditionalStorageCells = 0; + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types"); + if (det_type == defs::GOTTHARD2) { + auto timing_mode = + det.getTimingMode().tsquash("Inconsistent timing mode"); + auto burst_mode = det.getBurstMode().tsquash("Inconsistent burst mode"); + auto numBursts = + det.getNumberOfBursts().tsquash("Inconsistent number of bursts"); + // auto + if (timing_mode == defs::AUTO_TIMING) { + // burst mode, repeats = #bursts + if (burst_mode == defs::BURST_INTERNAL || + burst_mode == defs::BURST_EXTERNAL) { + repeats = numBursts; + } + // continuous, repeats = 1 (no trigger as well) + else { + repeats = 1; + } + } + // trigger + else { + // continuous, numFrames is limited + if (burst_mode == defs::CONTINUOUS_INTERNAL || + burst_mode == defs::CONTINUOUS_EXTERNAL) { + numFrames = 1; + } + } + } else if (det_type == defs::JUNGFRAU) { + numAdditionalStorageCells = + det.getNumberOfAdditionalStorageCells().tsquash( + "Inconsistent number of additional storage cells"); + } + uint64_t total_frames = + numFrames * repeats * (int64_t)(numAdditionalStorageCells + 1); + + check_master_file(doc, MasterAttributes::N_TOTAL_FRAMES.data(), + total_frames); +} + +void test_master_file_rois(const Detector &det, + const std::optional &doc) { + auto rois = det.getRxROI(); + auto detsize = det.getDetectorSize(); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + // compensate for m3 channel size and counter mask mess + if (det_type == defs::MYTHEN3) { + int nchan = detsize.x / MAX_NUM_COUNTERS; + auto counter_mask = det.getCounterMask().tsquash( + "Inconsistent counter mask for Mythen3 detector"); + int num_counters = __builtin_popcount(counter_mask); + detsize.x = nchan * num_counters; + } + // replace -1 for complete ROI + bool is2D = (detsize.y > 1); + for (auto &roi : rois) { + if (roi.completeRoi()) { + roi.xmin = 0; + roi.xmax = detsize.x - 1; + if (is2D) { + roi.ymin = 0; + roi.ymax = detsize.y - 1; + } + } + } + + check_master_file>( + doc, MasterAttributes::N_RECEIVER_ROIS.data(), rois); +} + +void test_master_file_exptime(const Detector &det, + const std::optional &doc) { + auto exptime = det.getExptime().tsquash("Inconsistent exposure time"); + + check_master_file( + doc, MasterAttributes::N_EXPOSURE_TIME.data(), ToString(exptime)); +} + +void test_master_file_period(const Detector &det, + const std::optional &doc) { + auto period = det.getPeriod().tsquash("Inconsistent period"); + + check_master_file( + doc, MasterAttributes::N_ACQUISITION_PERIOD.data(), ToString(period)); +} + +void test_master_file_num_udp_interfaces(const Detector &det, + const std::optional &doc) { + auto num_udp_interfaces = det.getNumberofUDPInterfaces().tsquash( + "Inconsistent number of UDP interfaces"); + + check_master_file(doc, MasterAttributes::N_NUM_UDP_INTERFACES.data(), + num_udp_interfaces); +} + +void test_master_file_read_n_rows(const Detector &det, + const std::optional &doc) { + auto readnrows = det.getReadNRows().tsquash("Inconsistent number of rows"); + + check_master_file(doc, MasterAttributes::N_NUMBER_OF_ROWS.data(), + readnrows); +} + +void test_master_file_readout_speed(const Detector &det, + const std::optional &doc) { + auto readout_speed = + det.getReadoutSpeed().tsquash("Inconsistent readout speed"); + + check_master_file( + doc, MasterAttributes::N_READOUT_SPEED.data(), ToString(readout_speed)); +} + +void test_master_file_frames_in_file(const std::optional &doc, + const int frames_in_file) { + check_master_file(doc, MasterAttributes::N_FRAMES_IN_FILE.data(), + frames_in_file); +} + +void test_master_file_json_header(const Detector &det, + const std::optional &doc) { + auto json_header = + det.getAdditionalJsonHeader().tsquash("Inconsistent JSON header"); + + check_master_file>( + doc, MasterAttributes::N_ADDITIONAL_JSON_HEADER.data(), json_header); +} + +void test_master_file_dynamic_range(const Detector &det, + const std::optional &doc) { + auto dr = det.getDynamicRange().tsquash("Inconsistent dynamic range"); + + check_master_file(doc, MasterAttributes::N_DYNAMIC_RANGE.data(), dr); +} + +void test_master_file_ten_giga(const Detector &det, + const std::optional &doc) { + auto ten_giga = + static_cast(det.getTenGiga().tsquash("Inconsistent ten giga")); + + check_master_file(doc, MasterAttributes::N_TEN_GIGA.data(), ten_giga); +} + +void test_master_file_threshold_energy(const Detector &det, + const std::optional &doc) { + auto threshold = + det.getThresholdEnergy().tsquash("Inconsistent threshold energy"); + + check_master_file(doc, MasterAttributes::N_THRESHOLD_ENERGY.data(), + threshold); +} + +void test_master_file_sub_exptime(const Detector &det, + const std::optional &doc) { + auto sub_exptime = + det.getSubExptime().tsquash("Inconsistent sub exposure time"); + + check_master_file(doc, + MasterAttributes::N_SUB_EXPOSURE_TIME.data(), + ToString(sub_exptime)); +} + +void test_master_file_sub_period(const Detector &det, + const std::optional &doc) { + auto exptime = det.getSubExptime().tsquash("Inconsistent sub exptime"); + auto deadtime = det.getSubDeadTime().tsquash("Inconsistent sub deadtime"); + auto sub_period = exptime + deadtime; + + check_master_file( + doc, MasterAttributes::N_SUB_ACQUISITION_PERIOD.data(), + ToString(sub_period)); +} + +void test_master_file_quad(const Detector &det, + const std::optional &doc) { + auto quad = static_cast(det.getQuad().tsquash("Inconsistent quad")); + + check_master_file(doc, MasterAttributes::N_QUAD.data(), quad); +} + +void test_master_file_rate_corrections(const Detector &det, + const std::optional &doc) { + std::vector dead_times; + for (auto item : det.getRateCorrection()) + dead_times.push_back(item.count()); + + check_master_file>( + doc, MasterAttributes::N_RATE_CORRECTIONS.data(), dead_times); +} + +void test_master_file_counter_mask(const Detector &det, + const std::optional &doc) { + auto counter_mask = static_cast( + det.getCounterMask().tsquash("Inconsistent counter mask")); + + check_master_file(doc, MasterAttributes::N_COUNTER_MASK.data(), + counter_mask); +} + +void test_master_file_exptimes(const Detector &det, + const std::optional &doc) { + auto exptimes = + det.getExptimeForAllGates().tsquash("Inconsistent exposure times"); + + check_master_file>( + doc, MasterAttributes::N_EXPOSURE_TIMES.data(), exptimes); +} + +void test_master_file_gate_delays(const Detector &det, + const std::optional &doc) { + auto gate_delays = + det.getGateDelayForAllGates().tsquash("Inconsistent GateDelay"); + + check_master_file>( + doc, MasterAttributes::N_GATE_DELAYS.data(), gate_delays); +} + +void test_master_file_gates(const Detector &det, + const std::optional &doc) { + auto gates = det.getNumberOfGates().tsquash("Inconsistent number of gates"); + + check_master_file(doc, MasterAttributes::N_GATES.data(), gates); +} + +void test_master_file_threadhold_energies(const Detector &det, + const std::optional &doc) { + auto threshold_energies = + det.getAllThresholdEnergy().tsquash("Inconsistent threshold energies"); + + check_master_file>( + doc, MasterAttributes::N_THRESHOLD_ENERGIES.data(), threshold_energies); +} + +void test_master_file_burst_mode(const Detector &det, + const std::optional &doc) { + auto burst_mode = det.getBurstMode().tsquash("Inconsistent burst mode"); + + check_master_file(doc, MasterAttributes::N_BURST_MODE.data(), + ToString(burst_mode)); +} + +void test_master_file_adc_mask(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_ctb_config; + auto adc_mask = test_ctb_config.adc_enable_10g; + auto det_type = det.getDetectorType().squash(); + if (det_type == defs::CHIPTESTBOARD) { + auto tengiga = test_ctb_config.ten_giga; + if (!tengiga) + adc_mask = test_ctb_config.adc_enable_1g; + } + + check_master_file(doc, MasterAttributes::N_ADC_MASK.data(), + adc_mask); +} + +void test_master_file_analog_flag(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto romode = test_info.readout_mode; + auto analog = static_cast( + (romode == defs::ANALOG_ONLY || romode == defs::ANALOG_AND_DIGITAL)); + + check_master_file(doc, MasterAttributes::N_ANALOG.data(), analog); +} + +void test_master_file_analog_samples(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto analog_samples = test_info.num_adc_samples; + + check_master_file(doc, MasterAttributes::N_ANALOG_SAMPLES.data(), + analog_samples); +} + +void test_master_file_digital_flag(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto romode = test_info.readout_mode; + auto digital = static_cast(romode == defs::DIGITAL_ONLY || + romode == defs::ANALOG_AND_DIGITAL || + romode == defs::DIGITAL_AND_TRANSCEIVER); + + check_master_file(doc, MasterAttributes::N_DIGITAL.data(), digital); +} + +void test_master_file_digital_samples(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto digital_samples = test_info.num_dbit_samples; + + check_master_file(doc, MasterAttributes::N_DIGITAL_SAMPLES.data(), + digital_samples); +} + +void test_master_file_dbit_offset(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto dbit_offset = test_info.dbit_offset; + + check_master_file(doc, MasterAttributes::N_DBIT_OFFSET.data(), + dbit_offset); +} + +void test_master_file_dbit_reorder(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto dbit_reorder = test_info.dbit_reorder; + + check_master_file(doc, MasterAttributes::N_DBIT_REORDER.data(), + dbit_reorder); +} + +void test_master_file_dbit_bitset(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + uint64_t dbit_bitset = 0; + for (auto &i : test_info.dbit_list) { + dbit_bitset |= (static_cast(1) << i); + } + + check_master_file(doc, MasterAttributes::N_DBIT_BITSET.data(), + dbit_bitset); +} + +void test_master_file_transceiver_mask(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto trans_mask = test_info.transceiver_mask; + + check_master_file(doc, MasterAttributes::N_TRANSCEIVER_MASK.data(), + trans_mask); +} + +void test_master_file_transceiver_flag(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto romode = test_info.readout_mode; + auto trans = static_cast(romode == defs::DIGITAL_AND_TRANSCEIVER || + romode == defs::TRANSCEIVER_ONLY); + + check_master_file(doc, MasterAttributes::N_TRANSCEIVER.data(), trans); +} + +void test_master_file_transceiver_samples(const Detector &det, + const std::optional &doc) { + testCtbAcquireInfo test_info; + auto trans_samples = test_info.num_trans_samples; + check_master_file(doc, MasterAttributes::N_TRANSCEIVER_SAMPLES.data(), + trans_samples); +} + +void test_master_file_common_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_version(det, doc); + test_master_file_type(det, doc); + test_master_file_timing_mode(det, doc); + test_master_file_geometry(det, doc); + test_master_file_image_size(det, doc); + test_master_file_det_size(det, doc); + test_master_file_max_frames_per_file(det, doc); + test_master_file_frame_discard_policy(det, doc); + test_master_file_frame_padding(det, doc); + test_master_file_scan_parameters(det, doc); + test_master_file_total_frames(det, doc); + test_master_file_json_header(det, doc); + // TODO: test frame header format? +} + +void test_master_file_jungfrau_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_common_metadata(det, doc); + // Jungfrau specific metadata + test_master_file_rois(det, doc); + test_master_file_exptime(det, doc); + test_master_file_period(det, doc); + test_master_file_num_udp_interfaces(det, doc); + test_master_file_read_n_rows(det, doc); + test_master_file_readout_speed(det, doc); +} + +void test_master_file_eiger_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_common_metadata(det, doc); + // Eiger specific metadata + test_master_file_rois(det, doc); + test_master_file_dynamic_range(det, doc); + test_master_file_ten_giga(det, doc); + test_master_file_exptime(det, doc); + test_master_file_period(det, doc); + test_master_file_threshold_energy(det, doc); + test_master_file_sub_exptime(det, doc); + test_master_file_sub_period(det, doc); + test_master_file_quad(det, doc); + test_master_file_read_n_rows(det, doc); + test_master_file_rate_corrections(det, doc); + test_master_file_readout_speed(det, doc); +} + +void test_master_file_moench_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_common_metadata(det, doc); + // Moench specific metadata + test_master_file_rois(det, doc); + test_master_file_exptime(det, doc); + test_master_file_period(det, doc); + test_master_file_num_udp_interfaces(det, doc); + test_master_file_read_n_rows(det, doc); + test_master_file_readout_speed(det, doc); +} + +void test_master_file_mythen3_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_common_metadata(det, doc); + // Mythen3 specific metadata + test_master_file_rois(det, doc); + test_master_file_dynamic_range(det, doc); + test_master_file_ten_giga(det, doc); + test_master_file_period(det, doc); + test_master_file_counter_mask(det, doc); + test_master_file_exptimes(det, doc); + test_master_file_gate_delays(det, doc); + test_master_file_gates(det, doc); + test_master_file_threadhold_energies(det, doc); + test_master_file_readout_speed(det, doc); +} + +void test_master_file_gotthard2_metadata(const Detector &det, + const std::optional &doc) { + test_master_file_common_metadata(det, doc); + // Gotthard2 specific metadata + test_master_file_exptime(det, doc); + test_master_file_period(det, doc); + test_master_file_burst_mode(det, doc); + test_master_file_readout_speed(det, doc); +} + +void test_master_file_ctb_metadata(const Detector &det, + const std::optional &doc) { + auto det_type = det.getDetectorType().squash(); + test_master_file_common_metadata(det, doc); + // Ctb specific metadata + test_master_file_exptime(det, doc); + test_master_file_period(det, doc); + if (det_type == defs::CHIPTESTBOARD) + test_master_file_ten_giga(det, doc); + test_master_file_adc_mask(det, doc); + test_master_file_analog_flag(det, doc); + test_master_file_analog_samples(det, doc); + test_master_file_digital_flag(det, doc); + test_master_file_digital_samples(det, doc); + test_master_file_dbit_offset(det, doc); + test_master_file_dbit_reorder(det, doc); + test_master_file_dbit_bitset(det, doc); + test_master_file_transceiver_mask(det, doc); + test_master_file_transceiver_flag(det, doc); + test_master_file_transceiver_samples(det, doc); +} + +void test_master_file_metadata(const Detector &det, + const std::optional &doc) { + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types"); + switch (det_type) { + case defs::JUNGFRAU: + test_master_file_jungfrau_metadata(det, doc); + break; + case defs::EIGER: + test_master_file_eiger_metadata(det, doc); + break; + case defs::MOENCH: + test_master_file_moench_metadata(det, doc); + break; + case defs::MYTHEN3: + test_master_file_mythen3_metadata(det, doc); + break; + case defs::GOTTHARD2: + test_master_file_gotthard2_metadata(det, doc); + break; + case defs::CHIPTESTBOARD: + case defs::XILINX_CHIPTESTBOARD: + test_master_file_ctb_metadata(det, doc); + break; + default: + break; + } +} + +Document parse_binary_master_attributes(std::string file_path) { + REQUIRE(std::filesystem::exists(file_path) == true); + std::ifstream file(file_path); + REQUIRE(file.is_open()); + std::stringstream buffer; + buffer << file.rdbuf(); + std::string json_str = buffer.str(); + + Document doc; + ParseResult result = doc.Parse(json_str.c_str()); + if (result == 0) { + std::cout << "JSON parse error: " << GetParseError_En(result.Code()) + << " (at offset " << result.Offset() << ")" << std::endl; + + // Optional: Show problematic snippet + size_t offset = result.Offset(); + std::string context = + json_str.substr(std::max(0, (int)offset - 20), 40); + std::cout << "Context around error: \"" << context << "\"" << std::endl; + } + REQUIRE(result != 0); + return doc; +} + +#ifdef HDF5C +void open_hdf5_file(const std::string &file_path) { + REQUIRE(std::filesystem::exists(file_path) == true); + h5File = std::make_optional(file_path, H5F_ACC_RDONLY); + REQUIRE(H5Lexists(h5File->getId(), HDF5_GROUP.c_str(), H5P_DEFAULT) == + true); +} +#endif + +TEST_CASE("check_master_file_attributes", "[.cmdcall][.cmdacquire][.cmdattr]") { + + Detector det; + Caller caller(&det); + auto det_type = + det.getDetectorType().tsquash("Inconsistent detector types to test"); + + int64_t num_frames = 1; + switch (det_type) { + case defs::EIGER: + case defs::JUNGFRAU: + case defs::MOENCH: + case defs::MYTHEN3: + case defs::GOTTHARD2: + create_files_for_acquire(det, caller, num_frames); + break; + case defs::CHIPTESTBOARD: + case defs::XILINX_CHIPTESTBOARD: { + testCtbAcquireInfo test_ctb_config; + create_files_for_acquire(det, caller, num_frames, test_ctb_config); + } break; + default: + throw sls::RuntimeError("Unsupported detector type for this test"); + } + + testFileInfo file_info; + std::string master_file_prefix = file_info.getMasterFileNamePrefix(); + + // binary + std::string fname = + master_file_prefix + ".json"; // /tmp/sls_test_master_0.json + auto doc = std::make_optional(parse_binary_master_attributes(fname)); + test_master_file_metadata(det, doc); + test_master_file_frames_in_file(doc, num_frames); + + // hdf5 +#ifdef HDF5C + fname = master_file_prefix + ".h5"; // /tmp/sls_test_master_0.h5 + try { + open_hdf5_file(fname); + test_master_file_metadata(det, std::nullopt); + test_master_file_frames_in_file(std::nullopt, num_frames); + } catch (H5::Exception &e) { + LOG(logERROR) << "HDF5 error: " << e.getDetailMsg(); + throw; + } +#endif +} + +} // namespace sls diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp index 9c79a51ab..56353f44b 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp @@ -15,66 +15,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("moench_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::MOENCH) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - get_common_acquire_config_state(det); - - // save previous specific det type config - auto exptime = det.getExptime().tsquash("inconsistent exptime to test"); - auto num_udp_interfaces = det.getNumberofUDPInterfaces().tsquash( - "inconsistent number of udp interfaces"); - auto n_rows = - det.getReadNRows().tsquash("inconsistent number of rows to test"); - - // defaults - int num_frames_to_acquire = 2; - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set default specific det type config - det.setExptime(std::chrono::microseconds{200}); - det.setReadNRows(400); - - // acquire - test_acquire_with_receiver(caller, det); - - // check frames caught - test_frames_caught(det, num_frames_to_acquire); - - // check file size (assuming local pc) - { - detParameters par(det_type); - int bytes_per_pixel = det.getDynamicRange().squash() / 8; - // if 2 udp interfaces, data split into half - size_t expected_image_size = (par.nChanX * par.nChanY * par.nChipX * - par.nChipY * bytes_per_pixel) / - num_udp_interfaces; - test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, - expected_image_size); - } - - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - - // restore previous specific det type config - det.setExptime(exptime); - det.setReadNRows(n_rows); - } -} - /* dacs */ TEST_CASE("Setting and reading back moench dacs", "[.cmdcall][.dacs]") { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp index c5d644b3d..16295a3e1 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp @@ -17,74 +17,6 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("mythen3_acquire_check_file_size", "[.cmdcall]") { - Detector det; - Caller caller(&det); - auto det_type = - det.getDetectorType().tsquash("Inconsistent detector types to test"); - - if (det_type == defs::MYTHEN3) { - - // save previous state - testFileInfo prev_file_info = get_file_state(det); - testCommonDetAcquireInfo prev_det_config_info = - get_common_acquire_config_state(det); - - // save previous specific det type config - auto exptime = - det.getExptimeForAllGates().tsquash("inconsistent exptime to test"); - auto dynamic_range = - det.getDynamicRange().tsquash("inconsistent dynamic range to test"); - uint32_t counter_mask = - det.getCounterMask().tsquash("inconsistent counter mask to test"); - - // defaults - int num_frames_to_acquire = 2; - testFileInfo test_file_info; - set_file_state(det, test_file_info); - testCommonDetAcquireInfo det_config; - det_config.num_frames_to_acquire = num_frames_to_acquire; - set_common_acquire_config_state(det, det_config); - - // set default specific det type config - det.setExptime(-1, std::chrono::microseconds{200}); - int test_dynamic_range = 16; - det.setDynamicRange(test_dynamic_range); - int test_counter_mask = 0x3; - int num_counters = __builtin_popcount(test_counter_mask); - det.setCounterMask(test_counter_mask); - - // acquire - test_acquire_with_receiver(caller, det); - - // check frames caught - test_frames_caught(det, num_frames_to_acquire); - - // check file size (assuming local pc) - { - detParameters par(det_type); - int bytes_per_pixel = test_dynamic_range / 8; - int num_channels_per_counter = par.nChanX / 3; - size_t expected_image_size = num_channels_per_counter * - num_counters * par.nChipX * - bytes_per_pixel; - test_acquire_binary_file_size(test_file_info, num_frames_to_acquire, - expected_image_size); - } - - // restore previous state - set_file_state(det, prev_file_info); - set_common_acquire_config_state(det, prev_det_config_info); - - // restore previous specific det type config - for (int iGate = 0; iGate < 3; ++iGate) { - det.setExptime(iGate, exptime[iGate]); - } - det.setDynamicRange(dynamic_range); - det.setCounterMask(counter_mask); - } -} - /* dacs */ TEST_CASE("Setting and reading back MYTHEN3 dacs", "[.cmdcall][.dacs]") { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp index 51fe04899..de1b795d8 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp @@ -738,43 +738,19 @@ TEST_CASE("rx_roi", "[.cmdcall]") { // check master file creation // TODO: check roi in master file { - auto prev_write = det.getFileWrite().tsquash( - "inconsistent file write values in test"); - auto prev_path = det.getFilePath().tsquash( - "inconsistent file path values in test"); - auto prev_format = det.getFileFormat().tsquash( - "inconsistent file format values in test"); - auto prev_index = det.getAcquisitionIndex().tsquash( - "inconsistent file index values in test"); - auto prev_fname = det.getFileNamePrefix().tsquash( - "inconsistent file name prefix values in test"); - - det.setFileWrite(true); - det.setFilePath("/tmp"); - det.setFileNamePrefix("test"); - - det.setAcquisitionIndex(0); - det.setFileFormat(defs::BINARY); - REQUIRE_NOTHROW(caller.call("acquire", {}, -1, PUT)); - std::string file_path = "/tmp/test_master_0.json"; - REQUIRE(std::filesystem::exists(file_path) == true); + create_files_for_acquire(det, caller); + testFileInfo file_info; + std::string master_file_prefix = + file_info.getMasterFileNamePrefix(); + std::string fname = master_file_prefix + ".json"; + REQUIRE(std::filesystem::exists(fname) == true); #ifdef HDF5C - det.setAcquisitionIndex(0); - det.setFileFormat(defs::HDF5); - REQUIRE_NOTHROW(caller.call("acquire", {}, -1, PUT)); - file_path = "/tmp/test_master_0.h5"; - REQUIRE(std::filesystem::exists(file_path) == true); - file_path = "/tmp/test_virtual_0.h5"; - REQUIRE(std::filesystem::exists(file_path) == true); + fname = master_file_prefix + ".h5"; + REQUIRE(std::filesystem::exists(fname) == true); + fname = file_info.getVirtualFileName(); + REQUIRE(std::filesystem::exists(fname) == true); #endif - - det.setFileWrite(prev_write); - if (!prev_path.empty()) - det.setFilePath(prev_path); - det.setFileFormat(prev_format); - det.setAcquisitionIndex(prev_index); - det.setFileNamePrefix(prev_fname); } for (int i = 0; i != det.size(); ++i) { @@ -801,7 +777,11 @@ TEST_CASE("rx_clearroi", "[.cmdcall]") { REQUIRE(oss.str() == "rx_clearroi successful\n"); } for (int i = 0; i != det.size(); ++i) { - det.setRxROI(prev_val); + if (prev_val.size() == 1 && prev_val[0].completeRoi()) { + det.clearRxROI(); + } else { + det.setRxROI(prev_val); + } } } } diff --git a/slsReceiverSoftware/src/ClientInterface.cpp b/slsReceiverSoftware/src/ClientInterface.cpp index 902870a8f..41c54e2e5 100644 --- a/slsReceiverSoftware/src/ClientInterface.cpp +++ b/slsReceiverSoftware/src/ClientInterface.cpp @@ -221,7 +221,7 @@ int ClientInterface::functionTable(){ flist[F_GET_RECEIVER_DBIT_REORDER] = &ClientInterface::get_dbit_reorder; flist[F_SET_RECEIVER_DBIT_REORDER] = &ClientInterface::set_dbit_reorder; flist[F_RECEIVER_GET_ROI_METADATA] = &ClientInterface::get_roi_metadata; - + flist[F_SET_RECEIVER_READOUT_SPEED] = &ClientInterface::set_readout_speed; for (int i = NUM_DET_FUNCTIONS + 1; i < NUM_REC_FUNCTIONS ; i++) { LOG(logDEBUG1) << "function fnum: " << i << " (" << @@ -411,6 +411,8 @@ int ClientInterface::setup_receiver(Interface &socket) { impl()->setReadoutMode(arg.roMode); impl()->setTenGigaADCEnableMask(arg.adc10gMask); impl()->setTransceiverEnableMask(arg.transceiverMask); + } else { + impl()->setReadoutSpeed(arg.readoutSpeed); } if (detType == CHIPTESTBOARD) { impl()->setADCEnableMask(arg.adcMask); @@ -1851,4 +1853,33 @@ int ClientInterface::get_roi_metadata(Interface &socket) { return OK; } +int ClientInterface::set_readout_speed(Interface &socket) { + auto value = socket.Receive(); + verifyIdle(socket); + switch (detType) { + case GOTTHARD2: + if (value != G2_108MHZ && value != G2_144MHZ) + throw RuntimeError("Invalid readout speed for GOTTHARD2: " + + std::to_string(value)); + break; + + case EIGER: + case JUNGFRAU: + case MYTHEN3: + case MOENCH: + if (value < 0 || value > QUARTER_SPEED) { + throw RuntimeError("Invalid readout speed: " + + std::to_string(value)); + } + break; + + default: + functionNotImplemented(); + } + + LOG(logDEBUG1) << "Setting readout speed to " << value; + impl()->setReadoutSpeed(static_cast(value)); + return socket.Send(OK); +} + } // namespace sls diff --git a/slsReceiverSoftware/src/ClientInterface.h b/slsReceiverSoftware/src/ClientInterface.h index e17a3ab85..f2dbaa764 100644 --- a/slsReceiverSoftware/src/ClientInterface.h +++ b/slsReceiverSoftware/src/ClientInterface.h @@ -167,6 +167,7 @@ class ClientInterface : private virtual slsDetectorDefs { int get_dbit_reorder(ServerInterface &socket); int set_dbit_reorder(ServerInterface &socket); int get_roi_metadata(ServerInterface &socket); + int set_readout_speed(ServerInterface &socket); Implementation *impl() { if (receiver != nullptr) { diff --git a/slsReceiverSoftware/src/GeneralData.h b/slsReceiverSoftware/src/GeneralData.h index 34a329542..d60c3b726 100644 --- a/slsReceiverSoftware/src/GeneralData.h +++ b/slsReceiverSoftware/src/GeneralData.h @@ -18,6 +18,110 @@ namespace sls { +struct CtbImageInputs { + slsDetectorDefs::readoutMode mode{slsDetectorDefs::ANALOG_ONLY}; + + int nAnalogSamples{}; + uint32_t adcMask{}; + int nTransceiverSamples{}; + uint32_t transceiverMask{}; + int nDigitalSamples{}; + int dbitOffset{}; + bool dbitReorder{}; + std::vector dbitList{}; +}; + +struct CtbImageOutputs { + int nAnalogBytes{}; + int nDigitalBytes{}; + int nDigitalBytesReserved{}; // including dbit offset and for 64 bits + int nTransceiverBytes{}; + int nPixelsX{}; +}; + +inline CtbImageOutputs computeCtbImageSize(const CtbImageInputs &in) { + CtbImageOutputs out{}; + + constexpr int num_bytes_per_analog_channel = 2; + constexpr int num_bytes_per_transceiver_channel = 8; + constexpr int max_digital_channels = 64; + + // analog channels (normal, analog/digital readout) + if (in.mode == slsDetectorDefs::ANALOG_ONLY || + in.mode == slsDetectorDefs::ANALOG_AND_DIGITAL) { + int nAnalogChans = __builtin_popcount(in.adcMask); + + out.nPixelsX += nAnalogChans; + out.nAnalogBytes = + nAnalogChans * num_bytes_per_analog_channel * in.nAnalogSamples; + LOG(logDEBUG1) << " Number of Analog Channels:" << nAnalogChans + << " Databytes: " << out.nAnalogBytes; + } + + // digital channels + if (in.mode == slsDetectorDefs::DIGITAL_ONLY || + in.mode == slsDetectorDefs::ANALOG_AND_DIGITAL || + in.mode == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { + + int nSamples = in.nDigitalSamples; + { + // allocate enought for 64 bits and dbit offset for now + // TODO: to be replaced in the future with the actual reserved and + // used + int32_t num_bytes_per_bit = + (nSamples % 8 == 0) ? (nSamples / 8) : (nSamples / 8 + 1); + out.nDigitalBytesReserved = + max_digital_channels * num_bytes_per_bit; + LOG(logDEBUG1) << "Number of Digital Channels:" + << max_digital_channels << " Databytes reserved: " + << out.nDigitalBytesReserved; + } + + // remove offset + if (in.dbitOffset > 0) { + int nBytesReserved = out.nDigitalBytesReserved - in.dbitOffset; + nSamples = nBytesReserved / sizeof(uint64_t); + } + // calculate channels + int nChans = in.dbitList.size(); + if (nChans == 0) { + nChans = max_digital_channels; + } + out.nPixelsX += nChans; + + // calculate actual bytes + if (!in.dbitReorder) { + uint32_t nBitsPerSample = nChans; + if (nBitsPerSample % 8 != 0) { + nBitsPerSample += (8 - (nBitsPerSample % 8)); + } + out.nDigitalBytes = (nBitsPerSample / 8) * nSamples; + } else { + uint32_t nBitsPerSignal = nSamples; + if (nBitsPerSignal % 8 != 0) { + nBitsPerSignal += (8 - (nBitsPerSignal % 8)); + } + out.nDigitalBytes = nChans * (nBitsPerSignal / 8); + } + LOG(logDEBUG1) << "Number of Actual Digital Channels:" << nChans + << " Databytes: " << out.nDigitalBytes; + } + + // transceiver channels + if (in.mode == slsDetectorDefs::TRANSCEIVER_ONLY || + in.mode == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { + int nTransceiverChans = __builtin_popcount(in.transceiverMask); + + out.nPixelsX += nTransceiverChans; + out.nTransceiverBytes = nTransceiverChans * + num_bytes_per_transceiver_channel * + in.nTransceiverSamples; + LOG(logDEBUG1) << "Number of Transceiver Channels:" << nTransceiverChans + << " Databytes: " << out.nTransceiverBytes; + } + return out; +} + class GeneralData { public: @@ -62,7 +166,8 @@ class GeneralData { uint32_t transceiverMask{0}; slsDetectorDefs::frameDiscardPolicy frameDiscardMode{ slsDetectorDefs::NO_DISCARD}; - + /* actual image size after ctboffset and ctbreorder */ + uint32_t actualImageSize{0}; GeneralData(){}; virtual ~GeneralData(){}; @@ -196,6 +301,7 @@ class EigerData : public GeneralData { dataSize = (tengigaEnable ? 4096 : 1024); packetSize = headerSizeinPacket + dataSize; imageSize = int(nPixelsX * nPixelsY * GetPixelDepth()); + actualImageSize = imageSize; packetsPerFrame = imageSize / dataSize; fifoDepth = (dynamicRange == 32 ? 100 : 1000); }; @@ -226,6 +332,7 @@ class JungfrauData : public GeneralData { nPixelsX = (256 * 4); nPixelsY = (256 * 2) / numUDPInterfaces; imageSize = int(nPixelsX * nPixelsY * GetPixelDepth()); + actualImageSize = imageSize; packetsPerFrame = imageSize / dataSize; udpSocketBufferSize = (1000 * 1024 * 1024) / numUDPInterfaces; }; @@ -257,6 +364,7 @@ class MoenchData : public GeneralData { nPixelsX = (400); nPixelsY = (400) / numUDPInterfaces; imageSize = int(nPixelsX * nPixelsY * GetPixelDepth()); + actualImageSize = imageSize; packetsPerFrame = imageSize / dataSize; udpSocketBufferSize = (1000 * 1024 * 1024) / numUDPInterfaces; }; @@ -308,6 +416,7 @@ class Mythen3Data : public GeneralData { nPixelsX = (NCHAN * ncounters); // max 1280 channels x 3 counters LOG(logINFO) << "nPixelsX: " << nPixelsX; imageSize = nPixelsX * nPixelsY * GetPixelDepth(); + actualImageSize = imageSize; // 10g if (tengigaEnable) { @@ -374,6 +483,7 @@ class Gotthard2Data : public GeneralData { void UpdateImageSize() { packetSize = headerSizeinPacket + dataSize; imageSize = int(nPixelsX * nPixelsY * GetPixelDepth()); + actualImageSize = imageSize; packetsPerFrame = imageSize / dataSize; vetoPacketSize = vetoHsize + vetoDataSize; vetoImageSize = vetoDataSize * packetsPerFrame; @@ -384,8 +494,6 @@ class Gotthard2Data : public GeneralData { class ChipTestBoardData : public GeneralData { private: const int NCHAN_DIGITAL = 64; - const int NUM_BYTES_PER_ANALOG_CHANNEL = 2; - const int NUM_BYTES_PER_TRANSCEIVER_CHANNEL = 8; int nAnalogBytes = 0; int nDigitalBytes = 0; int nTransceiverBytes = 0; @@ -394,7 +502,7 @@ class ChipTestBoardData : public GeneralData { /** Constructor */ ChipTestBoardData() { detType = slsDetectorDefs::CHIPTESTBOARD; - nPixelsY = 1; // number of samples + nPixelsY = 1; headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header); frameIndexMask = 0xFFFFFF; // 10g frameIndexOffset = 8; // 10g @@ -404,29 +512,29 @@ class ChipTestBoardData : public GeneralData { standardheader = true; ctbDbitReorder = true; UpdateImageSize(); - }; + } public: - int GetNumberOfAnalogDatabytes() { return nAnalogBytes; }; + int GetNumberOfAnalogDatabytes() { return nAnalogBytes; } - int GetNumberOfDigitalDatabytes() { return nDigitalBytes; }; + int GetNumberOfDigitalDatabytes() { return nDigitalBytes; } - int GetNumberOfTransceiverDatabytes() { return nTransceiverBytes; }; + int GetNumberOfTransceiverDatabytes() { return nTransceiverBytes; } void SetNumberOfAnalogSamples(int n) { nAnalogSamples = n; UpdateImageSize(); - }; + } void SetNumberOfDigitalSamples(int n) { nDigitalSamples = n; UpdateImageSize(); - }; + } void SetNumberOfTransceiverSamples(int n) { nTransceiverSamples = n; UpdateImageSize(); - }; + } void SetctbDbitOffset(const int value) { ctbDbitOffset = value; } @@ -437,83 +545,60 @@ class ChipTestBoardData : public GeneralData { void SetOneGigaAdcEnableMask(int n) { adcEnableMaskOneGiga = n; UpdateImageSize(); - }; + } void SetTenGigaAdcEnableMask(int n) { adcEnableMaskTenGiga = n; UpdateImageSize(); - }; + } void SetTransceiverEnableMask(int n) { transceiverMask = n; UpdateImageSize(); - }; + } void SetReadoutMode(slsDetectorDefs::readoutMode r) { readoutType = r; UpdateImageSize(); - }; + } void SetTenGigaEnable(bool tg) { tengigaEnable = tg; UpdateImageSize(); - }; + } private: void UpdateImageSize() { - nAnalogBytes = 0; - nDigitalBytes = 0; - nTransceiverBytes = 0; - int nAnalogChans = 0, nDigitalChans = 0, nTransceiverChans = 0; - uint64_t digital_bytes_reserved = 0; + // used in calculations so cant remove now - TODO: remove later + nDigitalBytes = sizeof(uint64_t) * nDigitalSamples; - // analog channels (normal, analog/digital readout) - if (readoutType == slsDetectorDefs::ANALOG_ONLY || - readoutType == slsDetectorDefs::ANALOG_AND_DIGITAL) { - uint32_t adcEnableMask = - (tengigaEnable ? adcEnableMaskTenGiga : adcEnableMaskOneGiga); - nAnalogChans = __builtin_popcount(adcEnableMask); + // calculate image size + CtbImageInputs inputs{}; + inputs.nAnalogSamples = nAnalogSamples; + inputs.adcMask = + tengigaEnable ? adcEnableMaskTenGiga : adcEnableMaskOneGiga; + inputs.nTransceiverSamples = nTransceiverSamples; + inputs.transceiverMask = transceiverMask; + inputs.nDigitalSamples = nDigitalSamples; + inputs.dbitOffset = ctbDbitOffset; + inputs.dbitList = ctbDbitList; + inputs.dbitReorder = ctbDbitReorder; + auto out = computeCtbImageSize(inputs); + nPixelsX = out.nPixelsX; + imageSize = out.nAnalogBytes + out.nDigitalBytesReserved + + out.nTransceiverBytes; + // to write to file: after ctb offset and reorder + actualImageSize = + out.nAnalogBytes + out.nDigitalBytes + out.nTransceiverBytes; + LOG(logDEBUG1) << "Actual image size: " << actualImageSize; - nAnalogBytes = - nAnalogChans * NUM_BYTES_PER_ANALOG_CHANNEL * nAnalogSamples; - LOG(logDEBUG1) << " Number of Analog Channels:" << nAnalogChans - << " Databytes: " << nAnalogBytes; - } - // digital channels - if (readoutType == slsDetectorDefs::DIGITAL_ONLY || - readoutType == slsDetectorDefs::ANALOG_AND_DIGITAL || - readoutType == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { - nDigitalChans = NCHAN_DIGITAL; - // allocate enough memory to support reordering of digital bits - uint32_t num_bytes_per_bit = (nDigitalSamples % 8 == 0) - ? nDigitalSamples / 8 - : nDigitalSamples / 8 + 1; - digital_bytes_reserved = 64 * num_bytes_per_bit; - nDigitalBytes = sizeof(uint64_t) * nDigitalSamples; - LOG(logDEBUG1) << "Number of Digital Channels:" << nDigitalChans - << " Databytes: " << nDigitalBytes; - } - // transceiver channels - if (readoutType == slsDetectorDefs::TRANSCEIVER_ONLY || - readoutType == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { - nTransceiverChans = __builtin_popcount(transceiverMask); - ; - nTransceiverBytes = nTransceiverChans * - NUM_BYTES_PER_TRANSCEIVER_CHANNEL * - nTransceiverSamples; - LOG(logDEBUG1) << "Number of Transceiver Channels:" - << nTransceiverChans - << " Databytes: " << nTransceiverBytes; - } - nPixelsX = nAnalogChans + nDigitalChans + nTransceiverChans; + // calculate network parameters dataSize = tengigaEnable ? 8144 : UDP_PACKET_DATA_BYTES; packetSize = headerSizeinPacket + dataSize; - imageSize = nAnalogBytes + digital_bytes_reserved + nTransceiverBytes; packetsPerFrame = ceil((double)imageSize / (double)dataSize); - LOG(logDEBUG1) << "Total Number of Channels:" << nPixelsX << " Databytes: " << imageSize; - }; + } }; class XilinxChipTestBoardData : public GeneralData { @@ -572,11 +657,6 @@ class XilinxChipTestBoardData : public GeneralData { void SetctbDbitReorder(const bool value) { ctbDbitReorder = value; } - void SetOneGigaAdcEnableMask(int n) { - adcEnableMaskOneGiga = n; - UpdateImageSize(); - }; - void SetTenGigaAdcEnableMask(int n) { adcEnableMaskTenGiga = n; UpdateImageSize(); @@ -594,53 +674,30 @@ class XilinxChipTestBoardData : public GeneralData { private: void UpdateImageSize() { - nAnalogBytes = 0; - nDigitalBytes = 0; - nTransceiverBytes = 0; - int nAnalogChans = 0, nDigitalChans = 0, nTransceiverChans = 0; - uint64_t digital_bytes_reserved = 0; + // used in calculations so cant remove now - TODO: remove later + nDigitalBytes = sizeof(uint64_t) * nDigitalSamples; - // analog channels (normal, analog/digital readout) - if (readoutType == slsDetectorDefs::ANALOG_ONLY || - readoutType == slsDetectorDefs::ANALOG_AND_DIGITAL) { - uint32_t adcEnableMask = adcEnableMaskTenGiga; - nAnalogChans = __builtin_popcount(adcEnableMask); + // calculate image size + CtbImageInputs inputs{}; + inputs.nAnalogSamples = nAnalogSamples; + inputs.adcMask = adcEnableMaskTenGiga; + inputs.nTransceiverSamples = nTransceiverSamples; + inputs.transceiverMask = transceiverMask; + inputs.nDigitalSamples = nDigitalSamples; + inputs.dbitOffset = ctbDbitOffset; + inputs.dbitList = ctbDbitList; + inputs.dbitReorder = ctbDbitReorder; + auto out = computeCtbImageSize(inputs); + nPixelsX = out.nPixelsX; + imageSize = out.nAnalogBytes + out.nDigitalBytesReserved + + out.nTransceiverBytes; + // to write to file: after ctb offset and reorder + actualImageSize = + out.nAnalogBytes + out.nDigitalBytes + out.nTransceiverBytes; + LOG(logDEBUG1) << "Actual image size: " << actualImageSize; - nAnalogBytes = - nAnalogChans * NUM_BYTES_PER_ANALOG_CHANNEL * nAnalogSamples; - LOG(logDEBUG1) << " Number of Analog Channels:" << nAnalogChans - << " Databytes: " << nAnalogBytes; - } - // digital channels - if (readoutType == slsDetectorDefs::DIGITAL_ONLY || - readoutType == slsDetectorDefs::ANALOG_AND_DIGITAL || - readoutType == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { - nDigitalChans = NCHAN_DIGITAL; - uint32_t num_bytes_per_bit = (nDigitalSamples % 8 == 0) - ? nDigitalSamples / 8 - : nDigitalSamples / 8 + 1; - digital_bytes_reserved = 64 * num_bytes_per_bit; - nDigitalBytes = sizeof(uint64_t) * nDigitalSamples; - LOG(logDEBUG1) << "Number of Digital Channels:" << nDigitalChans - << " Databytes: " << nDigitalBytes; - } - // transceiver channels - if (readoutType == slsDetectorDefs::TRANSCEIVER_ONLY || - readoutType == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) { - nTransceiverChans = __builtin_popcount(transceiverMask); - ; - nTransceiverBytes = nTransceiverChans * - NUM_BYTES_PER_TRANSCEIVER_CHANNEL * - nTransceiverSamples; - LOG(logDEBUG1) << "Number of Transceiver Channels:" - << nTransceiverChans - << " Databytes: " << nTransceiverBytes; - } - nPixelsX = nAnalogChans + nDigitalChans + nTransceiverChans; - - imageSize = nAnalogBytes + digital_bytes_reserved + nTransceiverBytes; + // calculate network parameters packetsPerFrame = ceil((double)imageSize / (double)dataSize); - LOG(logDEBUG1) << "Total Number of Channels:" << nPixelsX << " Databytes: " << imageSize; }; diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index faf3bf031..0a9690519 100644 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -908,7 +908,7 @@ void Implementation::StartMasterWriter() { masterAttributes.detType = generalData->detType; masterAttributes.timingMode = timingMode; masterAttributes.geometry = numPorts; - masterAttributes.imageSize = generalData->imageSize; + masterAttributes.imageSize = generalData->actualImageSize; masterAttributes.nPixels = xy(generalData->nPixelsX, generalData->nPixelsY); masterAttributes.maxFramesPerFile = generalData->framesPerFile; @@ -943,7 +943,7 @@ void Implementation::StartMasterWriter() { masterAttributes.quad = quadEnable; masterAttributes.readNRows = readNRows; masterAttributes.ratecorr = rateCorrections; - masterAttributes.adcmask = generalData->tengigaEnable + masterAttributes.adcMask = generalData->tengigaEnable ? generalData->adcEnableMaskTenGiga : generalData->adcEnableMaskOneGiga; masterAttributes.analog = @@ -959,12 +959,12 @@ void Implementation::StartMasterWriter() { ? 1 : 0; masterAttributes.digitalSamples = generalData->nDigitalSamples; - masterAttributes.dbitoffset = generalData->ctbDbitOffset; - masterAttributes.dbitreorder = generalData->ctbDbitReorder; - masterAttributes.dbitlist = 0; + masterAttributes.dbitOffset = generalData->ctbDbitOffset; + masterAttributes.dbitReorder = generalData->ctbDbitReorder; + masterAttributes.dbitList = 0; for (auto &i : generalData->ctbDbitList) { - masterAttributes.dbitlist |= (static_cast(1) << i); + masterAttributes.dbitList |= (static_cast(1) << i); } masterAttributes.transceiverSamples = generalData->nTransceiverSamples; @@ -983,6 +983,7 @@ void Implementation::StartMasterWriter() { masterAttributes.gateDelayArray[2] = gateDelay3; masterAttributes.gates = numberOfGates; masterAttributes.additionalJsonHeader = additionalJsonHeader; + masterAttributes.readoutSpeed = readoutSpeed; // create master file masterFileName = dataProcessor[0]->CreateMasterFile( @@ -1781,6 +1782,15 @@ void Implementation::setTransceiverEnableMask(uint32_t mask) { LOG(logINFO) << "Packets per Frame: " << (generalData->packetsPerFrame); } +slsDetectorDefs::speedLevel Implementation::getReadoutSpeed() const { + return readoutSpeed; +} + +void Implementation::setReadoutSpeed(const slsDetectorDefs::speedLevel i) { + readoutSpeed = i; + LOG(logINFO) << "Readout Speed: " << ToString(readoutSpeed); +} + /************************************************** * * * Callbacks * diff --git a/slsReceiverSoftware/src/Implementation.h b/slsReceiverSoftware/src/Implementation.h index 31359930f..2699bbfc4 100644 --- a/slsReceiverSoftware/src/Implementation.h +++ b/slsReceiverSoftware/src/Implementation.h @@ -256,10 +256,12 @@ class Implementation : private virtual slsDetectorDefs { bool getDbitReorder() const; /* [Ctb] */ void setDbitReorder(const bool reorder); - uint32_t getTransceiverEnableMask() const; /* [Ctb] */ void setTransceiverEnableMask(const uint32_t mask); + speedLevel getReadoutSpeed() const; + /* [Eiger][Jungfrau][Moench][Mythen3][Gotthard2]*/ + void setReadoutSpeed(const speedLevel i); /************************************************** * * @@ -369,6 +371,7 @@ class Implementation : private virtual slsDetectorDefs { int thresholdEnergyeV{-1}; std::array thresholdAllEnergyeV = {{-1, -1, -1}}; std::vector rateCorrections; + speedLevel readoutSpeed{FULL_SPEED}; // callbacks void (*startAcquisitionCallBack)(const startCallbackHeader, diff --git a/slsReceiverSoftware/src/MasterAttributes.cpp b/slsReceiverSoftware/src/MasterAttributes.cpp index 211b6f439..76907ea04 100644 --- a/slsReceiverSoftware/src/MasterAttributes.cpp +++ b/slsReceiverSoftware/src/MasterAttributes.cpp @@ -5,8 +5,238 @@ namespace sls { -void MasterAttributes::GetBinaryAttributes( - rapidjson::PrettyWriter *w) { +void MasterAttributes::GetCommonBinaryAttributes(writer *w) { + WriteBinaryVersion(w); + WriteBinaryTimestamp(w); + WriteBinaryDetectorType(w); + WriteBinaryTimingMode(w); + WriteBinaryGeometry(w); + WriteBinaryImageSize(w); + WriteBinaryPixels(w); + WriteBinaryMaxFramesPerFile(w); + WriteBinaryFrameDiscardPolicy(w); + WriteBinaryFramePadding(w); + WriteBinaryScanParameters(w); + WriteBinaryTotalFrames(w); +} + +void MasterAttributes::GetFinalBinaryAttributes(writer *w) { + WriteBinaryFramesInFile(w); + WriteBinaryJsonHeader(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteCommonHDF5Attributes(H5::H5File *fd, + H5::Group *group) { + WriteHDF5Version(fd); + WriteHDF5Timestamp(group); + WriteHDF5DetectorType(group); + WriteHDF5TimingMode(group); + WriteHDF5Geometry(group); + WriteHDF5ImageSize(group); + WriteHDF5Pixels(group); + WriteHDF5MaxFramesPerFile(group); + WriteHDF5FrameDiscardPolicy(group); + WriteHDF5FramePadding(group); + WriteHDF5ScanParameters(group); + WriteHDF5TotalFrames(group); +} + +void MasterAttributes::WriteFinalHDF5Attributes(H5::Group *group) { + WriteHDF5FramesInFile(group); + WriteHDF5JsonHeader(group); +} +#endif + +void MasterAttributes::GetJungfrauBinaryAttributes(writer *w) { + WriteBinaryRois(w); + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryNumberOfUDPInterfaces(w); + WriteBinaryNumberOfRows(w); + WriteBinaryReadoutSpeed(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteJungfrauHDF5Attributes(H5::Group *group) { + WriteHDF5ROIs(group); + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5NumberOfUDPInterfaces(group); + WriteHDF5NumberOfRows(group); + WriteHDF5ReadoutSpeed(group); +} +#endif + +void MasterAttributes::GetMoenchBinaryAttributes(writer *w) { + WriteBinaryRois(w); + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryNumberOfUDPInterfaces(w); + WriteBinaryNumberOfRows(w); + WriteBinaryReadoutSpeed(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteMoenchHDF5Attributes(H5::Group *group) { + WriteHDF5ROIs(group); + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5NumberOfUDPInterfaces(group); + WriteHDF5NumberOfRows(group); + WriteHDF5ReadoutSpeed(group); +} +#endif + +void MasterAttributes::GetEigerBinaryAttributes(writer *w) { + WriteBinaryRois(w); + WriteBinaryDynamicRange(w); + WriteBinaryTenGiga(w); + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryThresholdEnergy(w); + WriteBinarySubExposureTime(w); + WriteBinarySubAcquisitionPeriod(w); + WriteBinaryQuad(w); + WriteBinaryNumberOfRows(w); + WriteBinaryRateCorrections(w); + WriteBinaryReadoutSpeed(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteEigerHDF5Attributes(H5::Group *group) { + WriteHDF5ROIs(group); + WriteHDF5DynamicRange(group); + WriteHDF5TenGiga(group); + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5ThresholdEnergy(group); + WriteHDF5SubExposureTime(group); + WriteHDF5SubAcquisitionPeriod(group); + WriteHDF5Quad(group); + WriteHDF5NumberOfRows(group); + WriteHDF5RateCorrections(group); + WriteHDF5ReadoutSpeed(group); +} +#endif + +void MasterAttributes::GetMythen3BinaryAttributes(writer *w) { + WriteBinaryRois(w); + WriteBinaryDynamicRange(w); + WriteBinaryTenGiga(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryCounterMask(w); + WriteBinaryExptimeArray(w); + WriteBinaryGateDelayArray(w); + WriteBinaryGates(w); + WriteBinaryThresholdAllEnergy(w); + WriteBinaryReadoutSpeed(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteMythen3HDF5Attributes(H5::Group *group) { + WriteHDF5ROIs(group); + WriteHDF5DynamicRange(group); + WriteHDF5TenGiga(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5CounterMask(group); + WriteHDF5ExptimeArray(group); + WriteHDF5GateDelayArray(group); + WriteHDF5Gates(group); + WriteHDF5ThresholdAllEnergy(group); + WriteHDF5ReadoutSpeed(group); +} +#endif + +void MasterAttributes::GetGotthard2BinaryAttributes(writer *w) { + WriteBinaryRois(w); + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryBurstMode(w); + WriteBinaryReadoutSpeed(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteGotthard2HDF5Attributes(H5::Group *group) { + WriteHDF5ROIs(group); + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5BurstMode(group); + WriteHDF5ReadoutSpeed(group); +} +#endif + +void MasterAttributes::GetCtbBinaryAttributes(writer *w) { + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryTenGiga(w); + WriteBinaryAdcMask(w); + WriteBinaryAnalogFlag(w); + WriteBinaryAnalogSamples(w); + WriteBinaryDigitalFlag(w); + WriteBinaryDigitalSamples(w); + WriteBinaryDBitOffset(w); + WriteBinaryDBitReorder(w); + WriteBinaryDBitBitset(w); + WriteBinaryTransceiverMask(w); + WriteBinaryTransceiverFlag(w); + WriteBinaryTransceiverSamples(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteCtbHDF5Attributes(H5::Group *group) { + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5TenGiga(group); + WriteHDF5AdcMask(group); + WriteHDF5AnalogFlag(group); + WriteHDF5AnalogSamples(group); + WriteHDF5DigitalFlag(group); + WriteHDF5DigitalSamples(group); + WriteHDF5DBitOffset(group); + WriteHDF5DBitReorder(group); + WriteHDF5DBitBitset(group); + WriteHDF5TransceiverMask(group); + WriteHDF5TransceiverFlag(group); + WriteHDF5TransceiverSamples(group); +} +#endif + +void MasterAttributes::GetXilinxCtbBinaryAttributes(writer *w) { + WriteBinaryExposureTme(w); + WriteBinaryAcquisitionPeriod(w); + WriteBinaryAdcMask(w); + WriteBinaryAnalogFlag(w); + WriteBinaryAnalogSamples(w); + WriteBinaryDigitalFlag(w); + WriteBinaryDigitalSamples(w); + WriteBinaryDBitOffset(w); + WriteBinaryDBitReorder(w); + WriteBinaryDBitBitset(w); + WriteBinaryTransceiverMask(w); + WriteBinaryTransceiverFlag(w); + WriteBinaryTransceiverSamples(w); +} + +#ifdef HDF5C +void MasterAttributes::WriteXilinxCtbHDF5Attributes(H5::Group *group) { + WriteHDF5ExposureTime(group); + WriteHDF5AcquisitionPeriod(group); + WriteHDF5AdcMask(group); + WriteHDF5AnalogFlag(group); + WriteHDF5AnalogSamples(group); + WriteHDF5DigitalFlag(group); + WriteHDF5DigitalSamples(group); + WriteHDF5DBitOffset(group); + WriteHDF5DBitReorder(group); + WriteHDF5DBitBitset(group); + WriteHDF5TransceiverMask(group); + WriteHDF5TransceiverFlag(group); + WriteHDF5TransceiverSamples(group); +} +#endif + +void MasterAttributes::GetBinaryAttributes(writer *w) { w->StartObject(); GetCommonBinaryAttributes(w); switch (detType) { @@ -70,57 +300,597 @@ void MasterAttributes::WriteHDF5Attributes(H5::H5File *fd, H5::Group *group) { } #endif -void MasterAttributes::GetCommonBinaryAttributes( - rapidjson::PrettyWriter *w) { - w->Key("Version"); +void MasterAttributes::WriteBinaryDetectorType(writer *w) { + WriteBinary(w, N_DETECTOR_TYPE.data(), ToString(detType)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DetectorType(H5::Group *group) { + WriteHDF5String(group, N_DETECTOR_TYPE.data(), ToString(detType)); +} +#endif + +void MasterAttributes::WriteBinaryTimingMode(writer *w) { + WriteBinary(w, N_TIMING_MODE.data(), ToString(timingMode)); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5TimingMode(H5::Group *group) { + WriteHDF5String(group, N_TIMING_MODE.data(), ToString(timingMode)); +} +#endif + +void MasterAttributes::WriteBinaryGeometry(writer *w) { + WriteBinaryXY(w, N_GEOMETRY.data(), geometry); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5Geometry(H5::Group *group) { + WriteHDF5XY(group, N_GEOMETRY.data(), geometry); +} +#endif + +void MasterAttributes::WriteBinaryImageSize(writer *w) { + WriteBinary(w, N_IMAGE_SIZE.data(), imageSize); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5ImageSize(H5::Group *group) { + WriteHDF5Int(group, N_IMAGE_SIZE.data(), imageSize); +} +#endif +void MasterAttributes::WriteBinaryPixels(writer *w) { + WriteBinaryXY(w, N_PIXELS.data(), nPixels); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5Pixels(H5::Group *group) { + WriteHDF5XY(group, N_PIXELS.data(), nPixels); +} +#endif + +void MasterAttributes::WriteBinaryMaxFramesPerFile(writer *w) { + WriteBinary(w, N_MAX_FRAMES_PER_FILE.data(), maxFramesPerFile); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5MaxFramesPerFile(H5::Group *group) { + WriteHDF5Int(group, N_MAX_FRAMES_PER_FILE.data(), maxFramesPerFile); +} +#endif +void MasterAttributes::WriteBinaryFrameDiscardPolicy(writer *w) { + WriteBinary(w, N_FRAME_DISCARD_POLICY.data(), ToString(frameDiscardMode)); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5FrameDiscardPolicy(H5::Group *group) { + WriteHDF5String(group, N_FRAME_DISCARD_POLICY.data(), + ToString(frameDiscardMode)); +} +#endif +void MasterAttributes::WriteBinaryFramePadding(writer *w) { + WriteBinary(w, N_FRAME_PADDING.data(), framePadding); +} +#ifdef HDF5C +void MasterAttributes::WriteHDF5FramePadding(H5::Group *group) { + WriteHDF5Int(group, N_FRAME_PADDING.data(), framePadding); +} +#endif + +void MasterAttributes::WriteBinaryTotalFrames(writer *w) { + WriteBinary(w, N_TOTAL_FRAMES.data(), totalFrames); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5TotalFrames(H5::Group *group) { + WriteHDF5Int(group, N_TOTAL_FRAMES.data(), totalFrames); +} +#endif + +void MasterAttributes::WriteBinaryFramesInFile(writer *w) { + WriteBinary(w, N_FRAMES_IN_FILE.data(), framesInFile); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5FramesInFile(H5::Group *group) { + WriteHDF5Int(group, N_FRAMES_IN_FILE.data(), framesInFile); +} +#endif + +void MasterAttributes::WriteBinaryExposureTme(writer *w) { + WriteBinary(w, N_EXPOSURE_TIME.data(), ToString(exptime)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ExposureTime(H5::Group *group) { + WriteHDF5String(group, N_EXPOSURE_TIME.data(), ToString(exptime)); +} +#endif + +void MasterAttributes::WriteBinaryAcquisitionPeriod(writer *w) { + WriteBinary(w, N_ACQUISITION_PERIOD.data(), ToString(period)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5AcquisitionPeriod(H5::Group *group) { + WriteHDF5String(group, N_ACQUISITION_PERIOD.data(), ToString(period)); +} +#endif + +void MasterAttributes::WriteBinaryNumberOfUDPInterfaces(writer *w) { + WriteBinary(w, N_NUM_UDP_INTERFACES.data(), numUDPInterfaces); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5NumberOfUDPInterfaces(H5::Group *group) { + WriteHDF5Int(group, N_NUM_UDP_INTERFACES.data(), numUDPInterfaces); +} +#endif + +void MasterAttributes::WriteBinaryNumberOfRows(writer *w) { + WriteBinary(w, N_NUMBER_OF_ROWS.data(), readNRows); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5NumberOfRows(H5::Group *group) { + WriteHDF5Int(group, N_NUMBER_OF_ROWS.data(), readNRows); +} +#endif + +void MasterAttributes::WriteBinaryReadoutSpeed(writer *w) { + WriteBinary(w, N_READOUT_SPEED.data(), ToString(readoutSpeed)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ReadoutSpeed(H5::Group *group) { + WriteHDF5String(group, N_READOUT_SPEED.data(), ToString(readoutSpeed)); +} +#endif + +void MasterAttributes::WriteBinaryDynamicRange(writer *w) { + WriteBinary(w, N_DYNAMIC_RANGE.data(), dynamicRange); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DynamicRange(H5::Group *group) { + WriteHDF5Int(group, N_DYNAMIC_RANGE.data(), dynamicRange); +} +#endif + +void MasterAttributes::WriteBinaryTenGiga(writer *w) { + WriteBinary(w, N_TEN_GIGA.data(), tenGiga); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5TenGiga(H5::Group *group) { + WriteHDF5Int(group, N_TEN_GIGA.data(), tenGiga); +} +#endif + +void MasterAttributes::WriteBinaryThresholdEnergy(writer *w) { + WriteBinary(w, N_THRESHOLD_ENERGY.data(), thresholdEnergyeV); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ThresholdEnergy(H5::Group *group) { + WriteHDF5Int(group, N_THRESHOLD_ENERGY.data(), thresholdEnergyeV); +} +#endif + +void MasterAttributes::WriteBinarySubExposureTime(writer *w) { + WriteBinary(w, N_SUB_EXPOSURE_TIME.data(), ToString(subExptime)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5SubExposureTime(H5::Group *group) { + WriteHDF5String(group, N_SUB_EXPOSURE_TIME.data(), ToString(subExptime)); +} +#endif + +void MasterAttributes::WriteBinarySubAcquisitionPeriod(writer *w) { + WriteBinary(w, N_SUB_ACQUISITION_PERIOD.data(), ToString(subPeriod)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5SubAcquisitionPeriod(H5::Group *group) { + WriteHDF5String(group, N_SUB_ACQUISITION_PERIOD.data(), + ToString(subPeriod)); +} +#endif + +void MasterAttributes::WriteBinaryQuad(writer *w) { + WriteBinary(w, N_QUAD.data(), quad); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5Quad(H5::Group *group) { + WriteHDF5Int(group, N_QUAD.data(), quad); +} +#endif + +void MasterAttributes::WriteBinaryRateCorrections(writer *w) { + WriteBinary(w, N_RATE_CORRECTIONS.data(), ratecorr); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5RateCorrections(H5::Group *group) { + WriteHDF5Int(group, N_RATE_CORRECTIONS.data(), ratecorr); +} +#endif + +void MasterAttributes::WriteBinaryCounterMask(writer *w) { + WriteBinary(w, N_COUNTER_MASK.data(), counterMask); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5CounterMask(H5::Group *group) { + WriteHDF5Int(group, N_COUNTER_MASK.data(), counterMask); +} +#endif + +void MasterAttributes::WriteBinaryExptimeArray(writer *w) { + WriteBinary(w, N_EXPOSURE_TIMES.data(), exptimeArray); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ExptimeArray(H5::Group *group) { + std::vector timeStrings; + for (auto &e : exptimeArray) { + timeStrings.push_back(ToString(e)); + } + WriteHDF5StringArray(group, N_EXPOSURE_TIMES.data(), timeStrings); +} +#endif + +void MasterAttributes::WriteBinaryGateDelayArray(writer *w) { + WriteBinary(w, N_GATE_DELAYS.data(), gateDelayArray); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5GateDelayArray(H5::Group *group) { + std::vector timeStrings; + for (auto &g : gateDelayArray) { + timeStrings.push_back(ToString(g)); + } + WriteHDF5StringArray(group, N_GATE_DELAYS.data(), timeStrings); +} +#endif + +void MasterAttributes::WriteBinaryGates(writer *w) { + WriteBinary(w, N_GATES.data(), gates); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5Gates(H5::Group *group) { + WriteHDF5Int(group, N_GATES.data(), gates); +} +#endif + +void MasterAttributes::WriteBinaryThresholdAllEnergy(writer *w) { + WriteBinary(w, N_THRESHOLD_ENERGIES.data(), thresholdAllEnergyeV); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ThresholdAllEnergy(H5::Group *group) { + WriteHDF5Int(group, N_THRESHOLD_ENERGIES.data(), thresholdAllEnergyeV); +} +#endif + +void MasterAttributes::WriteBinaryBurstMode(writer *w) { + WriteBinary(w, N_BURST_MODE.data(), ToString(burstMode)); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5BurstMode(H5::Group *group) { + WriteHDF5String(group, N_BURST_MODE.data(), ToString(burstMode)); +} +#endif + +void MasterAttributes::WriteBinaryAdcMask(writer *w) { + WriteBinary(w, N_ADC_MASK.data(), adcMask); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5AdcMask(H5::Group *group) { + WriteHDF5Int(group, N_ADC_MASK.data(), adcMask); +} +#endif + +void MasterAttributes::WriteBinaryAnalogFlag(writer *w) { + WriteBinary(w, N_ANALOG.data(), analog); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5AnalogFlag(H5::Group *group) { + WriteHDF5Int(group, N_ANALOG.data(), analog); +} +#endif + +void MasterAttributes::WriteBinaryAnalogSamples(writer *w) { + WriteBinary(w, N_ANALOG_SAMPLES.data(), analogSamples); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5AnalogSamples(H5::Group *group) { + WriteHDF5Int(group, N_ANALOG_SAMPLES.data(), analogSamples); +} +#endif + +void MasterAttributes::WriteBinaryDigitalFlag(writer *w) { + WriteBinary(w, N_DIGITAL.data(), digital); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DigitalFlag(H5::Group *group) { + WriteHDF5Int(group, N_DIGITAL.data(), digital); +} +#endif + +void MasterAttributes::WriteBinaryDigitalSamples(writer *w) { + WriteBinary(w, N_DIGITAL_SAMPLES.data(), digitalSamples); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DigitalSamples(H5::Group *group) { + WriteHDF5Int(group, N_DIGITAL_SAMPLES.data(), digitalSamples); +} +#endif + +void MasterAttributes::WriteBinaryDBitOffset(writer *w) { + WriteBinary(w, N_DBIT_OFFSET.data(), dbitOffset); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DBitOffset(H5::Group *group) { + WriteHDF5Int(group, N_DBIT_OFFSET.data(), dbitOffset); +} +#endif + +void MasterAttributes::WriteBinaryDBitReorder(writer *w) { + WriteBinary(w, N_DBIT_REORDER.data(), dbitReorder); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DBitReorder(H5::Group *group) { + WriteHDF5Int(group, N_DBIT_REORDER.data(), dbitReorder); +} +#endif + +void MasterAttributes::WriteBinaryDBitBitset(writer *w) { + WriteBinary(w, N_DBIT_BITSET.data(), dbitList); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5DBitBitset(H5::Group *group) { + WriteHDF5Int(group, N_DBIT_BITSET.data(), dbitList); +} +#endif + +void MasterAttributes::WriteBinaryTransceiverMask(writer *w) { + WriteBinary(w, N_TRANSCEIVER_MASK.data(), transceiverMask); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5TransceiverMask(H5::Group *group) { + WriteHDF5Int(group, N_TRANSCEIVER_MASK.data(), transceiverMask); +} +#endif + +void MasterAttributes::WriteBinaryTransceiverFlag(writer *w) { + WriteBinary(w, N_TRANSCEIVER.data(), transceiver); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5TransceiverFlag(H5::Group *group) { + WriteHDF5Int(group, N_TRANSCEIVER.data(), transceiver); +} +#endif + +void MasterAttributes::WriteBinaryTransceiverSamples(writer *w) { + WriteBinary(w, N_TRANSCEIVER_SAMPLES.data(), transceiverSamples); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5TransceiverSamples(H5::Group *group) { + WriteHDF5Int(group, N_TRANSCEIVER_SAMPLES.data(), transceiverSamples); +} +#endif + +#ifdef HDF5C +void MasterAttributes::WriteHDF5String(H5::Group *group, + const std::string &name, + const std::string &value) { + H5::DataSpace dataspace(H5S_SCALAR); + H5::StrType strdatatype(H5::PredType::C_S1, H5T_VARIABLE); + H5::DataSet dataset = group->createDataSet(name, strdatatype, dataspace); + const char *cstr = value.c_str(); + dataset.write(&cstr, strdatatype); +} + +void MasterAttributes::WriteHDF5StringArray( + H5::Group *group, const std::string &name, + const std::vector &value) { + std::vector c; + for (auto &s : value) { + c.push_back(s.c_str()); + } + hsize_t dims[1] = {c.size()}; + H5::DataSpace dataspace(1, dims); + H5::StrType strdatatype(H5::PredType::C_S1, H5T_VARIABLE); + H5::DataSet dataset = group->createDataSet(name, strdatatype, dataspace); + dataset.write(c.data(), strdatatype); +} +#endif + +void MasterAttributes::WriteBinaryXY(writer *w, const std::string &name, + const defs::xy &xy) { + w->Key(name.c_str()); + w->StartObject(); + w->Key("x"); + w->Uint(xy.x); + w->Key("y"); + w->Uint(xy.y); + w->EndObject(); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5XY(H5::Group *group, const std::string &name, + const defs::xy &xy) { + H5::CompType c(sizeof(defs::xy)); + c.insertMember("x", HOFFSET(defs::xy, x), H5::PredType::NATIVE_INT); + c.insertMember("y", HOFFSET(defs::xy, y), H5::PredType::NATIVE_INT); + H5::DataSpace dataspace(H5S_SCALAR); + H5::DataSet dataset = group->createDataSet(name, c, dataspace); + dataset.write(&xy, c); +} +#endif + +void MasterAttributes::WriteBinaryVersion(writer *w) { + w->Key(N_VERSION.data()); w->SetMaxDecimalPlaces(2); w->Double(BINARY_WRITER_VERSION); - w->Key("Timestamp"); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5Version(H5::H5File *fd) { + H5::DataSpace dataspace(H5S_SCALAR); + H5::Attribute attribute = fd->createAttribute( + N_VERSION.data(), H5::PredType::NATIVE_DOUBLE, dataspace); + double version = HDF5_WRITER_VERSION; + attribute.write(H5::PredType::NATIVE_DOUBLE, &version); +} +#endif + +void MasterAttributes::WriteBinaryTimestamp(writer *w) { time_t t = std::time(nullptr); std::string sTime(ctime(&t)); std::replace(sTime.begin(), sTime.end(), '\n', '\0'); - w->String(sTime.c_str()); - w->Key("Detector Type"); - w->String(ToString(detType).c_str()); - w->Key("Timing Mode"); - w->String(ToString(timingMode).c_str()); - w->Key("Geometry"); - w->StartObject(); - w->Key("x"); - w->Uint(geometry.x); - w->Key("y"); - w->Uint(geometry.y); - w->EndObject(); - w->Key("Image Size in bytes"); - w->Uint(imageSize); - w->Key("Pixels"); - w->StartObject(); - w->Key("x"); - w->Uint(nPixels.x); - w->Key("y"); - w->Uint(nPixels.y); - w->EndObject(); - w->Key("Max Frames Per File"); - w->Uint(maxFramesPerFile); - w->Key("Frame Discard Policy"); - w->String(ToString(frameDiscardMode).c_str()); - w->Key("Frame Padding"); - w->Uint(framePadding); - w->Key("Scan Parameters"); - w->String(ToString(scanParams).c_str()); - w->Key("Total Frames"); - w->Uint64(totalFrames); + WriteBinary(w, N_TIMESTAMP.data(), sTime); } -void MasterAttributes::GetFinalBinaryAttributes( - rapidjson::PrettyWriter *w) { - // adding few common parameters to the end - if (!additionalJsonHeader.empty()) { - w->Key("Additional Json Header"); - w->String(ToString(additionalJsonHeader).c_str()); +#ifdef HDF5C +void MasterAttributes::WriteHDF5Timestamp(H5::Group *group) { + time_t t = std::time(nullptr); + std::string sTime(ctime(&t)); + WriteHDF5String(group, N_TIMESTAMP.data(), sTime); +} +#endif + +void MasterAttributes::WriteBinaryRois(writer *w) { + w->Key(N_RECEIVER_ROIS.data()); + w->StartArray(); + for (const slsDetectorDefs::ROI &roi : rois) { + auto roiArray = roi.getIntArray(); + w->StartObject(); + w->Key("xmin"); + w->Int(roiArray[0]); + w->Key("xmax"); + w->Int(roiArray[1]); + w->Key("ymin"); + w->Int(roiArray[2]); + w->Key("ymax"); + w->Int(roiArray[3]); + w->EndObject(); } - w->Key("Frames in File"); - w->Uint64(framesInFile); + w->EndArray(); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ROIs(H5::Group *group) { + H5::CompType c(sizeof(defs::ROI)); + c.insertMember("xmin", HOFFSET(defs::ROI, xmin), H5::PredType::NATIVE_INT); + c.insertMember("xmax", HOFFSET(defs::ROI, xmax), H5::PredType::NATIVE_INT); + c.insertMember("ymin", HOFFSET(defs::ROI, ymin), H5::PredType::NATIVE_INT); + c.insertMember("ymax", HOFFSET(defs::ROI, ymax), H5::PredType::NATIVE_INT); + hsize_t dims[1] = {rois.size()}; // 1d dataspace with size of roi elements + H5::DataSpace dataspace(1, dims); + H5::DataSet dataset = + group->createDataSet(N_RECEIVER_ROIS.data(), c, dataspace); + dataset.write(rois.data(), c); +} + +#endif + +void MasterAttributes::WriteBinaryScanParameters(writer *w) { + w->Key(N_SCAN_PARAMETERS.data()); + w->StartObject(); + w->Key("enable"); + w->Int(scanParams.enable); + w->Key("dacInd"); + w->Int(scanParams.dacInd); + w->Key("start offset"); + w->Int(scanParams.startOffset); + w->Key("stop offset"); + w->Int(scanParams.stopOffset); + w->Key("step size"); + w->Int(scanParams.stepSize); + w->Key("dac settle time ns"); + w->Int64(scanParams.dacSettleTime_ns); + w->EndObject(); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5ScanParameters(H5::Group *group) { + H5::CompType c(sizeof(defs::scanParameters)); + c.insertMember("enable", HOFFSET(defs::scanParameters, enable), + H5::PredType::NATIVE_INT); + c.insertMember("dacInd", HOFFSET(defs::scanParameters, dacInd), + H5::PredType::NATIVE_INT); + c.insertMember("startOffset", HOFFSET(defs::scanParameters, startOffset), + H5::PredType::NATIVE_INT); + c.insertMember("stopOffset", HOFFSET(defs::scanParameters, stopOffset), + H5::PredType::NATIVE_INT); + c.insertMember("stepSize", HOFFSET(defs::scanParameters, stepSize), + H5::PredType::NATIVE_INT); + c.insertMember("dacSettleTime_ns", + HOFFSET(defs::scanParameters, dacSettleTime_ns), + H5::PredType::STD_I64LE); + H5::DataSpace dataspace(H5S_SCALAR); + H5::DataSet dataset = + group->createDataSet(N_SCAN_PARAMETERS.data(), c, dataspace); + dataset.write(&scanParams, c); +} +#endif + +void MasterAttributes::WriteBinaryJsonHeader(writer *w) { + w->Key(N_ADDITIONAL_JSON_HEADER.data()); + w->StartObject(); + for (const auto &pair : additionalJsonHeader) { + w->Key(pair.first.c_str()); + w->String(pair.second.c_str()); + } + w->EndObject(); +} + +#ifdef HDF5C +void MasterAttributes::WriteHDF5JsonHeader(H5::Group *group) { + H5::StrType strType(H5::PredType::C_S1, H5T_VARIABLE); + H5::CompType mapType(sizeof(char *) * 2); + mapType.insertMember("Key", 0, strType); + mapType.insertMember("Value", sizeof(char *), strType); + // create string struct just so its not dangling pointer + // with push_back + struct KeyValue { + std::string key; + std::string value; + }; + struct KVRaw { + const char *key; + const char *value; + }; + std::vector raw; + std::vector value; + value.reserve(additionalJsonHeader.size()); + raw.reserve(additionalJsonHeader.size()); + for (const auto &pair : additionalJsonHeader) { + value.push_back({pair.first, pair.second}); + } + for (const auto &item : value) { + raw.push_back({item.key.c_str(), item.value.c_str()}); + } + hsize_t dims[1] = {value.size()}; + H5::DataSpace dataspace(1, dims); + H5::DataSet dataset = group->createDataSet(N_ADDITIONAL_JSON_HEADER.data(), + mapType, dataspace); + dataset.write(raw.data(), mapType); +} +#endif + +void MasterAttributes::WriteBinaryFrameHeaderFormat(writer *w) { w->Key("Frame Header Format"); w->StartObject(); w->Key("Frame Number"); @@ -154,658 +924,4 @@ void MasterAttributes::GetFinalBinaryAttributes( w->EndObject(); } -void MasterAttributes::GetBinaryRois( - rapidjson::PrettyWriter *w) { - w->Key("Receiver Rois"); - w->StartArray(); - for (const slsDetectorDefs::ROI &roi : rois) { - std::string roi_str = ToString(roi); - w->String(roi_str.c_str()); - } - w->EndArray(); -} - -#ifdef HDF5C -void MasterAttributes::WriteCommonHDF5Attributes(H5::H5File *fd, - H5::Group *group) { - char c[1024]{}; - // version - { - double version = BINARY_WRITER_VERSION; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::Attribute attribute = fd->createAttribute( - "Version", H5::PredType::NATIVE_DOUBLE, dataspace); - attribute.write(H5::PredType::NATIVE_DOUBLE, &version); - } - // timestamp - { - time_t t = std::time(nullptr); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = - group->createDataSet("Timestamp", strdatatype, dataspace); - strcpy_safe(c, std::string(ctime(&t))); - dataset.write(c, strdatatype); - } - // detector type - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Detector Type", strdatatype, dataspace); - strcpy_safe(c, ToString(detType)); - dataset.write(c, strdatatype); - } - // timing mode - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Timing Mode", strdatatype, dataspace); - strcpy_safe(c, ToString(timingMode)); - dataset.write(c, strdatatype); - } - // TODO: make this into an array? - // geometry x - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Geometry in x axis", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&geometry.x, H5::PredType::NATIVE_INT); - } - // geometry y - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Geometry in y axis", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&geometry.y, H5::PredType::NATIVE_INT); - } - // Image Size - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Image Size", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&imageSize, H5::PredType::NATIVE_INT); - H5::DataSpace dataspaceAttr = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::Attribute attribute = - dataset.createAttribute("Unit", strdatatype, dataspaceAttr); - strcpy_safe(c, "bytes"); - attribute.write(strdatatype, c); - } - // TODO: make this into an array? - // npixels x - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Number of pixels in x axis", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&nPixels.x, H5::PredType::NATIVE_INT); - } - // npixels y - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Number of pixels in y axis", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&nPixels.y, H5::PredType::NATIVE_INT); - } - // Maximum frames per file - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Maximum frames per file", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&maxFramesPerFile, H5::PredType::NATIVE_INT); - } - // Frame Discard Policy - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = group->createDataSet("Frame Discard Policy", - strdatatype, dataspace); - strcpy_safe(c, ToString(frameDiscardMode)); - dataset.write(c, strdatatype); - } - // Frame Padding - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Frame Padding", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&framePadding, H5::PredType::NATIVE_INT); - } - // Scan Parameters - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Scan Parameters", strdatatype, dataspace); - strcpy_safe(c, ToString(scanParams)); - dataset.write(c, strdatatype); - } - // Total Frames - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Total Frames", H5::PredType::STD_U64LE, dataspace); - dataset.write(&totalFrames, H5::PredType::STD_U64LE); - } -} - -void MasterAttributes::WriteFinalHDF5Attributes(H5::Group *group) { - char c[1024]{}; - // Total Frames in file - { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Frames in File", H5::PredType::STD_U64LE, dataspace); - dataset.write(&framesInFile, H5::PredType::STD_U64LE); - } - // additional json header - if (!additionalJsonHeader.empty()) { - std::string json = ToString(additionalJsonHeader); - H5::StrType strdatatype(H5::PredType::C_S1, json.length()); - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet("Additional JSON Header", - strdatatype, dataspace); - strcpy_safe(c, ToString(additionalJsonHeader)); - dataset.write(c, strdatatype); - } -} - -void MasterAttributes::WriteHDF5ROIs(H5::Group *group) { - hsize_t dims[1] = {rois.size()}; - H5::DataSpace dataspace(1, dims); - H5::StrType strdatatype(H5::PredType::C_S1, 1024); - H5::DataSet dataset = - group->createDataSet("Receiver Rois", strdatatype, dataspace); - std::vector cRois(rois.size()); - for (size_t i = 0; i < rois.size(); ++i) { - strcpy_safe(cRois[i], ToString(rois[i])); - } - dataset.write(cRois.data(), strdatatype); -} - -void MasterAttributes::WriteHDF5Exptime(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Exposure Time", strdatatype, dataspace); - char c[1024]{}; - strcpy_safe(c, ToString(exptime)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5Period(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Acquisition Period", strdatatype, dataspace); - char c[1024]{}; - strcpy_safe(c, ToString(period)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5DynamicRange(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Dynamic Range", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&dynamicRange, H5::PredType::NATIVE_INT); - H5::DataSpace dataspaceAttr = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::Attribute attribute = - dataset.createAttribute("Unit", strdatatype, dataspaceAttr); - char c[1024] = "bits"; - attribute.write(strdatatype, c); -} - -void MasterAttributes::WriteHDF5TenGiga(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Ten Giga Enable", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&tenGiga, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5NumUDPInterfaces(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Number of UDP Interfaces", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&numUDPInterfaces, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5ReadNRows(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Number of rows", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&readNRows, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5ThresholdEnergy(H5::Group *group) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Threshold Energy", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&thresholdEnergyeV, H5::PredType::NATIVE_INT); - H5::DataSpace dataspaceAttr = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::Attribute attribute = - dataset.createAttribute("Unit", strdatatype, dataspaceAttr); - strcpy_safe(c, "eV"); - attribute.write(strdatatype, c); -} - -void MasterAttributes::WriteHDF5ThresholdEnergies(H5::Group *group) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 1024); - H5::DataSet dataset = - group->createDataSet("Threshold Energies", strdatatype, dataspace); - strcpy_safe(c, ToString(thresholdAllEnergyeV)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5SubExpTime(H5::Group *group) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Sub Exposure Time", strdatatype, dataspace); - strcpy_safe(c, ToString(subExptime)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5SubPeriod(H5::Group *group) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Sub Period", strdatatype, dataspace); - strcpy_safe(c, ToString(subPeriod)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5SubQuad(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = - group->createDataSet("Quad", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&quad, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5RateCorrections(H5::Group *group) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 1024); - H5::DataSet dataset = - group->createDataSet("Rate Corrections", strdatatype, dataspace); - strcpy_safe(c, ToString(ratecorr)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5CounterMask(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Counter Mask", H5::PredType::STD_U32LE, dataspace); - dataset.write(&counterMask, H5::PredType::STD_U32LE); -} - -void MasterAttributes::WriteHDF5ExptimeArray(H5::Group *group) { - for (int i = 0; i != 3; ++i) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Exposure Time1", strdatatype, dataspace); - strcpy_safe(c, ToString(exptimeArray[i])); - dataset.write(c, strdatatype); - } -} - -void MasterAttributes::WriteHDF5GateDelayArray(H5::Group *group) { - for (int i = 0; i != 3; ++i) { - char c[1024]{}; - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Gate Delay1", strdatatype, dataspace); - strcpy_safe(c, ToString(gateDelayArray[i])); - dataset.write(c, strdatatype); - } -} - -void MasterAttributes::WriteHDF5Gates(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = - group->createDataSet("Gates", H5::PredType::STD_U32LE, dataspace); - dataset.write(&gates, H5::PredType::STD_U32LE); -} - -void MasterAttributes::WriteHDF5BurstMode(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::StrType strdatatype(H5::PredType::C_S1, 256); - H5::DataSet dataset = - group->createDataSet("Burst Mode", strdatatype, dataspace); - char c[1024]{}; - strcpy_safe(c, ToString(burstMode)); - dataset.write(c, strdatatype); -} - -void MasterAttributes::WriteHDF5AdcMask(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = - group->createDataSet("ADC Mask", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&adcmask, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5AnalogFlag(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Analog Flag", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&analog, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5AnalogSamples(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Analog Samples", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&analogSamples, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5DigitalFlag(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Digital Flag", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&digital, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5DigitalSamples(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Digital Samples", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&digitalSamples, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5DbitOffset(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Dbit Offset", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&dbitoffset, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5DbitReorder(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Dbit Reorder", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&dbitreorder, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5DbitList(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Dbit Bitset List", H5::PredType::STD_U64LE, dataspace); - dataset.write(&dbitlist, H5::PredType::STD_U64LE); -} - -void MasterAttributes::WriteHDF5TransceiverMask(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Transceiver Mask", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&transceiverMask, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5TransceiverFlag(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Transceiver Flag", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&transceiver, H5::PredType::NATIVE_INT); -} - -void MasterAttributes::WriteHDF5TransceiverSamples(H5::Group *group) { - H5::DataSpace dataspace = H5::DataSpace(H5S_SCALAR); - H5::DataSet dataset = group->createDataSet( - "Transceiver Samples", H5::PredType::NATIVE_INT, dataspace); - dataset.write(&transceiverSamples, H5::PredType::NATIVE_INT); -} -#endif - -void MasterAttributes::GetJungfrauBinaryAttributes( - rapidjson::PrettyWriter *w) { - GetBinaryRois(w); - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Number of UDP Interfaces"); - w->Uint(numUDPInterfaces); - w->Key("Number of rows"); - w->Uint(readNRows); -} - -#ifdef HDF5C -void MasterAttributes::WriteJungfrauHDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5ROIs(group); - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5NumUDPInterfaces(group); - MasterAttributes::WriteHDF5ReadNRows(group); -} -#endif - -void MasterAttributes::GetMoenchBinaryAttributes( - rapidjson::PrettyWriter *w) { - GetBinaryRois(w); - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Number of UDP Interfaces"); - w->Uint(numUDPInterfaces); - w->Key("Number of rows"); - w->Uint(readNRows); -} - -#ifdef HDF5C -void MasterAttributes::WriteMoenchHDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5ROIs(group); - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5NumUDPInterfaces(group); - MasterAttributes::WriteHDF5ReadNRows(group); -} -#endif - -void MasterAttributes::GetEigerBinaryAttributes( - rapidjson::PrettyWriter *w) { - GetBinaryRois(w); - w->Key("Dynamic Range"); - w->Uint(dynamicRange); - w->Key("Ten Giga"); - w->Uint(tenGiga); - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Threshold Energy"); - w->Int(thresholdEnergyeV); - w->Key("Sub Exptime"); - w->String(ToString(subExptime).c_str()); - w->Key("Sub Period"); - w->String(ToString(subPeriod).c_str()); - w->Key("Quad"); - w->Int(quad); - w->Key("Number of rows"); - w->Int(readNRows); - w->Key("Rate Corrections"); - w->String(ToString(ratecorr).c_str()); -} - -#ifdef HDF5C -void MasterAttributes::WriteEigerHDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5ROIs(group); - MasterAttributes::WriteHDF5DynamicRange(group); - MasterAttributes::WriteHDF5TenGiga(group); - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5ThresholdEnergy(group); - MasterAttributes::WriteHDF5SubExpTime(group); - MasterAttributes::WriteHDF5SubPeriod(group); - MasterAttributes::WriteHDF5SubQuad(group); - MasterAttributes::WriteHDF5ReadNRows(group); - MasterAttributes::WriteHDF5RateCorrections(group); -} -#endif - -void MasterAttributes::GetMythen3BinaryAttributes( - rapidjson::PrettyWriter *w) { - GetBinaryRois(w); - w->Key("Dynamic Range"); - w->Uint(dynamicRange); - w->Key("Ten Giga"); - w->Uint(tenGiga); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Counter Mask"); - w->String(ToStringHex(counterMask).c_str()); - for (int i = 0; i != 3; ++i) { - w->Key((std::string("Exptime") + std::to_string(i + 1)).c_str()); - w->String(ToString(exptimeArray[i]).c_str()); - } - for (int i = 0; i != 3; ++i) { - w->Key((std::string("GateDelay") + std::to_string(i + 1)).c_str()); - w->String(ToString(gateDelayArray[i]).c_str()); - } - w->Key("Gates"); - w->Uint(gates); - w->Key("Threshold Energies"); - w->String(ToString(thresholdAllEnergyeV).c_str()); -} - -#ifdef HDF5C -void MasterAttributes::WriteMythen3HDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5ROIs(group); - MasterAttributes::WriteHDF5DynamicRange(group); - MasterAttributes::WriteHDF5TenGiga(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5CounterMask(group); - MasterAttributes::WriteHDF5ExptimeArray(group); - MasterAttributes::WriteHDF5GateDelayArray(group); - MasterAttributes::WriteHDF5Gates(group); - MasterAttributes::WriteHDF5ThresholdEnergies(group); -} -#endif - -void MasterAttributes::GetGotthard2BinaryAttributes( - rapidjson::PrettyWriter *w) { - GetBinaryRois(w); - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Burst Mode"); - w->String(ToString(burstMode).c_str()); -} - -#ifdef HDF5C -void MasterAttributes::WriteGotthard2HDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5ROIs(group); - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5BurstMode(group); -} -#endif - -void MasterAttributes::GetCtbBinaryAttributes( - rapidjson::PrettyWriter *w) { - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("Ten Giga"); - w->Uint(tenGiga); - w->Key("ADC Mask"); - w->String(ToStringHex(adcmask).c_str()); - w->Key("Analog Flag"); - w->Uint(analog); - w->Key("Analog Samples"); - w->Uint(analogSamples); - w->Key("Digital Flag"); - w->Uint(digital); - w->Key("Digital Samples"); - w->Uint(digitalSamples); - w->Key("Dbit Offset"); - w->Uint(dbitoffset); - w->Key("Dbit Reorder"); - w->Uint(dbitreorder); - w->Key("Dbit Bitset"); - w->Uint64(dbitlist); - w->Key("Transceiver Mask"); - w->String(ToStringHex(transceiverMask).c_str()); - w->Key("Transceiver Flag"); - w->Uint(transceiver); - w->Key("Transceiver Samples"); - w->Uint(transceiverSamples); -} - -#ifdef HDF5C -void MasterAttributes::WriteCtbHDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5TenGiga(group); - MasterAttributes::WriteHDF5AdcMask(group); - MasterAttributes::WriteHDF5AnalogFlag(group); - MasterAttributes::WriteHDF5AnalogSamples(group); - MasterAttributes::WriteHDF5DigitalFlag(group); - MasterAttributes::WriteHDF5DigitalSamples(group); - MasterAttributes::WriteHDF5DbitOffset(group); - MasterAttributes::WriteHDF5DbitReorder(group); - MasterAttributes::WriteHDF5DbitList(group); - MasterAttributes::WriteHDF5TransceiverMask(group); - MasterAttributes::WriteHDF5TransceiverFlag(group); - MasterAttributes::WriteHDF5TransceiverSamples(group); -} -#endif - -void MasterAttributes::GetXilinxCtbBinaryAttributes( - rapidjson::PrettyWriter *w) { - w->Key("Exptime"); - w->String(ToString(exptime).c_str()); - w->Key("Period"); - w->String(ToString(period).c_str()); - w->Key("ADC Mask"); - w->String(ToStringHex(adcmask).c_str()); - w->Key("Analog Flag"); - w->Uint(analog); - w->Key("Analog Samples"); - w->Uint(analogSamples); - w->Key("Digital Flag"); - w->Uint(digital); - w->Key("Digital Samples"); - w->Uint(digitalSamples); - w->Key("Dbit Offset"); - w->Uint(dbitoffset); - w->Key("Dbit Reorder"); - w->Uint(dbitreorder); - w->Key("Dbit Bitset"); - w->Uint64(dbitlist); - w->Key("Transceiver Mask"); - w->String(ToStringHex(transceiverMask).c_str()); - w->Key("Transceiver Flag"); - w->Uint(transceiver); - w->Key("Transceiver Samples"); - w->Uint(transceiverSamples); -} - -#ifdef HDF5C -void MasterAttributes::WriteXilinxCtbHDF5Attributes(H5::Group *group) { - MasterAttributes::WriteHDF5Exptime(group); - MasterAttributes::WriteHDF5Period(group); - MasterAttributes::WriteHDF5AdcMask(group); - MasterAttributes::WriteHDF5AnalogFlag(group); - MasterAttributes::WriteHDF5AnalogSamples(group); - MasterAttributes::WriteHDF5DigitalFlag(group); - MasterAttributes::WriteHDF5DigitalSamples(group); - MasterAttributes::WriteHDF5DbitOffset(group); - MasterAttributes::WriteHDF5DbitReorder(group); - MasterAttributes::WriteHDF5DbitList(group); - MasterAttributes::WriteHDF5TransceiverMask(group); - MasterAttributes::WriteHDF5TransceiverFlag(group); - MasterAttributes::WriteHDF5TransceiverSamples(group); -} -#endif } // namespace sls diff --git a/slsReceiverSoftware/src/MasterAttributes.h b/slsReceiverSoftware/src/MasterAttributes.h index f195ee70a..d8a188671 100644 --- a/slsReceiverSoftware/src/MasterAttributes.h +++ b/slsReceiverSoftware/src/MasterAttributes.h @@ -4,12 +4,14 @@ #include "receiver_defs.h" #include "sls/ToString.h" +#include "sls/TypeTraits.h" #include "sls/logger.h" #include "sls/sls_detector_defs.h" #include #include #include +#include #ifdef HDF5C #include "H5Cpp.h" @@ -18,6 +20,7 @@ namespace sls { using ns = std::chrono::nanoseconds; +using writer = rapidjson::PrettyWriter; class MasterAttributes { public: @@ -25,7 +28,7 @@ class MasterAttributes { slsDetectorDefs::detectorType detType{slsDetectorDefs::GENERIC}; slsDetectorDefs::timingMode timingMode{slsDetectorDefs::AUTO_TIMING}; slsDetectorDefs::xy geometry{}; - uint32_t imageSize{0}; + int imageSize{0}; slsDetectorDefs::xy nPixels{}; uint32_t maxFramesPerFile{0}; slsDetectorDefs::frameDiscardPolicy frameDiscardMode{ @@ -37,123 +40,413 @@ class MasterAttributes { ns period{0}; slsDetectorDefs::burstMode burstMode{slsDetectorDefs::BURST_INTERNAL}; int numUDPInterfaces{0}; - uint32_t dynamicRange{0}; - uint32_t tenGiga{0}; + int dynamicRange{0}; + int tenGiga{0}; int thresholdEnergyeV{0}; std::array thresholdAllEnergyeV = {{0, 0, 0}}; ns subExptime{0}; ns subPeriod{0}; - uint32_t quad{0}; - uint32_t readNRows; + int quad{0}; + int readNRows; std::vector ratecorr; - uint32_t adcmask{0}; - uint32_t analog{0}; - uint32_t analogSamples{0}; - uint32_t digital{0}; - uint32_t digitalSamples{0}; - uint32_t dbitreorder{1}; - uint32_t dbitoffset{0}; - uint64_t dbitlist{0}; - uint32_t transceiverMask{0}; - uint32_t transceiver{0}; - uint32_t transceiverSamples{0}; + uint32_t adcMask{0}; + int analog{0}; + int analogSamples{0}; + int digital{0}; + int digitalSamples{0}; + int dbitReorder{1}; + int dbitOffset{0}; + uint64_t dbitList{0}; + int transceiverMask{0}; + int transceiver{0}; + int transceiverSamples{0}; std::vector rois{}; - uint32_t counterMask{0}; + int counterMask{0}; std::array exptimeArray{}; std::array gateDelayArray{}; - uint32_t gates; + int gates; std::map additionalJsonHeader; uint64_t framesInFile{0}; + slsDetectorDefs::speedLevel readoutSpeed{slsDetectorDefs::FULL_SPEED}; + + inline static const std::string_view N_DETECTOR_TYPE = "Detector Type"; + inline static const std::string_view N_TIMING_MODE = "Timing Mode"; + inline static const std::string_view N_GEOMETRY = "Geometry"; + inline static const std::string_view N_IMAGE_SIZE = "Image Size"; + inline static const std::string_view N_PIXELS = "Pixels"; + inline static const std::string_view N_MAX_FRAMES_PER_FILE = + "Max Frames Per File"; + inline static const std::string_view N_FRAME_DISCARD_POLICY = + "Frame Discard Policy"; + inline static const std::string_view N_FRAME_PADDING = "Frame Padding"; + inline static const std::string_view N_TOTAL_FRAMES = "Total Frames"; + inline static const std::string_view N_FRAMES_IN_FILE = "Frames in File"; + inline static const std::string_view N_EXPOSURE_TIME = "Exposure Time"; + inline static const std::string_view N_ACQUISITION_PERIOD = + "Acquisition Period"; + inline static const std::string_view N_NUM_UDP_INTERFACES = + "Number of UDP Interfaces"; + inline static const std::string_view N_NUMBER_OF_ROWS = "Number of Rows"; + inline static const std::string_view N_READOUT_SPEED = "Readout Speed"; + inline static const std::string_view N_DYNAMIC_RANGE = "Dynamic Range"; + inline static const std::string_view N_TEN_GIGA = "Ten Giga"; + inline static const std::string_view N_THRESHOLD_ENERGY = + "Threshold Energy"; + inline static const std::string_view N_SUB_EXPOSURE_TIME = + "Sub Exposure Time"; + inline static const std::string_view N_SUB_ACQUISITION_PERIOD = + "Sub Acquisition Period"; + inline static const std::string_view N_QUAD = "Quad"; + inline static const std::string_view N_RATE_CORRECTIONS = + "Rate Corrections"; + inline static const std::string_view N_COUNTER_MASK = "Counter Mask"; + inline static const std::string_view N_EXPOSURE_TIMES = "Exposure Times"; + inline static const std::string_view N_GATE_DELAYS = "Gate Delays"; + inline static const std::string_view N_GATES = "Gates"; + inline static const std::string_view N_THRESHOLD_ENERGIES = + "Threshold Energies"; + inline static const std::string_view N_BURST_MODE = "Burst Mode"; + inline static const std::string_view N_ADC_MASK = "ADC Mask"; + inline static const std::string_view N_ANALOG = "Analog Flag"; + inline static const std::string_view N_ANALOG_SAMPLES = "Analog Samples"; + inline static const std::string_view N_DIGITAL = "Digital Flag"; + inline static const std::string_view N_DIGITAL_SAMPLES = "Digital Samples"; + inline static const std::string_view N_DBIT_REORDER = "Dbit Reorder"; + inline static const std::string_view N_DBIT_OFFSET = "Dbit Offset"; + inline static const std::string_view N_DBIT_BITSET = "Dbit Bitset"; + inline static const std::string_view N_TRANSCEIVER_MASK = + "Transceiver Mask"; + inline static const std::string_view N_TRANSCEIVER = "Transceiver Flag"; + inline static const std::string_view N_TRANSCEIVER_SAMPLES = + "Transceiver Samples"; + inline static const std::string_view N_VERSION = "Version"; + inline static const std::string_view N_TIMESTAMP = "Timestamp"; + inline static const std::string_view N_RECEIVER_ROIS = "Receiver Rois"; + inline static const std::string_view N_SCAN_PARAMETERS = "Scan Parameters"; + inline static const std::string_view N_ADDITIONAL_JSON_HEADER = + "Additional JSON Header"; MasterAttributes() = default; ~MasterAttributes() = default; - void - GetBinaryAttributes(rapidjson::PrettyWriter *w); + void GetBinaryAttributes(writer *w); #ifdef HDF5C void WriteHDF5Attributes(H5::H5File *fd, H5::Group *group); #endif - void GetCommonBinaryAttributes( - rapidjson::PrettyWriter *w); - void GetFinalBinaryAttributes( - rapidjson::PrettyWriter *w); - void GetBinaryRois(rapidjson::PrettyWriter *w); + void GetCommonBinaryAttributes(writer *w); + void GetFinalBinaryAttributes(writer *w); + #ifdef HDF5C void WriteCommonHDF5Attributes(H5::H5File *fd, H5::Group *group); void WriteFinalHDF5Attributes(H5::Group *group); - void WriteHDF5ROIs(H5::Group *group); - void WriteHDF5Exptime(H5::Group *group); - void WriteHDF5Period(H5::Group *group); - void WriteHDF5DynamicRange(H5::Group *group); - void WriteHDF5TenGiga(H5::Group *group); - void WriteHDF5NumUDPInterfaces(H5::Group *group); - void WriteHDF5ReadNRows(H5::Group *group); - void WriteHDF5ThresholdEnergy(H5::Group *group); - void WriteHDF5ThresholdEnergies(H5::Group *group); - void WriteHDF5SubExpTime(H5::Group *group); - void WriteHDF5SubPeriod(H5::Group *group); - void WriteHDF5SubQuad(H5::Group *group); - void WriteHDF5RateCorrections(H5::Group *group); - void WriteHDF5CounterMask(H5::Group *group); - void WriteHDF5ExptimeArray(H5::Group *group); - void WriteHDF5GateDelayArray(H5::Group *group); - void WriteHDF5Gates(H5::Group *group); - void WriteHDF5BurstMode(H5::Group *group); - void WriteHDF5AdcMask(H5::Group *group); - void WriteHDF5AnalogFlag(H5::Group *group); - void WriteHDF5AnalogSamples(H5::Group *group); - void WriteHDF5DigitalFlag(H5::Group *group); - void WriteHDF5DigitalSamples(H5::Group *group); - void WriteHDF5DbitOffset(H5::Group *group); - void WriteHDF5DbitList(H5::Group *group); - void WriteHDF5DbitReorder(H5::Group *group); - void WriteHDF5TransceiverMask(H5::Group *group); - void WriteHDF5TransceiverFlag(H5::Group *group); - void WriteHDF5TransceiverSamples(H5::Group *group); #endif - void GetJungfrauBinaryAttributes( - rapidjson::PrettyWriter *w); + void GetJungfrauBinaryAttributes(writer *w); #ifdef HDF5C void WriteJungfrauHDF5Attributes(H5::Group *group); #endif - void GetEigerBinaryAttributes( - rapidjson::PrettyWriter *w); + void GetEigerBinaryAttributes(writer *w); #ifdef HDF5C void WriteEigerHDF5Attributes(H5::Group *group); #endif - void GetMythen3BinaryAttributes( - rapidjson::PrettyWriter *w); + void GetMythen3BinaryAttributes(writer *w); #ifdef HDF5C void WriteMythen3HDF5Attributes(H5::Group *group); #endif - void GetGotthard2BinaryAttributes( - rapidjson::PrettyWriter *w); + void GetGotthard2BinaryAttributes(writer *w); #ifdef HDF5C void WriteGotthard2HDF5Attributes(H5::Group *group); #endif - void GetMoenchBinaryAttributes( - rapidjson::PrettyWriter *w); + void GetMoenchBinaryAttributes(writer *w); #ifdef HDF5C void WriteMoenchHDF5Attributes(H5::Group *group); #endif - void - GetCtbBinaryAttributes(rapidjson::PrettyWriter *w); + void GetCtbBinaryAttributes(writer *w); #ifdef HDF5C void WriteCtbHDF5Attributes(H5::Group *group); #endif - void GetXilinxCtbBinaryAttributes( - rapidjson::PrettyWriter *w); + void GetXilinxCtbBinaryAttributes(writer *w); #ifdef HDF5C void WriteXilinxCtbHDF5Attributes(H5::Group *group); #endif + + void WriteBinaryDetectorType(writer *w); +#ifdef HDF5C + void WriteHDF5DetectorType(H5::Group *group); +#endif + void WriteBinaryTimingMode(writer *w); +#ifdef HDF5C + void WriteHDF5TimingMode(H5::Group *group); +#endif + void WriteBinaryGeometry(writer *w); +#ifdef HDF5C + void WriteHDF5Geometry(H5::Group *group); +#endif + void WriteBinaryImageSize(writer *w); +#ifdef HDF5C + void WriteHDF5ImageSize(H5::Group *group); +#endif + void WriteBinaryPixels(writer *w); +#ifdef HDF5C + void WriteHDF5Pixels(H5::Group *group); +#endif + void WriteBinaryMaxFramesPerFile(writer *w); +#ifdef HDF5C + void WriteHDF5MaxFramesPerFile(H5::Group *group); +#endif + void WriteBinaryFrameDiscardPolicy(writer *w); +#ifdef HDF5C + void WriteHDF5FrameDiscardPolicy(H5::Group *group); +#endif + void WriteBinaryFramePadding(writer *w); +#ifdef HDF5C + void WriteHDF5FramePadding(H5::Group *group); +#endif + void WriteBinaryTotalFrames(writer *w); +#ifdef HDF5C + void WriteHDF5TotalFrames(H5::Group *group); +#endif + void WriteBinaryFramesInFile(writer *w); +#ifdef HDF5C + void WriteHDF5FramesInFile(H5::Group *group); +#endif + + void WriteBinaryExposureTme(writer *w); +#ifdef HDF5C + void WriteHDF5ExposureTime(H5::Group *group); +#endif + void WriteBinaryAcquisitionPeriod(writer *w); +#ifdef HDF5C + void WriteHDF5AcquisitionPeriod(H5::Group *group); +#endif + void WriteBinaryNumberOfUDPInterfaces(writer *w); +#ifdef HDF5C + void WriteHDF5NumberOfUDPInterfaces(H5::Group *group); +#endif + void WriteBinaryNumberOfRows(writer *w); +#ifdef HDF5C + void WriteHDF5NumberOfRows(H5::Group *group); +#endif + void WriteBinaryReadoutSpeed(writer *w); +#ifdef HDF5C + void WriteHDF5ReadoutSpeed(H5::Group *group); +#endif + void WriteBinaryDynamicRange(writer *w); +#ifdef HDF5C + void WriteHDF5DynamicRange(H5::Group *group); +#endif + void WriteBinaryTenGiga(writer *w); +#ifdef HDF5C + void WriteHDF5TenGiga(H5::Group *group); +#endif + void WriteBinaryThresholdEnergy(writer *w); +#ifdef HDF5C + void WriteHDF5ThresholdEnergy(H5::Group *group); +#endif + void WriteBinarySubExposureTime(writer *w); +#ifdef HDF5C + void WriteHDF5SubExposureTime(H5::Group *group); +#endif + void WriteBinarySubAcquisitionPeriod(writer *w); +#ifdef HDF5C + void WriteHDF5SubAcquisitionPeriod(H5::Group *group); +#endif + void WriteBinaryQuad(writer *w); +#ifdef HDF5C + void WriteHDF5Quad(H5::Group *group); +#endif + void WriteBinaryRateCorrections(writer *w); +#ifdef HDF5C + void WriteHDF5RateCorrections(H5::Group *group); +#endif + void WriteBinaryCounterMask(writer *w); +#ifdef HDF5C + void WriteHDF5CounterMask(H5::Group *group); +#endif + void WriteBinaryExptimeArray(writer *w); +#ifdef HDF5C + void WriteHDF5ExptimeArray(H5::Group *group); +#endif + void WriteBinaryGateDelayArray(writer *w); +#ifdef HDF5C + void WriteHDF5GateDelayArray(H5::Group *group); +#endif + void WriteBinaryGates(writer *w); +#ifdef HDF5C + void WriteHDF5Gates(H5::Group *group); +#endif + void WriteBinaryThresholdAllEnergy(writer *w); +#ifdef HDF5C + void WriteHDF5ThresholdAllEnergy(H5::Group *group); +#endif + void WriteBinaryBurstMode(writer *w); +#ifdef HDF5C + void WriteHDF5BurstMode(H5::Group *group); +#endif + void WriteBinaryAdcMask(writer *w); +#ifdef HDF5C + void WriteHDF5AdcMask(H5::Group *group); +#endif + void WriteBinaryAnalogFlag(writer *w); +#ifdef HDF5C + void WriteHDF5AnalogFlag(H5::Group *group); +#endif + void WriteBinaryAnalogSamples(writer *w); +#ifdef HDF5C + void WriteHDF5AnalogSamples(H5::Group *group); +#endif + void WriteBinaryDigitalFlag(writer *w); +#ifdef HDF5C + void WriteHDF5DigitalFlag(H5::Group *group); +#endif + void WriteBinaryDigitalSamples(writer *w); +#ifdef HDF5C + void WriteHDF5DigitalSamples(H5::Group *group); +#endif + void WriteBinaryDBitReorder(writer *w); +#ifdef HDF5C + void WriteHDF5DBitReorder(H5::Group *group); +#endif + void WriteBinaryDBitOffset(writer *w); +#ifdef HDF5C + void WriteHDF5DBitOffset(H5::Group *group); +#endif + void WriteBinaryDBitBitset(writer *w); +#ifdef HDF5C + void WriteHDF5DBitBitset(H5::Group *group); +#endif + void WriteBinaryTransceiverMask(writer *w); +#ifdef HDF5C + void WriteHDF5TransceiverMask(H5::Group *group); +#endif + void WriteBinaryTransceiverFlag(writer *w); +#ifdef HDF5C + void WriteHDF5TransceiverFlag(H5::Group *group); +#endif + void WriteBinaryTransceiverSamples(writer *w); +#ifdef HDF5C + void WriteHDF5TransceiverSamples(H5::Group *group); +#endif + + /** writes according to type */ + template void WriteBinaryValue(writer *w, const T &value) { + if constexpr (std::is_same_v) { + w->Int(value); + } else if constexpr (std::is_same_v) { + w->Uint64(value); + } else if constexpr (std::is_same_v) { + w->Int64(value); + } else if constexpr (std::is_same_v) { + w->Uint(value); + } else if constexpr (std::is_same_v) { + w->String(value.c_str()); + } else if constexpr (is_duration::value) { + w->String(ToString(value).c_str()); + } else { + throw RuntimeError("Unsupported type for Binary write: " + + std::string(typeid(T).name())); + } + } + + /** For non-arrays */ + template + std::enable_if_t<(!std::is_class_v || std::is_same_v), + void> + WriteBinary(writer *w, const std::string &name, const T &value) { + w->Key(name.c_str()); + WriteBinaryValue(w, value); + } + + /** For arrays */ + template + std::enable_if_t<(std::is_class_v && !std::is_same_v), + void> + WriteBinary(writer *w, const std::string &name, const T &value) { + w->Key(name.c_str()); + w->StartArray(); + for (const auto &v : value) { + WriteBinaryValue(w, v); + } + w->EndArray(); + } + +#ifdef HDF5C + void WriteHDF5String(H5::Group *group, const std::string &name, + const std::string &value); + void WriteHDF5StringArray(H5::Group *group, const std::string &name, + const std::vector &value); + + /** get type */ + template H5::PredType const *GetHDF5Type() { + if constexpr (std::is_same_v) { + return &H5::PredType::NATIVE_INT; + } else if constexpr (std::is_same_v) { + return &H5::PredType::STD_U64LE; + } else if constexpr (std::is_same_v) { + return &H5::PredType::STD_I64LE; + } else if constexpr (std::is_same_v) { + return &H5::PredType::STD_U32LE; + } else { + throw RuntimeError("Unsupported type for HDF5"); + } + } + + /** For non-arrays */ + template + typename std::enable_if::value, void>::type + WriteHDF5Int(H5::Group *group, const std::string &name, const T &value) { + H5::DataSpace dataspace(H5S_SCALAR); + auto h5type = GetHDF5Type(); + H5::DataSet dataset = group->createDataSet(name, *h5type, dataspace); + dataset.write(&value, *h5type); + } + + /** For arrays */ + template + typename std::enable_if::value, void>::type + WriteHDF5Int(H5::Group *group, const std::string &name, const T &value) { + using ElemT = typename T::value_type; + auto h5type = GetHDF5Type(); + hsize_t dims[1] = {value.size()}; + H5::DataSpace dataspace(1, dims); + H5::DataSet dataset = group->createDataSet(name, *h5type, dataspace); + dataset.write(value.data(), *h5type); + } + +#endif + void WriteBinaryXY(writer *w, const std::string &name, const defs::xy &xy); +#ifdef HDF5C + void WriteHDF5XY(H5::Group *group, const std::string &name, + const defs::xy &xy); +#endif + void WriteBinaryVersion(writer *w); +#ifdef HDF5C + void WriteHDF5Version(H5::H5File *fd); +#endif + void WriteBinaryTimestamp(writer *w); +#ifdef HDF5C + void WriteHDF5Timestamp(H5::Group *group); +#endif + void WriteBinaryRois(writer *w); +#ifdef HDF5C + void WriteHDF5ROIs(H5::Group *group); +#endif + void WriteBinaryScanParameters(writer *w); +#ifdef HDF5C + void WriteHDF5ScanParameters(H5::Group *group); +#endif + void WriteBinaryJsonHeader(writer *w); +#ifdef HDF5C + void WriteHDF5JsonHeader(H5::Group *group); +#endif + void WriteBinaryFrameHeaderFormat(writer *w); }; } // namespace sls diff --git a/slsReceiverSoftware/src/MasterFileUtility.cpp b/slsReceiverSoftware/src/MasterFileUtility.cpp index 08412ace9..a4e782744 100644 --- a/slsReceiverSoftware/src/MasterFileUtility.cpp +++ b/slsReceiverSoftware/src/MasterFileUtility.cpp @@ -140,13 +140,6 @@ std::string CreateMasterHDF5File(const std::string &filePath, fd = make_unique(fileName.c_str(), createFlags, H5::FileCreatPropList::DEFAULT, flist); - // attributes - version - double dValue = HDF5_WRITER_VERSION; - H5::DataSpace dataspace_attr = H5::DataSpace(H5S_SCALAR); - H5::Attribute attribute = fd->createAttribute( - "version", H5::PredType::NATIVE_DOUBLE, dataspace_attr); - attribute.write(H5::PredType::NATIVE_DOUBLE, &dValue); - // Create a group in the file H5::Group group1(fd->createGroup("entry")); H5::Group group2(group1.createGroup("data")); @@ -230,13 +223,6 @@ std::string CreateVirtualHDF5File( fd = make_unique(fileName.c_str(), H5F_ACC_TRUNC, H5::FileCreatPropList::DEFAULT, fapl); - // attributes - version - double dValue = HDF5_WRITER_VERSION; - H5::DataSpace dataspace_attr = H5::DataSpace(H5S_SCALAR); - H5::Attribute attribute = fd->createAttribute( - "version", H5::PredType::NATIVE_DOUBLE, dataspace_attr); - attribute.write(H5::PredType::NATIVE_DOUBLE, &dValue); - for (size_t iRoi = 0; iRoi != multiRoi.size(); ++iRoi) { auto currentRoi = multiRoi[iRoi]; diff --git a/slsSupportLib/include/sls/sls_detector_defs.h b/slsSupportLib/include/sls/sls_detector_defs.h index 942774bbf..d028d4238 100644 --- a/slsSupportLib/include/sls/sls_detector_defs.h +++ b/slsSupportLib/include/sls/sls_detector_defs.h @@ -126,6 +126,9 @@ class slsDetectorDefs { int y{0}; xy() = default; xy(int x, int y) : x(x), y(y){}; + constexpr bool operator==(const xy &other) const { + return ((x == other.x) && (y == other.y)); + } } __attribute__((packed)); #endif @@ -548,7 +551,7 @@ enum streamingInterface { stepSize(step) { dacSettleTime_ns = t.count(); } - bool operator==(const scanParameters &other) const { + constexpr bool operator==(const scanParameters &other) const { return ((enable == other.enable) && (dacInd == other.dacInd) && (startOffset == other.startOffset) && (stopOffset == other.stopOffset) && @@ -663,6 +666,7 @@ enum streamingInterface { scanParameters scanParams{}; int transceiverSamples{0}; uint32_t transceiverMask{0}; + speedLevel readoutSpeed{FULL_SPEED}; } __attribute__((packed)); #endif diff --git a/slsSupportLib/include/sls/sls_detector_funcs.h b/slsSupportLib/include/sls/sls_detector_funcs.h index 20688941c..6d49fee7e 100755 --- a/slsSupportLib/include/sls/sls_detector_funcs.h +++ b/slsSupportLib/include/sls/sls_detector_funcs.h @@ -413,6 +413,7 @@ enum detFuncs { F_GET_RECEIVER_DBIT_REORDER, F_SET_RECEIVER_DBIT_REORDER, F_RECEIVER_GET_ROI_METADATA, + F_SET_RECEIVER_READOUT_SPEED, NUM_REC_FUNCTIONS }; @@ -822,6 +823,7 @@ const char* getFunctionNameFromEnum(enum detFuncs func) { case F_GET_RECEIVER_DBIT_REORDER: return "F_GET_RECEIVER_DBIT_REORDER"; case F_SET_RECEIVER_DBIT_REORDER: return "F_SET_RECEIVER_DBIT_REORDER"; case F_RECEIVER_GET_ROI_METADATA: return "F_RECEIVER_GET_ROI_METADATA"; + case F_SET_RECEIVER_READOUT_SPEED: return "F_SET_RECEIVER_READOUT_SPEED"; case NUM_REC_FUNCTIONS: return "NUM_REC_FUNCTIONS"; default: return "Unknown Function"; diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index d88a71ba8..cd6f8473c 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -3,10 +3,10 @@ /** API versions */ #define APILIB "0.0.0 0x250523" #define APIRECEIVER "0.0.0 0x250523" -#define APICTB "0.0.0 0x250523" -#define APIGOTTHARD2 "0.0.0 0x250523" -#define APIMOENCH "0.0.0 0x250523" -#define APIEIGER "0.0.0 0x250523" -#define APIXILINXCTB "0.0.0 0x250523" -#define APIJUNGFRAU "0.0.0 0x250523" -#define APIMYTHEN3 "0.0.0 0x250523" +#define APICTB "0.0.0 0x250714" +#define APIGOTTHARD2 "0.0.0 0x250714" +#define APIMOENCH "0.0.0 0x250714" +#define APIEIGER "0.0.0 0x250714" +#define APIXILINXCTB "0.0.0 0x250714" +#define APIJUNGFRAU "0.0.0 0x250714" +#define APIMYTHEN3 "0.0.0 0x250714" diff --git a/slsSupportLib/src/ToString.cpp b/slsSupportLib/src/ToString.cpp index 212514f6f..98790f7cd 100644 --- a/slsSupportLib/src/ToString.cpp +++ b/slsSupportLib/src/ToString.cpp @@ -89,6 +89,7 @@ std::string ToString(const slsDetectorDefs::rxParameters &r) { << "scanParams:" << ToString(r.scanParams) << std::endl << "transceiverSamples:" << r.transceiverSamples << std::endl << "transceiverMask:" << r.transceiverMask << std::endl + << "readoutSpeed:" << ToString(r.readoutSpeed) << std::endl << ']'; return oss.str(); } diff --git a/tests/scripts/test_frame_synchronizer.py b/tests/scripts/test_frame_synchronizer.py index 8d2915f0a..ba9bd7e67 100644 --- a/tests/scripts/test_frame_synchronizer.py +++ b/tests/scripts/test_frame_synchronizer.py @@ -23,6 +23,7 @@ from utils_for_test import ( checkLogForErrors, startDetectorVirtualServer, loadConfig, + loadBasicSettings, ParseArguments ) @@ -113,6 +114,7 @@ def startTestsForAll(args, fp): startFrameSynchronizerPullSocket(server, fp) startFrameSynchronizer(args.num_mods, fp) d = loadConfig(name=server, rx_hostname=args.rx_hostname, settingsdir=args.settingspath, fp=fp, num_mods=args.num_mods, num_frames=args.num_frames) + loadBasicSettings(name=server, d=d, fp=fp) acquire(fp, d) testFramesCaught(server, d, args.num_frames) testZmqHeadetTypeCount(server, d, args.num_mods, args.num_frames, fp) diff --git a/tests/scripts/test_roi.py b/tests/scripts/test_roi.py index 2f56f31b1..ffb0ef686 100644 --- a/tests/scripts/test_roi.py +++ b/tests/scripts/test_roi.py @@ -7,8 +7,9 @@ This file is used to start up simulators, receivers and test roi for every detec import sys, time import traceback -from slsdet import Detector +from slsdet import Detector, burstMode from slsdet.defines import DEFAULT_TCP_RX_PORTNO, DEFAULT_UDP_DST_PORTNO +from datetime import timedelta from utils_for_test import ( @@ -19,6 +20,7 @@ from utils_for_test import ( startProcessInBackground, startDetectorVirtualServer, connectToVirtualServers, + loadBasicSettings, runProcessWithLogFile ) @@ -88,6 +90,7 @@ def startTestsForAll(fp): startDetectorVirtualServer(server, nmods, fp) startReceiver(nmods, fp) d = loadConfigForRoi(name=server, fp=fp, num_mods=nmods, num_interfaces=ninterfaces) + loadBasicSettings(name=server, d=d, fp=fp) fname = ROI_TEST_FNAME + server + '.txt' cmd = ['tests', 'rx_roi', '--abort', '-s'] diff --git a/tests/scripts/test_simulators.py b/tests/scripts/test_simulators.py index d6f4371d9..3b5dbdd4a 100644 --- a/tests/scripts/test_simulators.py +++ b/tests/scripts/test_simulators.py @@ -21,6 +21,7 @@ from utils_for_test import ( runProcessWithLogFile, startDetectorVirtualServer, loadConfig, + loadBasicSettings, ParseArguments ) @@ -56,14 +57,15 @@ def startCmdTestsForAll(args, fp): try: num_mods = 2 if server == 'eiger' else 1 fname = CMD_TEST_LOG_PREFIX_FNAME + server + '.txt' - cmd = ['tests', '--abort', '[.cmdcall]', '-s'] + cmd = ['tests', '--abort', args.markers, '-s'] Log(LogLevel.INFOBLUE, f'Starting Cmd Tests for {server}') cleanup(fp) startDetectorVirtualServer(name=server, num_mods=num_mods, fp=fp) startReceiver(num_mods, fp) - loadConfig(name=server, rx_hostname=args.rx_hostname, settingsdir=args.settingspath, fp=fp, num_mods=num_mods) - runProcessWithLogFile('Cmd Tests for ' + server, cmd, fp, fname) + d = loadConfig(name=server, rx_hostname=args.rx_hostname, settingsdir=args.settingspath, fp=fp, num_mods=num_mods) + loadBasicSettings(name=server, d=d, fp=fp) + runProcessWithLogFile('Cmd Tests (' + args.markers + ') for ' + server, cmd, fp, fname) except Exception as e: raise RuntimeException(f'Cmd Tests failed for {server}.') from e @@ -71,7 +73,7 @@ def startCmdTestsForAll(args, fp): if __name__ == '__main__': - args = ParseArguments('Automated tests with the virtual detector servers') + args = ParseArguments('Automated tests with the virtual detector servers', 1, 1) if args.num_mods > 1: raise RuntimeException(f'Cannot support multiple modules at the moment (except Eiger).') diff --git a/tests/scripts/utils_for_test.py b/tests/scripts/utils_for_test.py index 1d64129cf..5f2a22eff 100644 --- a/tests/scripts/utils_for_test.py +++ b/tests/scripts/utils_for_test.py @@ -7,8 +7,9 @@ This file is used for common utils used for integration tests between simulators import sys, subprocess, time, argparse from enum import Enum from colorama import Fore, Style, init +from datetime import timedelta -from slsdet import Detector, detectorSettings +from slsdet import Detector, detectorSettings, burstMode from slsdet.defines import DEFAULT_TCP_RX_PORTNO, DEFAULT_UDP_DST_PORTNO SERVER_START_PORTNO=1900 @@ -156,7 +157,7 @@ def startDetectorVirtualServer(name :str, num_mods, fp): for i in range(num_mods): port_no = SERVER_START_PORTNO + (i * 2) cmd = [name + 'DetectorServer_virtual', '-p', str(port_no)] - startProcessInBackgroundWithLogFile(cmd, fp, "/tmp/virtual_det_" + name + str(i) + ".txt") + startProcessInBackgroundWithLogFile(cmd, fp, "/tmp/virtual_det_" + name + "_" + str(i) + ".txt") match name: case 'jungfrau': time.sleep(7) @@ -215,13 +216,43 @@ def loadConfig(name, rx_hostname, settingsdir, fp, num_mods = 1, num_frames = 1) d.setThresholdEnergy(4500, detectorSettings.STANDARD) d.frames = num_frames + except Exception as e: raise RuntimeException(f'Could not load config for {name}. Error: {str(e)}') from e return d +# for easy acquire +def loadBasicSettings(name, d, fp): + Log(LogLevel.INFO, 'Loading basic settings for ' + name) + Log(LogLevel.INFO, 'Loading basic settings for ' + name, fp) + try: + # basic settings for easy acquire + if name == "jungfrau": + d.exptime = timedelta(microseconds = 200) + d.readnrows = 512 + elif name == "moench": + d.exptime = timedelta(microseconds = 200) + d.readnrows = 400 + elif name == "eiger": + d.exptime = timedelta(microseconds = 200) + d.readnrows = 256 + d.dr = 16 + elif name == "mythen3": + d.setExptime(-1, timedelta(microseconds = 200)) + d.dr = 16 + d.counters = [0, 1] + elif name == "gotthard2": + d.exptime = timedelta(microseconds = 200) + d.burstmode = burstMode.CONTINUOUS_EXTERNAL + d.bursts = 1 + d.burstperiod = 0 + d.period = timedelta(milliseconds = 2) -def ParseArguments(description, default_num_mods=1): + except Exception as e: + raise RuntimeException(f'Could not load config for {name}. Error: {str(e)}') from e + +def ParseArguments(description, default_num_mods=1, markers=0): parser = argparse.ArgumentParser(description) parser.add_argument('rx_hostname', nargs='?', default='localhost', @@ -234,6 +265,9 @@ def ParseArguments(description, default_num_mods=1): help='Number of frames to test with') parser.add_argument('-s', '--servers', nargs='*', help='Detector servers to run') + if markers == 1: + parser.add_argument('-m', '--markers', nargs='?', default ='[.cmdcall]', + help = 'Markers to use for cmd tests, default: [.cmdcall]') args = parser.parse_args() @@ -249,11 +283,17 @@ def ParseArguments(description, default_num_mods=1): 'xilinx_ctb' ] - Log(LogLevel.INFO, 'Arguments:\n' + - 'rx_hostname: ' + args.rx_hostname + - '\nsettingspath: \'' + args.settingspath + - '\nservers: \'' + ' '.join(args.servers) + - '\nnum_mods: \'' + str(args.num_mods) + - '\nnum_frames: \'' + str(args.num_frames) + '\'') + msg = ( + 'Arguments:\n' + f'rx_hostname: {args.rx_hostname}\n' + f"settingspath: '{args.settingspath}'\n" + f"servers: '{' '.join(args.servers)}'\n" + f"num_mods: '{args.num_mods}'\n" + f"num_frames: '{args.num_frames}'" + ) + if markers == 1: + msg += f"\nmarkers: '{args.markers}'" + Log(LogLevel.INFO, msg) + return args