From 3588c10d4ea975eafbbecc6ca9da618919d02444 Mon Sep 17 00:00:00 2001 From: Gobbo Alexandre Date: Mon, 7 Mar 2022 09:39:06 +0100 Subject: [PATCH] Changes by Chris and project fixes --- .gitignore | 6 + nb/PSSS/nbproject/private/config.properties | 0 nb/PSSS/nbproject/private/private.properties | 8 - nb/PSSS/nbproject/private/private.xml | 4 - plugins/PSSS$1.class | Bin 518 -> 0 bytes plugins/PSSS$2.class | Bin 529 -> 0 bytes plugins/PSSS$3.class | Bin 522 -> 0 bytes plugins/PSSS$4.class | Bin 530 -> 0 bytes plugins/PSSS$5.class | Bin 530 -> 0 bytes plugins/PSSS$6.class | Bin 531 -> 0 bytes plugins/PSSS$7.class | Bin 524 -> 0 bytes plugins/PSSS$8.class | Bin 525 -> 0 bytes plugins/PSSS$9.class | Bin 524 -> 0 bytes plugins/PSSS.class | Bin 19372 -> 0 bytes script/cpython/psss.py | 45 +++++ script/cpython/psss_plot.py | 32 ++++ script/cpython/wrapper.py | 36 ++++ script/local.py | 177 +++++++++++++++++++ script/psss/CrystalHeightScan.py | 36 ++-- script/psss/EnergyScan.py | 38 ++-- 20 files changed, 323 insertions(+), 59 deletions(-) create mode 100644 .gitignore delete mode 100644 nb/PSSS/nbproject/private/config.properties delete mode 100644 nb/PSSS/nbproject/private/private.properties delete mode 100644 nb/PSSS/nbproject/private/private.xml delete mode 100644 plugins/PSSS$1.class delete mode 100644 plugins/PSSS$2.class delete mode 100644 plugins/PSSS$3.class delete mode 100644 plugins/PSSS$4.class delete mode 100644 plugins/PSSS$5.class delete mode 100644 plugins/PSSS$6.class delete mode 100644 plugins/PSSS$7.class delete mode 100644 plugins/PSSS$8.class delete mode 100644 plugins/PSSS$9.class delete mode 100644 plugins/PSSS.class create mode 100755 script/cpython/psss.py create mode 100755 script/cpython/psss_plot.py create mode 100755 script/cpython/wrapper.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa96c50 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.class +*.pyc +*/__pycache__/* +nb/PSSS/nbproject/private +nb/PSSS/build +nb/PSSS/dist diff --git a/nb/PSSS/nbproject/private/config.properties b/nb/PSSS/nbproject/private/config.properties deleted file mode 100644 index e69de29..0000000 diff --git a/nb/PSSS/nbproject/private/private.properties b/nb/PSSS/nbproject/private/private.properties deleted file mode 100644 index ecf6f54..0000000 --- a/nb/PSSS/nbproject/private/private.properties +++ /dev/null @@ -1,8 +0,0 @@ -compile.on.save=true -do.depend=false -do.jar=true -do.jlink=false -javac.debug=true -javadoc.preview=true -jlink.strip=false -user.properties.file=/afs/psi.ch/user/g/gobbo_a/.netbeans/12.2/build.properties diff --git a/nb/PSSS/nbproject/private/private.xml b/nb/PSSS/nbproject/private/private.xml deleted file mode 100644 index 4750962..0000000 --- a/nb/PSSS/nbproject/private/private.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/PSSS$1.class b/plugins/PSSS$1.class deleted file mode 100644 index 71bd3a3e02298d909ffd0de5f5be1a27a0062270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmZ`$+e*Vg6r63VF)_Ba-tVO-)Cxx51jU!4DAWr?d{5h@O{p8{u9x2uynqjWK+#_k zXSJX&26E2X$(cE`C;iXYHvl^*y2xP4!w{xD6fomp*1^1k1%YAHj`ivmi`sb@hPy2G zVilWx0k`}EtzQacs!3A{ktFk;R!tyl zS5Qr^t`kMmR7;nw@tle3;h+1W$h{7MCLr>8>x}D8@pa)59c5MG*&<$L;|Zejg46>~ zbjwHpx>=LLTo%E{oC$+3%zs52gl|}O(BnQ<_v%81SY?c0_K?Q_zW|j EFC3R=p#T5? diff --git a/plugins/PSSS$2.class b/plugins/PSSS$2.class deleted file mode 100644 index 8b40abc67a49f63aabdb6209ed8a5e95d3bdde3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmZ`$+e*Vg5ItL~F)`M9ziW{SwSp0!1VxadDAWr?d{5h@O{p8{uGQZXynqjWfbXJT zBc81VeKC-k*~y&CPTsy=UIA<)=OT?s5B-?(FotOdGY;k)%nJ;dMy&IjEXwC$81Asx zja6*+1l+<;Ywc1XT}o=X4Hx90(~2+ zdLTPenc(N^fvtBenHMHE?W#PCErDxgH!O(s2ddgiG?6FLG?JQw1s{u85*R#{+8ia? z_;4`j!^M)1Wn^gA;`3W{a;%hWms*k5QVV1)WzeFp;H=V=RU?r5&ssUwMiR_>S~h`< zT|p_ix=s{LldZ2{jnC=p*oy3TWIL+M@XyteihHObAV_`2}e9b&b@v+a1r z^+$-}Gg9|F(KsVfjPH!Y$n@q{d-HDb0b>0LeZS*gm*|5cpOhUTG=(finbZ8g@0YkOX8MzOx<31{f zKX9R()->f*<0CC*_2ne;`B|U^Ox<=*SCH7L@Ix5~;_i~Gp&S?}*(jsJkm>SRoy%C+ zFp#lfqGF?pEZNod^#ca`LI@tULpP3j%#fR!2widKTzMnzD~9sFzB)myI91Y+T8bg7 z=WomLy%gk_q>>Hodd*WUPe$rzn%{v@qqj|ijDY2G+8sT4g0=~Z*m*)*bk~g4+C3phL!f;T1VMwq zzEsj2Fu2w4)aDgKs;RqzVY)4qIJ+HnM0CkJL!05Dky>4d=vqf3(Pb!B+XH^b>-^r- z#hp;5emJJIEN)maFVMG9D2}8RaBbUdTR~zi6%KVQRqs@ozV13$^RbQsL*`7x=2*wZ zhl7j{7X=?hWXZ0rFYhw=CrXK^IplFHVusw<#E`3A{k$^}pG{Mo=XUX{8vl zcK)Uw-DpLQNh(>jt_uUr$L6mayjdgo<2d_g-6**LM6J} zj91%w2CKay@klpvPA63nEYUfI><_>4!*^>>U|TOp{?R=v#LCF93bmakfdq1xp_rl% Rp2gfalgBbe+df5+))#liYPbLZ diff --git a/plugins/PSSS$5.class b/plugins/PSSS$5.class deleted file mode 100644 index bf4a464eb15f5db70b885009bb84e574a635944b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmZuu+e!m55IyO|?XGLB^?qq9QlZvMeGvpjkWx{oT3GQt-NrVhO=LIfcL`p=2S31% z5+_yk#XvGAhnX{Hl8?`~cL4iXb&MK(iGD!2y9o zsiZk#a4X-`#x+B#t~-KZvMH6gxEr=bbj8~P%ka=hty&_w(a}(J7)q69pWpKue=s$1 zFO;brk5U>IA6PLj(05TNPNWrZZQC7NL1GOR4s;4vV#GUA*ZELHJP5h^p6YjStkN5&L59F`IqQ<1K0(`sN9;JEHM(2I zt8PAnRbP>Kq#HS>ld1?->6}3JCx87X->p7@ZN4D+m+o01wuKDarnZwLkU$Po6jSuU R)0i1Cc`Q=2?NbzKeF0|AYOnwR diff --git a/plugins/PSSS$6.class b/plugins/PSSS$6.class deleted file mode 100644 index 50706c2967cb3f58ce514a32f07c4259297844d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 531 zcmZuu+e!m55Iw2Y?XGKE?{_PrP%Bsw6+scCC<^rgE54`O*haRAY@*_430}YlKfsR? zCsp*tKr$zXnKNgSkI%Pv0Na@Nk;Q0$UW^48!nlVC4^tkd8TxEnn#DB&_46o-b_ncB zCG8%AU;d_+FB!5m-4qOkx>Vxyw$l*l1#cvd;jxukos0BJrybE`D3$Bi{Ek=oy{(En zp=@=(n{wdrjuQ(aeVfMOP&xtMwOw@;BzB
    sAEC&IRM)5A=NSl7@6r40$(y zO?PgzBF7}vQ+BRPDQ`+$OCOBoNfdMSJ=X8!n5ReX1vvsM7M)Fc`wVR#0kQpr7U=Gn zptAA|R(VC{k#1z2PO2ifPUisfKlw{P`F`aIY~=+#f9Zh}VjIY@O=?>pfeeZmq?n~2 R9>z$Q8Nwt**FH;;))zUTYhwTa diff --git a/plugins/PSSS$7.class b/plugins/PSSS$7.class deleted file mode 100644 index 6735e7657fdf1cad65984c747edc255eb14973b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmZuuYfAz_6g}gkb+=8;UiL603``;WR$v4nMuDld(f3s+UD27?9qo4oJ)jT$fPPeT zN2R_rFmulw?mhS1nXm7UPXH&#nTTM`LKN#3QrIw%Hn3%2n_)rqy&!)?px$yEr$XS= z6P`L_Fbgy4;GQ8;m0iw|sC$Ap#-ld(@7(rKGj2zDQna}LApH^VGGq(&fje=_?vpC> z2^Xq-K251u7p7`mcYZng)!qZl&(`l@?@;#5gPYAJ@e zp1&$bk5Z6hk_s2J>vUT=%Jo%E%;xzW89930D98#}GO7L1qlajlu!vnGv`2T%SjEyS zSn(a9XS$JRI;o0alg=f?=lT2de6#ohR(eDDFWu5Y>;^G*OKlS*5JD2m6eIMtD_ET} NDQr^I?IRRv{Q$ktXw?7! diff --git a/plugins/PSSS$8.class b/plugins/PSSS$8.class deleted file mode 100644 index 682d69405fd4d67f11d445919b35888b16bfb6f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmZuu+e!m55It$D+g;bX)@#*PkqWhf^|4S9q$mpY0xQ0!+o+K?k=;~3Nc3Is0zUWw zev~+AMPCdgb8?tDb0+!xdj9}W$BK&#W;~2w)NvS0aJuAc>kY$h5c7g;_2rx-8Lw`Gk P=>d~Rfue1np-Af+n^|fx diff --git a/plugins/PSSS$9.class b/plugins/PSSS$9.class deleted file mode 100644 index 14e14ee8933e032f7cca652950bf55141a698c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmZuuT}uK%6g}fd>u#Hxec6X8VPFc`V_^g#MuC~I(fg{CuINncj`q8PKA?wwKz}Ie zA-bbdFAdDxGlzT6J$L5)`}GaLA#x@nSg{brs)ZER45STg7}#W(Q#~)p9}uWF9mlB< zIQE36P8iI>l-j#th*V{VGbHMs;EmC+#rNUUDAM`?J~?X9 diff --git a/plugins/PSSS.class b/plugins/PSSS.class deleted file mode 100644 index 54b4ad51b10d2df4b572a8c7957e3399e5d494e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19372 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 " + str(mean) + p.addMarker(mean, None, "Mean="+str(round(norm,2)), Color.MAGENTA.darker()) + return (norm, mean, sigma) + else: + p.addMarker(max_x, None, "Max="+str(round(max_x,2)), Color.GRAY) + print "Invalid gaussian fit: " + str(mean) + return (None, None, None) + + +def hfit(ydata, xdata = None): + """ + Harmonic fit + """ + if xdata is None: + xdata = frange(0, len(ydata), 1) + + max_y= max(ydata) + index_max = ydata.index(max_y) + max_x= xdata[index_max] + + start,end = min(xdata), max(xdata) + (amplitude, angular_frequency, phase) = fit_harmonic(ydata, xdata) + fitted_harmonic_function = HarmonicOscillator(amplitude, angular_frequency, phase) + + print "amplitude = ", amplitude + print "angular frequency = ", angular_frequency + print "phase = ", phase + + f = angular_frequency/ (2* math.pi) + print "frequency = ", f + + resolution = 4.00 # 1.00 + fit_y = [] + for x in frange(start,end,resolution, True): + fit_y.append(fitted_harmonic_function.value(x)) + fit_x = frange(start, end+resolution, resolution) + + p = plot(ydata,"data", xdata, title="HFit")[0] + p.addSeries(LinePlotSeries("fit")) + p.getSeries(1).setData(fit_x, fit_y) + + #m = (phase + math.pi)/ angular_frequency + m = -phase / angular_frequency + if (m