From 7653771db80c1d27ac1faccedbf1a2bda266e34e Mon Sep 17 00:00:00 2001 From: matta <matta@npt> Date: Mon, 2 Nov 2009 09:39:32 +0000 Subject: [PATCH] * Adding a TPlasticPhysics class to NPL * Support of new Physics class in NPA 10He project --- NPAnalysis/10He_Riken/Analysis | Bin 63901 -> 64290 bytes .../10He_Riken/include/ObjectManager.hh | 5 +- NPAnalysis/10He_Riken/src/Analysis.cc | 44 +-- NPAnalysis/10He_Riken/src/DetectorManager.cc | 44 ++- NPAnalysis/10He_Riken/src/GNUmakefile | 4 +- NPLib/Plastic/Makefile | 9 +- NPLib/Plastic/TPlasticData.h | 24 +- NPLib/Plastic/TPlasticPhysics.cxx | 257 ++++++++++++++++++ NPLib/Plastic/TPlasticPhysics.h | 92 +++++++ NPLib/SSSD/TSSSDPhysics.cxx | 16 +- NPLib/SSSD/TSSSDPhysics.h | 8 +- 11 files changed, 432 insertions(+), 71 deletions(-) create mode 100644 NPLib/Plastic/TPlasticPhysics.cxx create mode 100644 NPLib/Plastic/TPlasticPhysics.h diff --git a/NPAnalysis/10He_Riken/Analysis b/NPAnalysis/10He_Riken/Analysis index 3e625e9ebfdc156ac50537168b430e60caf1f307..b768b4a077d09084adc810427cf9d75063298eb6 100755 GIT binary patch literal 64290 zcmd444SZ8Y_C9_K2?Qum5nWW&pheMz+VqX0s4Z=PN-5p8xQH(yZ37LYO-)kX7I%w) zQcG7BQBhG*(M3f?7nNO63!>sKx)o88H(5n3f?5>?5$*qZ=FTLOwB@(!7eAkWU^@4i zbLPyMGiP4!&CQ>j`6J`v;tciaWOOzJdc|T(Lt?)bCMC_V8#ZH*akkOl=z=8D(rUqj zATl766=@cP&ZGgS%>^CdWMBr;D4Riim=|Hu-G;%y{6>OF7ikw-ZHo}HAaD@USuW|F z5Um3LD$p2OAdrD{mccL@cr?mp$OUFlw8Bq9<;QL^jALD_Hip5F&!FhP10C#bK1%*Y zK5ywozVabHZ&l6Aq@X`3#mo!UMBPRej2C&SC-d|{pzOW~v<>M?xBqp_TMu0K?6J)5 zU)5!g$hyb(cE&u=Mj+S`x+9dX=`-Ljx75xxjM|&?+$T}SqqRmY8pY^qNzAr^#h9Bt z{n75-F0|$Du{>Zg;%bL?-#ny~ec|}Nrxe<=3Q>OdMb?B`l$wy0-2J5FVR1IY($A>1 zjW8^=13IOxsI4^$J6lTP<L<O<xvln=6&3cS-8z+aJGs{KyGhg~7r}`z8X*sXpDPf? zAmk&AMJPbvXPg;{zbM)$lDGu%1bKapjITv}9YU$ZjLNiY{c<wE6q!&V<Ee;!2$d2u zszRtn2oT^CG9zOK;+Y7uBv#RET>JrHj!Hm$141nVjBebBFdqS~V$>n<bBh@ni)75G z0pV7J#R#_{EJe5-;SPj55tboz^nn{2%MtEHxDVlega;7R=RtY#Fyd7Rk4pR);>QtI zBRqldBmzHc5S~H!8^T%yex6782f_;o>k(c=cnN`@mk}BfHXv+7cm+XyUR4)}vlje# z+e2TZ-<0}x-jB7n-M*>sviKbLAL=j3soa$K{7JPBUDf=>L3isT!OPcQ+HcrRvv)oJ z&a`v>-tcv=KcAd9uP)`5-@VtX^IZQ8H(a~5>m5}$X16~6(c4YgJKy~HzO(-I&?n1$ zlXuRU*mLXs-Mq)fytC-&xQ*W3fzHljpI`9T;Db-x)b!I;uP4r%W4yjOc<+#JP9N;? z_6z*{x7$yCKW@#6xaDV`mFE51)MrylcYbkiRqicwp+owByG|MOR=+>L`SD5bCk3B* zYs0fkXT8<+(zkXlNgp!E`ELGo`*v0R^y9#?J6k8ddhdIe+D|!rWv}e6c~=&H_0ZqH zzCUr^TT|}!7{#-<j(_0hcmCkF<lGQg`>*ZSPw4-z>MIWKd-|rP-zNPv`29}L&hsjd zJboZ+Ow;oZe>cCX+q=*9&OO%BGgP>taEa}QuK!57;Ld;d`|z^+s}`Lz^>@847<^#C z+uwdWe}M7*6F1!T*5eO1Y)cvX$cW5-$-7g%g_qqjf7HR3U-&NY^b=z~ZhYb6C3CFj zPw4&NJ)Os0z4OJ-4!rYKFMGno_uu<r)~=5ao);Y9eD|R5iFa>z#~-Tb+4rOS{<`aj z_q=t5Ej=&3vxnn@iW!wDe+_2r_3V83H@kDMteCuW%$sAHZolcw+<R^RK7Hz+?w+$^ zYPa>*Hyvw9`}=0U{ij3S{O1SmyVU*e?X&WxJ$L@3E3R$5Y3<kZzW-gX$3Oqk^~nHx zYUR4`9CxMUWKQjt^WK}yzyIuTT3L(c8sc(?7>&$Sj(1zSM>vQt=o*bH#b9ryk$zJQ z-Nk`Zen=k>r;s_G-h&}ceMo;l2Cs?XUl}9s`Iz!<iphVG5{}r8(5+h}f#uDP(f_C= zn*Ml<JuZnU@5-3`OJeeGiNT-7<bNzC|Lhoh$4Ar=`cH|WUlWtRB*tE^#_(SiW1sjK z`k68IX^FA-h)xlOXuoG->~nDp|GF6YcgN6=#+3I=3_r(I^<jB)6+ldUc}#u0G4fB1 zp_j&#_hJm56H~u`#?W`g(C?3F&pTuIH^;Qc%Q5Yh6yqOH#_0d&nEbzup=ZX>Pm5`f zV2pl0#pFLXhQBC=J_ttcvEO3r0b8GA^fd15k9qNPb1g_b=WNXVzz#{T?v3^0Cl=cr ziAO`;-XU230iR@?ZoG23VH^aV#WMeL2tIGG#nxBiz<HPh4@BfI=w}!Uk6COq(@92e zW9b=~hm))lpKkov%P{sgTWsgZ{1<{g^++WDL<pY#V?@8Mpbviu>s5UE7(I-}1k9zN zvstLm73ZQpdn~p@*p>KW)bA+jk8A=T8Gt!7*=idO%=&Q7esy=GK5I@fjQFD#TTjV9 z2=!e7ec4Rp{|R_6%9{w>2l98L{sT1omY~BQll3S4Y1sb|?4|7g<ZqBsEB`L&Kl`x7 zRx9OQhPcyzEVeTdQ~&SLpLTo~p+5upwa|wKpgy0$etR{0j!!g<BWMqHL*{=7`qpaY z-G++Y^r6KzSkgZNeo51BBMNSWJiC;ihxYsOhloDg(H;{ueJY{PTF?hddC#HzHIS$5 zcNG3)U=M@8!d}ztSf|21tS9yR4DGR8)Bh}#e;ND{%_!(IPBM%)AW!*6H?+^Gpey_M zPc@7Tw70Ua4gS3d@|AzihJ7}FYO(!W`a>h=gY^1>ad@NB54_OtV%SgBhZoz>zHn=y z&oifCZvg+`&Vu^i54rIhBKfz%(RO@qvBB*`eS2ZURRI0C?;^h)u}_xAI-L!FXofuH zzY9^Hhu^c<t^kexvk`bC{DEd<{w@%Fs^)J_*kds8DoKCwEUZuApQ^l1;0RmLe?i8U z?d#Tuq2EO4R|`z}_rgE-Y4#rve_0634D_$zz|ERJPX^u&|55FGIx4XY`WJ$q`uz@s zE$Gjxea=C{3`Ty{e!sPY4y@|?1^ma*?0pb$Ec|JLly@8AH_<;8|COE4KVZ*PNk19> zu?*#@_J17yRI1hgTeM%+MUnpgo!u~2YWjIVzY_L+74r=B{}S!75&FSw0)I>YNBu$) zKMcd34y^3E3hnbL>;ba~{zcGl^~(`|ScLqKpngS?UJLzp9E#ZgAr!Po8y~+0UVCw* zy}pHB2c^HDsf?dd@K)GE*>?u~+0g1Y2KM(s9#YZ1y^Pb)Uw6Qsh=hLE!+-y%jjz`u z{VT{*_1S~+b${sze`(a@zl(x5X!g!Vc};Tsr9T}+dpv^j(CtKde?~`6JZP~!3ynzs z9*(?O`lH=A&FG2oVyW~m+CLfc7Hj_JhM;Yd&irv0FB>tQ?ZZ4x|6Byc6Cj`Zlb#R% zU!v9T3-k{I{eQF6XDICd4B89LF7*3=_Qv@1HH^#re&{(zYrh*&-&LBwo`dpJG5#oj zYk_0NZ&db1QE>E0Xm6*K|2F)oR<qwK=)Fsm|19{vgTBh&UxdBhg8XY`{s8hPY5vv+ z15tl%{2B%OjL^ovdX#U6KdbR76^3~P^2bSehcx>q!2Z+FzN=84;(rDG@u)UF7&v3e z@drFOUNKx(Om`J|rg(!PPawzV4hB6zqdHU(@VLueW$vmnkI!(qrd0Z?T)~h#5OTQ; z*TmwGFO*kS9CA3yD%=5ADB$*nf_Y`mVmJOcON+)7m*$nYN|IeA4wthylUWLemW(T% z>M09V&2UaNad9Z%t(ubKa2Ad!LrS@?aC&hRYq`%^I31L#8B;}E9IEzpT&!LuG{|rj zjwwzxwfNqrruC0BX^L9f3mr@~V<4QhI+c4kR&$RBV|@i-i2eX@N%e_3>uavjd; z!o=RH5KRng7v+tUR|OuGHX1e;EkLP7?y7QsWh#mh)(IyFStvKHWOT|%(^ka}m$$qe z|EUks9Z~5lZB)QLSr*63)N%!?-RiO=;1SJF-6Coh`h%fhS-@MZbR6qOBk>rHVhbx~ z1-)fKsq>gj7^n=!NKGB<o`M=f8!au@A9A7@T+9e56=8p)E10!al~q{TtweaAEVSH* z3mgJUF=M6M0_M2!C*TgDiN?CC&?Et=nIp3;31t-rDdfsrPe`aO<>!qn^7~agIFbp* z)r6{R;M`L@p}Z=1JvxDNDB7LwTAVCgRA(HT>j{Pe{#m98hEYOZRT}|j=|vuQ85NeA zrWO?DXR0))D2y1DnBoArJjY)(**m4itn5gy&m$}2tnvh=%*yu%RiiMkBRP^Rs_pd( z*NvqqbC0bFhEj6fA-A-Mz|n1u&Y-6XO<~LIs;U~FJ5cP<a*uKctKETeEu|2nO2}K* zHYKKv^b*M_(^V<O#l^W=X2O`9DJ5E>%9dB<4SC%@n64Zb{wif6M`lSIQX~&XL9>N& z{Qf|>x5^#zh>Y~N{L#+BAt_18Noh%`(pJGxdD(A&3y_py4pi&~#lZ}Bb+xCeT#jr= zKmq6sK~OPjX1a<>F=%=`u5wRVz*Fg|3Kd2rSNY35u2Of<Bl=WvaA=vo5=Qknr%pA; z$|&xLkTFr|x|HHj8uV#*^mG;>S1L;LmbuXVG4NNKgSQi7s8k@m45NR5?&&I<>2?J? zm>~Q!L~YW_{52u6iNRkDSE9!B<|vK4RjRrjYg$n3_XV9|Y!g>>-QrNnu&~X%RY4Et zA&i&MqtxwV_blzee(0@5=A2R-bQh~8C_w4M%nEz`n75!~%tYo)_4p@;t6Pfcu?mx6 zsH{RL;|u1slcgOqmX%=oOUFdS`OWkKT*DDKPnyOV>T(HNqPfdmZq6lQ3@8p|LN(z7 zY4ld%pp+4Eq)E*u%eHDy{r{0Yz0Btidd$(MI4Ii?lYG0jF(>(UYAa@ZXYo)MDp;CV zoaRE+xd0FqO`q(m30Aag>yAYU|Kqwq`W;+2+zc>9w28v5_urXFv7=XpyO->u|E-nN z{OIKD<7kysS037H91<$gc|~*ocX|x<23<mq+3s}y!jVPA{$d)=HD%^ZS2dO){whp% zp;@l!$wD;!N47D_j*KUf4i=THj|AH26dsX=Vy46WHcxxa)26wxYSG6CG<S4sW2CG! z2Sj(7Urf1E$}oH|$ziz0SIzLE6^lH<no1AnW4YEOIhnXj4yJkIFyvqWcGUzu<pvzI zY?|}}49PRSAp<&ls^}TaBp0WZZf}+0@|0sT1EDk+G}Dn(B}NoSx|;pvior2V&IR7t zp76viJ3=UI*Sz8&2GDA^H;@N+DJ;NDnmsJMkZ?L->||H5$A@)=BN)nq-y<o_=Luq< z2y#`-6sN=C8tcNkz{Tcpa>Pmv4{A&jTx?zrjxej7BfOlFu*|}ka~u_%p6fZhnIks3 zhRS|oRL^u3yQaH+HBkFFBX=9?=B6l9rdGPEp-LOm#h58l!{QWJ%$Y8RUQ<ZsmDxpk z*(36uDH9wVQwrJ?=NOvf^SCihaY8lMs{hCGQ#px?ju|O^B1<=&t}IyNn(VC-t1HY= zk>)JJawFvWFI%p<`v0h<!{PJK@C00?{u-!T^lLeRBL)5&@J^`+RbriB>KwHW9_0yf zTOld2T`ec<3@6w*9U0I|t_o_Zyw}4^(G$|e+9iEdQFh_z%*t8ZY&mj;-<<H?k%8VZ z%`?mF8xbdn>eDB@P)8bSt+#sz14^+I1GEFiaB);r;~{!aN>O$}?zpkef>C(|P9U)X zbyi`i<N0;W6f=l)V5qjeIxW(xxeYMgYZ&Insv4|DXF5`=JTuItlN=`7jH{7hrOg0@ zLFU(UOb+-y&t$E?oNzaY^1X1!5>rfg2k}d$lgJ7(EcC=oB}36!XcI93hGj=99Mx-6 z%wCImC(M0fG)W6$(pN+8ai&(aQas@bD8X%9UJ*`siCU|w?ZvR_fTzsMb1w6M>lZCP zFl79Ciw~_kdn<92S3Jy>Uz&{dRH_*F#V$YGl5K36k~X5o>nks2R*$(VaQnm(K{fsV zzSgR&RC!OZONv1qdt@we%~fJ}BKt+nQY~lc6YfV??uMt_4wr<SdDJ`{ITg#qDj}x= z>vUm4M@C77C*;O?T^UZ2cuW&MRW$eQsCRfFUFH)zcq|Rg{namBaG@7KvG&*4Sg2F@ z37lTSi(qU6+AjHzKQ*bmIMOR{7LB?pe_U~~BcnRt5BaM~+yQKXevjRh&^U@Ed9)|B z80VGM**-xWa{}v=S?QkX(udCfz5kdi-pSRj3Z5ZxCx2qME3pe=E`NTFV$#tI%FV;y z|L3NzIP?qmK-!pnVy%=3?Xk7Q!A}QEM;a}>?@2G?Z4lGd+AQtm$#s}H<tlTF)=@7z zuGeF8EVf)x9-V4BeUww9J4J1~k1N$2Jh&@}?A@?+6GxX(C58J=u~*dg7dKpF7C+A7 z!W@gzgo8%RSJ1%@HzhgxxWc?sA<Y%rDh@|>dAU08zzu^oYhSi6TId9Kz7(!{F*3Od zc#18KG`TKsuT3#Z#f)M+D>-g6MvQub)#fHLyxTwFMiFN}G>SO;5$=7wA^A8C<5Y7( z*jv)Lb(5}of{ns0o7nMpILZGy18Zb&7`5V4jsHtcH&hPR81R0@gEDC_j85U!h~D0u z_&(=IrEkUbHPw+iSn0UhKg)EM@?=@8=8MLZvUz{0wbj1*c=@%py?I=6+|KXJlvTu? zu);B-7pY3NdoIh0@D`AK5C98}U%F&eD}FTHFPz3RaYE$ceY}oF>rAmvX>W(}3l@&b z_TfPyr69$eyY-c1y1tSe<(~cP3?f<^NA>1kZDA8Rwf)7dm0_MI@?^igllY-7_K=}+ zS@{b+!aFm3R@-*h+VO4w|3i-)CeEb;HDx?~$zZ>b!{GmG*3EIWw|7b75j}*salcr& z&WRt`VtP#n&2ij818#Pl_3a6t>GfL{CtNt3F}&|KkGgrM={SQLwzFs;^DI1Sm75Y? zd;Mztp8E^!{>=%T1{}%dp72aihzGW&8l&>_M&!8gaE37|C&!h_Sf)6VQjMGm6S7C- zxp*m(CrkiK8lIlxH!>~w%YW*luFW_?;}sqZG`a|0Ji;k*F`othYyvTrAEv7O(N__g zDLD?`YUIC8GFJFR#!5E7K^bRs{XdjsN}!a;)qkU@se$<y-=yr|Umc#?#G{yo9U;N% z#Z#kQjd%DEBR<S?Z5w)*D7sIh7oIl@k8@g$-QoP5jJqT~8S;W>d-2q!&G-a#mT8vP zS(Dev7=`90jh}a(ng(PszLxx<3zp!i(oV)PDSz2utE~&3+vN8utRwOKC2&`mX*FZG z!y3kLkF|{P#ff!{A#pw9E_nWxF}@eFi7_N^W(*CtFoxbuj8UU)jPX3@cE+&KF2*dE zF`fh6#~4aCGsc6c2N~n}-4@1p9`+F9yYPJi#(0kO7-K$2486O)fEqH!^R+g{cn&(A zF`idVV2tOU`!dG!#{C$F@Z2h6Ja1}ejOUgU8UF##<1@x{wu2et`Q2p3c+NeIvE48- z8RNO#;f&8Qj4Z}@PBxeEefUl+V?0Nk&v>R`6fz!Y7$uBh^9hX4H;ii-55n`gj4v>Z za>f@LMg`;F;<;(YgYn%}#zXMERmMs9&MM=J@LVusI7BUD2fmZaIK?m)GET*F+>F=Z z`DMl!GL|w<$MfloGw?kJ#zXOa62_T$4xRBZv_IpE(f*7tLHjcvj`nAKDcYa$WoUoK zm!tg|XQBNWXB)=&x=)Jd9keu~WsIxmzEV<U81=UuYi(^^ur*|D{t~IpL*PEm+aYVh z)o;Agn!W-p**b6~{xVPNKzd*WFZb_7w$_34#0t{(HwjFSte|`EZxooGS%DTd_OB6` z9$H~1ULi0&wPFzQVu9(g6|kJKzgA#+ZUro0?5`G>9$b+{JV{`Ba>Z!kLV@Yg6@|oE z0@JfACJ-kJOb@S^L~IwBo?gKU?N1Px9$!&SYzR!xub4^P@-q?!vIkVu67Ln5J)vSD zag)I85fzJx8wF<1s8~k4Mqu`kiWS5w1ZGdESVg>8U;`~xv4*%-U<>g&;%b3y#Erz0 z1db=(Ok5~%0&x>@mcV_9w-YA|+>dxKv0dQ)#LdJB0^5mOhz)@giH{Js{KWbXBF3nR z`U^amnBRHY-z0D{aRPCpz-h$&h}Q_5No*%xA@FeGLBxv%&LU1Gt`#_!m|uO{UoG%x z;w<7x0_PKtCN31XkhqXIOW+dX3B<_)PavK|Y!~<%;tJvffhQ4H6B`1T6VD`WVLusI zL0n6`S70CULgFTYtBDsAHwqjgUPin|;F-iLh*t<ahj<n7Vu5Rk*AUkVJfC<Sakan; zi5rP03A~7SGjXB7i;0_vvjkpByq!2%;AO;niR}U}CvGNA5O@V~3$Y>aO5!8LEkCmU ztB5f}q5cA|Cbkhb3A~0lfw)oNwZ#31*9g3h*iO7c;Pu3Vh!+doNSsVuEAS@bOyX)_ z_@UwW;<~#3%-h#eSW;BM?~_#UOLo7zvVz~uXr2b9LyMz6a?Go})Q2yN7&Y1Tr&Qx& z-3q*hV#sp**>I#&!-UphJA(Fx=O};P#<)7c(%ScS(oOzhI|84+W~GR@d7CU(U;9ek z_YLbYQ;0Ej-obtktOV<V#!w&jRRb5@UbiGNt+nZmR~ADDX#D#ti{~EP2V2g&!Db01 zy`GzBS%xp*fN?Ks+591NXBxjGQfEnQz8oD8b0?~PKc?7*`H4^9nuOQjnf1>2d5xBO zqhYC;T#{(3Ltb!kFd^4sWY;o1ZNeud^+qMbCS-`@h>VqzD<7E-oL%=$-D{epDM+kq zsoTLq?t#uADXHWKd`f0NQxy^~3K7YXLRLtw&%kw{zbr&a>Ld%<KOf5sP2}fb1{8VC z`f{+WV|{<n#3&7306TTv&u@PrpJFaH^;WP%S3xCSuJS&SU>IzevwyPKAY-j8@GIF~ zgU#giGI_fxT5y>fD$188MZu?zLgCY7y;b7fNTk9CPSQ$RKu%>LReZJN+~14pSrRi* ze)HonLftEM+i8&Ayk4H@gTq1AzodF~rV;|?CfZo9e6s?ZB**X3@eiC*_g>xWb^Q~Y zFQAkob>Hm&Yi}V(a3NFud?A?yU3o;biOS!V`BlAC;x{N()awFGmovesH2)exl;-1c z9j>oZyhTdbe-;!$y{gT6y(6`L8s>m#0cE`=n)TWuIsOCzk$U}(<*{D>?j`CaxXgM{ zGVArn!$PFWe-ZPmda1<I^?E5?oJd5y`k~<F)3kbBkZ2g;dMW09Qo{a`Pz3b~ne`Ig z*z})mvI0+juUB9(v=bHRWmZ6NnH8W2R^U4<ePI)oze;x_m3WnMqt~(S2lGl6W|q5M zmYacc8`dTgqE^EZHRrH!`dKK^!jj5NUz=&_t}_0F)B{P%lRktPDty3@KCjr`V`g^J zT&O^Y^qUR0OO}5VOvvOL%;bGC*^gu>EVxXC6=eZ!4y{hcmZLsl?#3*rRo@*V68N?l z#PJI$YH4CEMPWpu^!t#6Os#K2rV<p7YKEI!B_3uyR2Nk`e#Ev>T~sB$DLMB~i;t?< zL0N+*AYQB3A(?y!lA(m)GApJit7&#r?Bc#1RqQENtR!)gs?~a}R!R!nGh8c`I6$wJ zQZQbxl}bGPooue#dqmahm{k9LWYTJ7k<QqNWYkJ<nYB`s_gFM)Reo|uwc2Dh*J7=? z-qI?j1YHZw!WC1AqoulHL{&Pbl2bL8N<2$dY(2Kdtbz2ycv*v=LDwqQS0;akWK>LW znH5u%pC}L&tH=D^z8}70Hdmo)t{qyfl$4tfX|+;`0VIZ<P$_sVIaRGx;%Lda|5I%I zwOaL;>JN&pRiaEj$*h&&GHazM=gV3>iz&7JTJ17xm8EL+u~sW3<>_y=TB*e4NDS9X zDR?tERjpKFKyvO+K&@c?RH^o3sI7u>8u*0T%ugIFIcAy_Q!tN$&_+8ki`LCgoC7Y6 z`4TXPJxXOcj|SiX;8Z0c|L>59Ig$D64eLIvSnCsD?RdB>t!_iQuzm})k$fn&b!)h0 zss=VGeSd}xGX4vRoqmp%h%tIC3TxiTc~Y(giob@++cB;Wk4W4erDFqVpo^ifjgH~f zz=3ZdhqLBgI92-K%iYTpYf&+Au~1zsRu{`~vD<1`tv2wj0D!qJL4<lYcY@g!l%?8G z4<w~YjwWzG*%0$BHB(E>$>thVte$IZ>%8Xp1J-pkF`90bS%S)6i~QlHQ;E~q+HATJ zs&MFXhp9`BEO-j)2&#ZmwO*!b!zD*LMJta~H7b;%_x}+GZxO{s9;x_4n5o-Qe6^{# zlKwi%4=b(`pP}KE;!4xqrlw=0T2G>pp}2rj@l#F3b0x<didKp%DR)ZI`(MS;PegH% zM=Jg~Cgye&Ut=n+r1zq9wLnsdKhX22c)C&z7Ec5xhob&a5AG_qKYPD4)717S3mL<@ zswy6k()OPQT`56v_W=RA&w)nherp*eNL<Hm2LD)xL}tm=3Y~^R>z4`=1}m|YS@%V> z9_w0KTbn=r3bmM@xSn#&2&j<)u^&Lh&;AQ>5(~UZ;sZXg5`577!QS1=H*xlgPN|Ja zxn@(fWRTtFnoWhV30b;`Yc@@qXO<B+Z@nlhuJ?V7^BZdx)Grcx{o{%HofUPP4}ZSl zXnft~4M(t-y8uIiw=n^G*SddRu(7UbL1XU)r$9>x5H;yNpC`;T6imzo-#%_mCt$8` z-VJNXdP56gjHSW~b#Gs=;UDw%oRMP|)yFIfiFKPXrVQSRfFWQr<nA=>g^10u=LaM= z;bQlELEW`hpj|5k0&TlV6D&9ax7zl+vHO}tJGGmvHRH;It*yIr6YZdhHtZ{XsRle~ z{^t3l&o`w>mak<q|3$L6!9uZor315UfQSR5P)+JNuQ~1#Q}LR#*s=%7jJHWa{UlbN zIg>6H_DtHKo)Z9VUAJ+=(X$~>OcGplbHbFo^xC&^9U>p}X+1}HkAh8hvyJ2uC0}w~ zEo&v0$|W*67s(Ct69pHF!KI>11cl<8F^zIEpN|~%eUQ?+RpYXtPT`)dvVL^{S=qC> zRaFY?Kw`Mps>D|%=l(KChr_N#6en!}yVAnFm&0v)FL;qVLTGrm*0`^KF8U}lsXp2l zNo4!0wE0SjmCY^E48&@DX_4)+N#?1J$<q|mZjBO43tz+HVW=Na7ZxooTrQJ8LNd%C zxJ(Nx$`MeS-!aK5Z7s?U+fyapkHoM&RdKiIoGP(Kah@v9hfwYcbX96suQ!xRoQ}k> z;FXe-{vK9ACFbj#>L6(-In^PMN<2q$vd}yBL;m);oA$vLS6}C<J9zCYJn%Z0i9;%S zb-h#cC?}Q-yRY3Y(MhPo?rZmw1tK~F?Hapx*A3fu<IKSWfxEA5+3jq3gObF#*&^tT zbF;YK3+}@FI`@Wno(A?_um}Jxyb>?MY5o~P*6|fhXdl~Ro~)s8Qdq**kV)JLGY2v} z%nS{mp&V;-oYjT_`pi{GA_rfm3l6^9s(Bhk@-02ONKz>BK8my?=3^bzJRW**v9;Tp z!1c~GiT!q4`<Yi_8Q9FZ0cstjW22BRt>!Q@6$R97e~2&Uf+!zFbq|ZOn*s)Z&<ufz z$Y!sF6?R)?dOwja#50}ZdqOP5Cra@<KSkU1Q#<e>Y$&YWsQiCWcNEMwIyE?-XNn(G zUdpAzZy}<=xrP)cl#EFEtT`g(9!NoX38)>*kC(BH)n#U=f@<-#L(N%GMaugGCE+B7 z$BJeF+o%|al5tWO`olWD&4`s!O-V6S=R7FT;Cz{vFUU)&^Dv?FI#T|^GR`o|5Y<~F z%OG(dbm>^_byDpts$KU93lk!fG_^&-nVQ-{oqQy;QJZ2|s2{d!aK6q<i%|P@W$Hqq zb|Wb}Kv8N7kv|}TrXg|2an){=YS&Wjt@~J*5IKV)rL{%EWGRx?7V6xNgf?nZ3=3T+ z+U?)G94l(@Z>9FtLha3@oXaw#wS~wLvJ4WZ!-O4Mn=1r5Nh8%hL#Qo8Hli@4wn%si z3Cc-?I(v}NMs12=p>aa(_j!4Typ&EdS*YDaijQSTwS~xfSq6zOLl>%zQLP={Zjx&A z6@AU+AJf`GWH*YG))omzP`XlEsB?aMYEujgy+XL#hrIkyUP`rR2(`t@?z0f7)D|MQ z$ugMDc3ic&2c)&LsP+>dQEefzh$5xhA|YE-Tc}fwgf`Zu7#4b)Xt&RJIY_AenR1d_ zh1z>b`56?Ywh(!yruOe(!uG6P4(m5K_e!;EsrL8(q1r;^JrpU`774c?L0J3h2B%Qx z??`B)HpNh*U1p&cD~>Ygf|TBm8Tg_;XcHcKNMVM@kwH~Kh@U9SBk|8L=iE)4s4xr4 zIj|q3SU6QdJRPZdFb+G#tcICS@JPl4%!~C|mOAG#UW|{gE5y8cOmO1%lAJV`!^|?X zZFg2YMBwk9H$dH;)mNatd*0ZyLE!!Z_b0wq+<~IpEQ@w+Gp{4!#|rVhTXiKK6Uc&% zsR-Ak<85l`)fu(GBLof3eOh8gIFaon+h!ILu@xCEVSm87R~noLw0s}IA`n)04T><= z3ZT=JKY=j6G1QeyLql%yfv<nv$@5A$#3A}uIL|@mITO4M&TS3j4?@@Y`tf^XG(Q(~ z6jtxtR_EN?;1qd&;tei20EmQx+Rd$(_J;k;g+g(^t-*6--X^rJXfv3oZ~e7YqJDe= z%VOPm%LMBOQLF9s*B*OgqeVV-A$b+kkQgRfoh^i760~+nAV2Gg3R;jww0@*yC5>A) z8d4Rhq`|9j?`_z|-b)*mL$VOjs$!=!aSs;P&ID|hoi@0fd9M=k6H&7UrzoAqM(O{A z2}E7{n&v&ESNTQSC#HP*kiEV}v=Z|BENp*Sm0|$XY6)n3t`b#a)}>*d0hQ8P!uB?; z2pz9AuY}L)i^~zH$A;#!!}?2Wqs^3wLM(s#yiI+tmNHlwQEh2&>RZSLt)bOe<-cPU zGwe0k4qKD?>&^Nzy%M5u{4}cG*_YBAoMI3j#{yoHS^EOi8)QC(S1@=;I!NEd=Ck2s z?RfW4nRh#itw$ajnk^8|kqD*J{HiwJg9j$s|07n67{X0vy<zV~v0$jj@ZNd<yWm1A zQysoGn_5cEKVsVLEHGNdIk@@BTBpFVnA6!5F-spTP~lXjVM19_>tj4UN|xX&f^Zc= z(JhQFGE}NRTqq`W`Ix$N6Z*-?bgdA><bRVfTE!2rSA-QS>&=PxVesNCgN+p$g0$n? z?>We${a#@G#-qU#>c{r2%ZI%&cEHGCcZ9OHNZwn)E5<!GjBaa(S(|$2KG@nTEGDb; zC3Vk0ewtj^zf0SS@W~6>+OBN9C1UF>ObgpudB}4j_4qa11|HV%12|5Da|;z|2s>ph zh?*CCMJlToW8&$!Hwkl2k-CpSer4hdX|m(GXtAllfvfAsZ>e`~>Day(O2(81XG>d0 zmi4H2w$yb#(3_gbVfG<ZtZutLM5s|OOU`T<FE9X@qp2J-59G_b+=n(pZR^MOL#vxZ zH+m-Tw9jjaL!D10pA(a+XtgEuN@v1>UJ^H$c-{>OM(^9<aW#+19>wt=caLI58kB?K zRgN=4D_n~`@*omm{81Dr#*)K?Kp5)H`k2cE@YQGaHS3~ARu*3~Qg%6Ph+8jl_6=oF z6NtDMnB#3fQ>@tZtwtJ~81t>LB5Hga)+4BH)J(h3`K`<+Wv`_NI}ZUhjJDK|Kh*m< z=eIB$tj9hRUK_l*laon2^lT`MW7b00?~o`7qx!dEYMr;qj``CZ#ls`6Iow`G2IoOp z=5T>pUUMFfJ8(@srfWEdIca|^omb9I@36L8!5!ngf5%<mh0epZHyk!XJ!RH^BI|)3 z67Vbz<;}a{plrmu=wzZ1M0XhhnIiX}u&khPc|u%Zjt5B8nCnp*?3nkOb7x%rSorb5 z2InsHV~qO=G*!%ykpbE0oej>Nkb#+Ym#`9?=Qj|(|A9!KJ(uH!>GTawF<SF^8TMVF z<MRM9_1=J+#L#5qYtE0un(XUXlhu$QH2K)nWS`QcfwnsRHRk~g9|ug@7Dc<BrfaY7 z&1;0a(r?XGr8x!O{sEP=)pddstL1Bbmg(0z-;3L0_~so{{bLvljP#F>F=R$0p}Wh~ zlN73TF|)6jos7?q2{%5}Fd?A<P99m-+8|$80g0lm&_~1q>1q(bN*_BFm+<HCi1Uhh zx*%vrDVir3V$MIb4HYpxU-s_+@-|=lK3Wc^9?faIkem7m@3po<dpSOd?h~Hn`3zmm znuYTY4rn=J^?nY2Z3_$K2&Y>z=iL}fY8Em1)S80(6X+(?{tB@<>d<NlSPRwdk-f1G zctqo)BlqI<cIuU2cI8NWi?Iu2QwmEmhd$YJ4!%RX#Mg6gV=gyQa~$u@J2<$$hD#)F zO}W%*-pQL%I8Vbe%Yjv`SYV6xco;+2fwSt~uft>uevY@#gO_vfQI_5fHJ`U>u-Jh` z^kQvUOS5r>pi)uUu%|L_8Imq>#`j***!#IgOmrOC@m%ysY7MVwiffE(+OW4XSx2CS zl>=%kYm#thMb=;I31U6D8-h&Btb6RS$GVGr;8`5ellkw$?SP2=OwV1=PTIBYq~(Rv z%tKSuxxu-TQvb4*o0%27ya|`DIo~&4b8biY0AUBhPH;X>@)TGQ%`gaukIiSGnhoP0 z=ip`bzUAadhs#RliQ;k%?VF4Y4da)qQIe{N9<|yuI%sPYjn%<{qBsB)Wu6Q%>=65( z#v!qpi{(k@dlz<VaIR+2k3l)L;TH*aAwhJ!p7JblAvvV%HOw+Ya_moq?1lyNIj<mj z@7ux`MSZ}*8qo7ZHN#9}SaKL$3Twb4eC#vhP+M3@+`1eHgECFsepmoL;!2Gt4m_Io z^)ZXI+z1w`@Da4pMbN+Y_u%0+<Sf$U{GDn?=AwVfq8^iS?v9aj6cyNiHssI^ASzOs zNx~sSqN>LYQkbg8i^z=f<DX{vvIkKgm`S<SEhtYe341TN8cT5U|4s69Ar!+uQSjIF z!3yGibD<Tr^58Of0h|`@8ONM2X*GYjDcVG5o7#n~-kTULf<l{L<DE+R?8Es;=Ri{P zn**n-lkjs<dGQ>>L2i>8!%q=7cSQ_zKgz4e91gmz9w#tjRBmvtWpkbTZ+hff(?@q9 zrS%<2>4wsj`w7+~EQ+o@m#c4crLzfXs9rk`w*!UBv+WOIDqez*rq~5j$b;x-ksX?m z!W0nYEb|Z1(Bf=*E_hT&5ed~&j{}(bUS=KcN5cM9Tz86oDAMXB)BbHpN2&22$)?2Z z!Pus}6*hoX*_7Ll+mzcyQy$cs^3Yq+O<5A-wYkK&v%;qQk$0M8QyxRU*ruESi;1Qj z0G0Ko+#6}iZOB)T)2x`LY@`_`yh$@RnpWH^n^I6NgBGeOMZypyh^FN3Q8widrdPJp zl)Z(I{EKDu6|MR&)s$WE6NU}WO{9Dd3N$mDa+B7SU%^`>&vW2WO(`-xj07>}p(%y@ zZAjR^8~w&?N|Dwmnf7;svTVv8D3wl!r|e>zauaMIoAQGWn(|MgSAHOx@@z_yW8VeH zO7~P_MjdLc<5|SADU)#*R5j%Q<cn>}1~xCBF1iwh=}oyW(v;nh50iatQ;NlK!@t;+ zVv)-AfY~brB?v84Q;LLAB#5Rw0BgvmOfpq(rzvw$XoK@THdr2X<fZJD!$eayk#aV& zvslq9o3y4(gk#DBjRVN7no?xi!76jzi0Mnn??z4KiMB{MqBwF*BUr^#kSOnE5JY43 zUT`)aehyDlpTZ1sKzI~}l$U404WtReoP+-<OFtu$yC2dToMN88RMS=@3|6{8+ZC+y z85)O3=&m?UmFtclXgbd!acqi1annJ?isVCjfLsI@LuGRnl!-$CN`8T(<#=?HeQMG0 zJcnwYXzjyR@W4RH_XGK|EcFTVHuhH!E|?NFC<#2Nv{2>-+*K5d3$Z7a0&W5uHt=i2 zY7RH8W%4B|cewnaNNHRCEb^J<+oQ|RRuaPHXSY{=7qGQc{tIxLnEG>kYg>QvndSG5 zE`NiP5H5cMZcnzYKiJwS{}PouQh%hhEq@mI%<}t1m!GX9gv-xvulz1x)5_<q4sCr? zjhkg${U@juv1*@tI0Q%e$DK%NtKSFYGxbZ1*6#r&A*|m6xM|tOK9j+w>8Hv+L*)+J zhdcMS<zGcUv;0BP<quF2!sQQWul!HZg|+hg@gazsk@5kEnoBXZuHmx`ap<;f9)2K& zj(=#gIVj7AAD(80#jnX740dT8u=Sf%OR&k3{XyM&`Ypyu)dni99;$VmX6_-){Yx1q z@yI%5c4Sz38AX{JNijC4aSN$xY#92w*dWVoBKD-%4u;QS?tT@F`u=bjxaB%e+{c{t z1{mZs4_~0l=Eha*56wfU_T`R<mHT##+yR>0+uO+HSca;+4x<@{*yly|_p}4ItzBD$ zw{?8a=Ju$2HU=B=0JPw#g?W-9ONqT_B$~Xko%VWEOB-|`OHO-y(oJidJutnbEGI=A z`)Ty45W=$!d;#r-czJO4Y^)djT`<{R&%)qFc3jCj7`VdbPp09SYkAdIUa^v#;Dq<- zr=2)@<eAN3)?N<hC11(zdRQISEJRN5P>2^qRwLqcUm+#->_)I&27+?7e{K@aW}cBy zPM%OkwP!o^X^@8*JmOW?`W?J@O1T}khD{rZ{l5MMMR>}!uQY_tGa}z7giAJ$L%DNb zc{-V6O8@4ZjnMst797<z%;Vn+Uf<B#X+di!(eb@`IH>MdnEj`9>EFmT@3pvLKL_^A z+tgniht&5^#9;%<gD+YhSc)$v&O6c?I{5`&O<p|jfTgvmzB7_)FkAC0j$z(r=)&)d zCqkR%)o}K!@ZE3>+qlt*F-(4D`D^S|9#6SF<hKW_@%q=vv+Sk*P=(!X$FI$ZAE>cU z#;?rS@nSKgsdvbkX~CK@Fb3@x+q3bb1o%aupuJn=ER`<_FE2F(RL)ZQlFH>z?$`r0 zRV99~mM7uL5cy|&%K6f86F}HS4!nS`$UDtb<x+IM_1R!@Shz7P-#etddWa)A-y2E9 zJ6`z`Q7KR&yi(L~&MfnW#M?#9U&gsQ<=TsK+oT%it4PP1R0#}czPnWN<I0$DQ7#aE zar-Ls;wl60)WL7_@JD$J`EtI<PtF*V^Kx7l8e_*7m!uf-*KG{`R*hlUFH#?SF@IPK zzbzCos3KitH|zy9m8G75-9Onb-df8xEA`m<8w{u^TEXaPFAVsn1n_GEsO!aseW1OY zeGWpAhd+lvxgl?*2b_O2f`;9ZoIDUxvmqzs_ED^1_wbGR_6js=smD`=Ru>Hm>F}3` zo?)fhxv(32!8){XS612`x%Nx!GZFC9FjXNzapdX@DT-m1nJ*>RNFD8Qjh%%b6G{rr z3<;E*67>7L<t|65D<xx0I62!FzAW~NOY<dGT5g$;n=-{cThA`jr3B1t20|^OKVcmG z87I!Ie*&llFh4rduXQ>y;0NFFhlzYgiNRr%31YxRpTjq-NkfXkdqqt+*;<Duv{&@T zJ0`HdtH!%E%umbZ?Z=5(X8KiToONqdTsuE0n{>~cZ;Dvr2bZ2+Il|anFr{+C<2esK z@X7;AUpbm{?9s2cjx8;`{Lf!JyW;R`Yc9)sYW>~cyg&Q0lRh6Z_pUpyzx0#qev@Dy zcHJf0Z`ko&(>E_&+;39hOW&_K`{LS)I?sE<YKP_J|G4Dld-rCl{7N3n#~Vg|b^TR2 zs@!4s7Ckuf!@smCSJ4%JdwenW!V5@l%~JVpfA75J9!V!%cD#DF$&dPfx8o7Zj+I@9 z7d~VEX~|#T%~9nyNP8>!B3-tl-hPi~FWR+p?Hwcj*L)2dzkKwSNBTO?`O;DU@W7f} zRene5Pj9_s=8f)kSr>otb;5O7hqD#FDDmnY`|jG9-Fn5JQhwULF<a3$Oq=Q*_V3?k zuaWuorzR8>9PXE;^i=gy_1yOLEzQSH{p;{QOTEsG(d(Qelb*eAa7Ip4eKq?lzZ{a& z|G-BXr(Zt&;~Re8ZSDfRErp+mpQ&~d$+aW0`ba;%L$=><uKeu2r#f#PzB*^?+t&tC zh6_F|ztZ;)eV-ilpV{*-kF7_)A-N?#4(OI;#;3{nhs*akUwUKsi|1xtIO3gwH~r_s z+!1$HH$SmHkab{xdS2$&-(}S=z46-#$xAMMdv$5S!-J+=`o@dFk?)*!;L;;Svop^* z_UR=`kK0~&zx4EpdoO=x`+27fDQd`C|F`Ko7hKbjHRB)OZu<6&hOA@V9QW=Tw&3!A z*)H%M?)=2?V;2R^J@~=}BP_*tw^+x|y7a-$AD_SN;~Or&?9SYy{x=q0I_9Duo-eIC zdTHqQH@|+U!gtwKcW=w={MFMJfA-A&-m|t|cFD}ySKRpdQ}16onV&w_XQ_6+Ami_) zuRT94r#W@roT*>0ly)|?{3U<YZ{do(S+_QtGUWJW^vyDHUzt8BtDvxC+&G*dUL<}u zFL;q!IA9`;{OsLDMmzIPB+0Nxahq!u!|wCD@gqW0Fv&Rs0e@hyy~>YiNfRp=4f|yN zc8W33oT{?}0r#wMadt6%+eKn{Hk5OEc6oV8g}18M8{sCl7keX|V!kgf!>=rQeOR9O z18O0ll()--NEXF`>EwT%qi9>sH`?b<Ov5KUPm#ui<IhLr_+=lqf7}_JFBydSt{fuP zt#54|jCt|Vf48>s*|KjDm*bAZ6S$SM5b+y`M}zlm#N~+JLtKmaTg1x|cfmc_b%-xU z%+v0Xh+7aBAzlc1lM$~(d<$+$Z$|ta;(dsBA?7RFK1bXiu?07`GZ9~ixCHTKh^rBo zBVL5~F~qA7A49wuahDyCgE$c}Ui)TTfw({7iHI{1+pz(gfOs(C5aLY4ixICyyc+RF z#G4VniFhC47Q}d^nQ;Vhf5es#AqVjm#1jxN$J4Si5wAkL6!EKw*C1{}yan+Wh?^1j z#ukOYPJ23HJK}+eha*l#JOS}`#B&h;jCdL1)A1<mTEs&UHz6K@_#ooRh;6uCunh4a z#H$hKBHoI465?b$WI7*l5#kky7b9Mecp2jDh*u*%g!mc6324XH5D!M&gm^UK?T8x@ zA4I$hvGGZ3>k-6#5%<L!h|eD<Bi{1`+5_=**u+*7BVI&|-QFr<#G4TRjCe2NKVmz6 zj2LkRzNlIBHS|PWg?J_8--x&$wyt*|PDA_{;zGpyf@28r@4kUun2vZo;&q6(Bi@7f z5aMqTC*XUO3E!eVh|fYi8gUBZa>OGM*COV3pqC>)h<F|1ZxC-oJoymniFh{RzR+tm z;$*~)i1QI|L%a_0KE&G)_mkZ$Zgydj5jV%yMf{rZ8Sxg&!Z_0G2(#WnTahojmu<v? zPCen4A|EF;4`{@(v<XNm0PW0nXd$GH1C6&BV)JoV&pYX<?a)>u?K;q4{x<nGBZ=k3 z()yDZAJi{jRIsc0bIE26@eVl95)tOFYi;FkHd_vzVzsGy7A17H)fnAcPVaW;oP;j& z^2j*}UFGGmbA%moF;=GIX!;5kr1IjD_L~IS#;tAZY6opO!aqRcBj1)EeiJG8s(BVZ zfXVzTK>G*kH5k`n*`wxlCT%@v{{(GdJ2ZYJavNxHg-AYJGT$N4UIUH4F&>sFX?!Wu zrVeBd2JJ1-#3@WnJx7B^nNhk(ndP80f#%f9Lmk*QwV?6tbCFIPt<@j&!P{C}*@a_u zT@Tvnpta{?{Mved(9YBINxK~a?L5%14T_RUefS+E%6t`ZxI9gtWTZD@%#Zam+BF}v zH673@KwAOY9PowZN`2<DEX)(_wbcsHzUe^bdeHs@+Bv#RTvHc59o!6Bd;RthXxrM6 zDe8~8YZGYfPhmY}{Yg&--3ML&4Ihf7v)n?^`(uu3&pw=g<3Ve$y*QWl>>wZKSI&#= z<!c1(C(zon!7k7`cOdf!Xx|`TdwTZ8fcBquXm(k@CeT*l+S0dQq|c6t_$=r55|rDX z?{Ut*4zx3nKWsl-(so=2kk(#3xi)ZhP?t@h6@Yebj7+xIUeK-t&7spYf9Bev0`&IA zVy-tPffiK{$gv|#fZVB|U5jf=re=q{dDfdOH;eJ<8suLIp7z>iCTNd=CKmiLW64s` zwt&{2@2&xD9cb<8y9Km0ph2}ZwrvLO?hf)<u&!AGT6<%R9kkkZWZF>#>v!|3t*v~X z!jh}mpg3ZKNyvZZ7Oc72(P<878$WHoF3Uhm=s@4KpxHX0@r=jlfOZhHBk<i=+p#W# zKx+Z*Ss2|Ce_F(^$3^Ng7_=L)uB!!qtnZEn?b8lu<)B@GbzOV;xG{LL1KM)X`e6Nb zc01**1MO7M+LO5rwAmfdT0kqs+Ar1y?0@lCPx6~uu{1kqtX~mmJaD(zPLJ3}_IvX9 zz;gq5CXlDE#v}U#c@~4`X~mP+mWO&Qg&v=R2g|cIc3uP8cF+duG&zrK0qrBu+MA#G z&HWvqwKuj{;P|^hYj6IsgZ36^u{NQe!$Etk1KI@8UIJ~rt|zXUF9g~V&<fk3Ee35c z`b2CWwu6`TI~6ppA1z}w+i7EO6Y@{)pidnH?K;q+#zM%VPBu&gp$_sTg60D)Rww4m z0*&A3E5UVapST9J*FcNy`=Wio9yeR8NaNI6l=8^ix1F+>o{3-sZ6e}uSp{bQWD-t+ zYb}X*n_1BMQk?O8ob{nj#`ZX9y}Xn4^G?RcovdFa8jCwyAL(q|-<j9j#NPv*t*=^) z1s3Z)7GtS}*DqN}Z5DqIS*(Av8mq0=XS?7#<<@Vl1|HGE^@Cl=^JEumeOF_CS8IdK zc($wcUtNt&;`(S;Qg5<Zx7dtVZM^>8W?j_HSkR5vFN(iS-K@8EH}-b3{?yI*-c0XK z>bCCI<{rkE-7kNshw*$5UjL^D)9;Aq-zVa&FZDEDj~~9Yr_s=p*U$H4`a$t`UN7sN zy^VW&UH(Nc<5O|HxHqY<iod&hTfay!zVAK!l>}pb0<S+!AoZS;`1hHUtgrMjwwyHl zu0F<+KD=Jvhw1evTkq{_+<mh3<&%wd;`*+>laO9}igm*&#*3$P!u8)ywZ8is<IPj8 zM^81r71wY5#`@>ejGOvd|JKh~-H+EdpJx5X>Bh^aSr49Od?KzNI{lwrkh#@vZ5d$P zHK6}%1B{mk@Ou9M7QFtP+u{)Y=Ui)JqVeOo-S0>=ZcXI%-xEo0PPE=N&{#6i`pQ6K z{XjJHZvKH2oYMb(tj^wxvwj_Ce9rd2xfA|?WDJP=O)p$tU=78Mu(~?e#dW_e&UlC{ z$Z&)7Av~fx)F?z6L~V$>a4txD;;frG8DEp}#ZJ~+Ivej(;=In*mn_D;opHIjvvmhv zU@j7#w^+Zk8rv+CV6pziYTROF!k1R->aIq87bHK|#fr0u4PBV<a98WcHe(~-NB%`u zYin2Ih)CFFv)<j^_`!zcmEEk*bu*so#)R9tTi@<stm%&Ao!zZpbT>W~3IFV2g*$xK z1IbI`tt;b=d*hkV5--l@QIErMeLy?YdiP1jb=F7XjCpa^HxrEe<E%G!GTw@_?u|1( z5Z6D7^oKf;`edi~JKvpPEb3y#yCgPs8G!3=x^$Y`)i~P4itGEko{hhIx>}#K8Hc-C z>uko2HeT<u`H=p8H|xG`#;x6%>&5P!wsbdM?ao}EcW16gdsu(yVQlPS-PXf+Q(Qk4 z&s-1ov_93-*wK@@7WV3NXD?%MFXno-7jqrzW!=!*Xy|RdzqhfhH?Q~gPDA<&2~_tr zxN?HgoWMHXauRC0hJR3Z+nLrh;|lXSz8~TXtjUJ6ecZn5KuG)<$S}lum2t&|bQAc} znQ<r6m*_`};;es(Gal&Jk6K$F-EFZI9O20kbu!NYc@5_ZhjIX7zl{0SVB&c)=A(<m z%`*N@#=O1E^d2%kRmSJbI8DZtGF~p@M`g_KEiwNqGX6ov{E{KlXUO<98TY{6f$3++ z*eT<yWIRpAH^}&L8UI7ZAIbPsn2&N&Wz2W}6Z5wQ81pv;81uIY81pv-a71Jbf5~Fw zT<yclOTPQL)xT)2h5f`>w#0(-8_W|oS!`f6Z0Ex!h<Q5@vx4}b3dVB0O&nD;vhas< z5x&-L@K)fl7c4ejA4H6!5Rs4bJ{#@l)>i*uq@(HlEDOh9{uO^W+Y|7A`mDl}1S-Rg zsLK+B2N9k@*od$d;Uk1^5IVgKT@cPeNI@8ZP=rv55J0#QVF|*62+tsFMA(Y(5yCeJ zop2u92jLuq6oe57MF^z`0fZY7mLNQc@C?F6gsli4A$)_-319K=gK!Q)3c?74B7{<e z0K$z3OAsDJcm`o3!d8Tj5WYd^gm(+|K{y8?1z`k25ke_K0O3Z2B?u29JcF<iVJpH% z2;U$GJK=XlF18OERWSYnds<RjQnEcIIeA!edUA$+P!VpGk9LR5^dV^%82k~EU(D<< zB@azWkCyBhlG0Z4|4*2YZ;hnjtjZ7`o=6IY0%lyHu5eex6R0+ls{A2O5`Lp)NXR`! zBK*F0QYnACcZj##NFu@$3Kd3D`K&6)GviReq)hh&`1C^*aDf)^_{eWwRQp0klK9QX zq>u+s86-^x0Ljl^MmLf?6|Tv6e!=6aC`V3(AhN8?<(XOLsSdfIJRb8%D#J~jAQUj8 zsbyeCA?`|V8Myrrj6X@DG*fbE5Zw6fuSz^-q59l^6Z3q6V-ClOw7C{r8i3dX$jqei zb1nk6oa7q~zR@7qajiZW>cod@ZpBvtz6$UqN*W`@my7G~F}6@1$F)V^TMZ(|9Dc~h zP=LU(jeH#Mcu!;!21ky6$Rc<+?p=w%F^_y4AD3ZZ<G83k<mKl&1deUw<G8j0zoWsj zRk=)On1;Zykk=d!2Va8oKwPt2@=`Z`W+Py`BJyxNJqSMPqvVl~oqHaF;^X*x418G- zPCkzHif<9FsVmFj_&*#6C&{>0A64$nNKkw}@cF>ESP?<vCBqVp&%itJjU3D;sI&S| zSALcugymtr@y#*!D1wMTO7wk_k9JuIzJ=i9K2Lqrfd2>*D35%{@KpS<n_x#ako+il zYk?Ktpzc=Npj)v2V}r|&;(G~L@$u;X(CyG!5kXUzO_GmAEyDb>=x(z;0L4e~y$?ir z<l}q&mxE8~PDaJI2iJ;^FYsRpK1I{{J_cZ$Q6A^LRp4tuMyBz@Jd}SBLCIT&`FYv$ zw(`jPwZ_MJd^z|AGo$>Fhv6uKlD8SJX54&lTX`Z2m{>mb<G0kdfNvWePk!t&wt`P9 z#vmWxX{tWzlIsV`QlGB(8wS4#sy^zHF?~RNT2{iJ&%*sKB%B2z>p&l5-_YgRUqL=@ zgyl!cQ&^8VZV~fUZTxV2V%%Al%yG!XW(gc`Ow7{FamB=DujTk*Vzc$s`lquP+0604 zqzg8&jxsT8VXm)CY<3LxV-uT>&Hid)*#PX9_;fbJ$&6U<nOK|*iGF5caVJCcCli~! zm;J`XY!%%1LH{r@S9fMVFtItZ)89>Oo>0)QO>C|n)w->-aVnDy`l(4bA0(qcnwTdU z*c8H_OnjQa^e+>iF0lI3**GK0xA03>t+W99DS6^B^Du|fFAl5LLBLACIIM2dfs>`Z zI>BCJfW_}{AdW-siHNK57CW{qaRuVV8o%yGET5C*GOhf%z%9~#aab|m3apoZ4{#R7 zJw))Xp2pL>kRQr>5!ZalAj@I-TM+Z@f(m~K%vTFi0O`jNfAyZl#<OM0V;|=$2u*r# z<1*lTTk))e;O}jW#>IUa=4&-p0GsvgZMcC~YPbq`m4^QSyjsJ2Xn&1{?*d+{;lBc} z)9_m0^%`yjZq)D=;7uCd0lZnmp8;>tFz-<|0jv62F<5NZ@F~E1H9QcwS<62Z_@IWf zfm?tf7WVCJ6a#;)VSaz(8x79}{#L`c0v`fa_Iwcdh=!j6KBnP~z?j9u{9A!78vY2_ zrr|Gu<28H)I6=dmFhup$aBtv#8a^GkzlH|_+clgDoT%Z;fCm99`(6p0tYJTJriK>+ zXK8o^@MsP5B}j!D-U>WH!~1|IY4|X3g@(Jsu+<v21JBfOCUC8Wd7p8ihRc8#Yxobq z%QXBK;1wEv1bCH(*8#85@EgGEH2fiOqlUi&-mGDsNHuBrY~bx0P6FPm;Y)#=HJlIJ zqTy?Rk7(EjY-s)e55P7J*8?YL_#WVX8h#YmuHkjSgEag)aI%Kq1J2a&r@&bn{vLR= zhOHQ<3N_phc!Gu<z>_qb3tXY$iNMtwo(eou!+!v-)$lFA3pIQ<@L~-=1H4SbuL7^o z@E+h*8a@oXM#H_aSy`vy0l<wK9tyl!!()M)G<*&4b`4Jj-mBqRz%3fS1^9@D?*leE zMf&G@V4H^D15VKJA>e)*?t_kP*KjiMAPpA)Cu?{TaHfW<fwMIHC*aW<z7@Do!}kME z(C|~hlQjG?aD|3>kFHw7p8(I)@Q=W?8t#rI)ItsS1757*^MRLXI1_k<hQ|P}(r_8@ z8Vv`5*J-#OxKYFR0dLmu^T16SZUWw}Vcu`st6|*ZFq$>o2TQ;f4WA2qM8m0EB6g0n zzZ2M|VexyU8m<AopN8v!?HYanc#www2Ar(nSAjD%{627&hH=zxjMgx3mKSQc50<bK zG<+`bBn=M(uF&up;A#!?UfE0yUk_ZX;hTXMYWQAY+{y~iUrz%s)9@?6D>VEL@G1>| z2E0bY+-$GYFrVRT)bRPhn>9QPxJkqLz}q!^4e(wKUk}`@VZPg>MZ@<1AJOm{V8arr z-y6U-4eta_(D3)b{WKhpErVUd7XlB`@JQff4VM9DYIr(umWFQv9<AX!fD1MJIPe4w zzY07_!=C|HXt+DJFx48q2zaK3M+4VtcoOhJ4bK5ytl`^%mudJJ;1wF)0=!DYp8>DY zaCdB>)@gVUaHEDt0&muEIdGGPZv@`1VSdMEuZCX&Zr1Ql;1&%Z0p>lD{v7tP-tUVo z+!4^R%rLlKb(&i`Ag&|L{RF?aYp!R_{RF?Tt1$NuM-N+UC5S1H`-N<rx0rNuzc50> z+%Mz;tMa&C7_DLM7xFdC{X(IJxnC&JF!u`+G|c_NH5%rAVUmU$fy*__{X&I?xnJ;U znEQol4RgOR6ByHmuow3WwHoGrVWEb(Us$Z==YC<ShPggpreUtnmur~o^A#HA`h2B^ zxjtW|VXn_tYnbcvH5%sne65CsKLV@z2!GVD@J9^`f7Gz>M-2;q)UfbJ4GVwN@C5i9 z@7G27Bk0OM=74^&+V6JiY1{^^_UlHclZ}-z_<3M;J`mTbpMe{e;yet^WyEzl)p!q> zKelP&zQ)JEe51RGdmAmlJHE5nYLU<f{@fo&8iNnuz6$U;z;^(jx7T9h$p!KIzytPM z_*jR)1vv8HZ-4R`U*<1Hd<^+{@<Hq~k3@iop&S0J{lQ`zh-=FGB8J{wI}9gj5O6Kd z7pU+_*uM{pp%=&CS-`KNzmuQx=K>%7K2pEO$uG|*sNXX&`QM1adx=qhrSG}s5e^c~ z`V;^!*7S1$^Zubp?`3#^`8%mt)(d;o0B>ow*v<r|e$NBn^dZi>CGLVFp_e|1*moN6 zh&>U!0C<~b-}`_!e`>MuxlzjNfg>dToB{ob_Bz`<QUWsdy##na%2(~XCWgKlI1S~` z0YByC;|NNfHzgRS8CL=Gb=<fKFXYb#-XhPR5-@(=1f2SLMBkr)XJfpq73KFd__K`b zr9CKr2JkZIqx@;7dBg>7Q{Qi5aFTiC6{hC^zX5$!ebxa#0{_A^B=kQ7+(YwMFAlu; zs|(6LHvq52_)dY;|3=_Ln*BcnRv$Yqz635nd(bVY|H)^dJoM*r68nI89=8aX_MZow za4^yzmII%DG?M>2;H~gi<qruQ803fk?*RS|@+aV$<y8RhK>gr00zVqV|0ytkM28}n z{~`#U4tqN!{}aFywf??`1<Mclj{={H_G2>3%fP|$VAyY!#18<+Lw_tg1bq(=mf?S! zC7y(b3Nti+odv8ul-~gSFwWnuz%~2d6TqLs|7m8H_c}0t@q>BD|9(vV{&swi;Xf7| zrggzT3s`-~zsQbf?zH?*05?Nl_CLxu1{g+?X8+;9y8q??8}RSph}eFUiRFj#{}h97 zkHPQ8;KRVR_)!EUuP+@{ekgA+@J94!Ec=CiH*0h|((VD~kE-BO*rQRSGk+8Cm+%MG zUh(H*T>|^3g2wuu3(WgQroZ<#E(BH|<{u5LzS~F9r7`pX@FN)iia?{h4}iaf{X!D| zJ`vyDfq$z0unbszDE~3w5#S$>Yv#9OAYFm}7Y9uHrg31EAMzIgH*4eDv>5suG5C!0 zP(N+_9Sp2Kls6K1JN!%e>pb9Et$iN?K8XHK15>}<!2C(;iNN&FFMu1h_UnGWl5V!g zS-?}Z`n!Pn%PHhy`7>hpZv*Df8z}lp;8o~vC`Oe3Ch#(CeA)v%QJcSd3}R06L-_-N zcYw}rLVd4}q1OPb`yqXBXZH^=^d-QHU~e1pv;J`x;6khK0Al%Jd0D_qp|5IhFYq93 zynH=|e|rqx4}2N&)6H1k*b5C~Ec{oEZ#M$3f<9JB-w3QeEPq=J{t~zm_OgRUe~SC9 zVQkRmlbOKk!~D<1;17Y9Xzf?XiCBKfzXW&{{6W=sCvYc>KdQg=8iMgsn_uPws}J+v z7lWS!E=B#-czjBd;x_%I2>2-EVOkLOxf^(kW{(}f1;Cd{`p}Ca^RpfE^9W$|Vfij# zz8sEe#D9&UZvnm-{hQs2?ePQfN^N~|Nix0*i2kGK^MTce@*V_!6Z4m9ug7EPjleq& zMdtqlz@?f!&!-{ehw?lzcn<J#tv@sXXKDTSDd1%oUkZ_z`rA{KG_$^bU_07N^{;;d zPeOg2l0OLpWhur>epih71Hg%xulc+_`_lu!Z=t=emHb}=s}J?<l%|kb-dVs)(LN_5 znerwBA3=HDC4L=v4f;z@iBC(1Pouq+e$#;$Y2)<*VD({n55(Ygz+b`ss=UoH^k(2I zQGb5#iuz2?P|{3&p90R(`ukhJ{k8s_G&Gw3X5c5a`ZdSUjj})}7^;~(IjPKWxpGRz z6}j^Bic4HBpxh{QMUF-)_q(R}{H1Q6OFV(&a@WknTUaWqeR$1Gc~bhY6o)~A%UeE^ zDAh0@>nX3PtemCFaTer?Vn!Bak9E2fVlnDEQi^!oN0g%8c#~8Hg(nt=@-tm7uU|Y; z<eHf8NS$(}`5aPCg{N#9I118p@<%%h^Bw6PpQkJo@K?FYD%^o79w&%t4woy)*V2@^ zD8cLYd1s54)VT249ap&rk4V*sSLwKty<SaNx~JM#6QqRv^l2qU<Hc3Rw2|5Q#o}_< zw6X4)<8x3BSu%+<;H^@?kt`UCEBt{FIYmAl;d||hCZvqd!{bX}9Lju=Yj2gjHVe-8 zS4{~QtO0M80uF~Lm@p%atfnT>*kqUVlxZWpp<tmWFk)87!yM_;3JS*+i@Yh*^6&`R zNPl34J5VlCQbo!LciFUXQrfg))G|9*=BeWA00djQNXzv^C8kcx^%wX<c%x1kUZ_L9 z%xQVS9G|~Rl<P>HHX`7zDytY*Iu#8n<Rr_a>?(MdtW0%;o-u8FRnQ|?Go}>=@W30n z(x>HBP4=7efA0?PH9Z6w)5L2E%*zpY#}B;-EmJ%zs1Ziuc{LvhVfRX|#H$7Hk{=j? zE)Y(4MAB0_BBVwUl3^jfE~t&9NP3K<2q8*RdK(!TA|)!fnG}_8*fg)t-zG0SL?uTF z(9)x%WK_EYK~Gt9)$n{?psna(Rqm>`shRGoDd>RyN?k<yWKW>dtEZ%uqV4pAVZ!3= zq@w89)J&G#Cb8OE)+RBfDoT%(nrK)V1yd_4qih5mWt)_;X!f!g_OfVpM-+ETG;>Nc zZ_2bN=G1A?+`!SAR7bT?MgZ^Xa7UTbVR~>|LPog<ue=iDsPgt<K{#z238_fZ8z`+Z zCLtvl(CMiVtYb$qTM548uZohB(Kbmc+dcv9-wq*}t=%>~y}}a+&DPZr-J)%3rDuw} zO=?P2P|xa!LMfF|FwNsC&eOSv;-y{afTenx1O0T0TTNlp{k~8XHKjvJ277JC)G6NM zNX=ktcAU4`6Y7wfJ{5I{@{QE7o-1{oQ=(z&v=}@p2A9O(!f2eydh+FGdKqc43Fg=k zo0>8$+TWs3N@WyGo8b;c**>GnGb7}W?lQ?0o@!UMJ6PuS>FT6nq|vb>*&V9%2dm*e zQKrgpS60U)Nyl!V0LN~JAbL&P^h`QZtOE(_#U`f3CZzf+qRg8<*&Wl99p*IHZaTDV zlP*U7wyErrZBo-`c<>fJ-G1pIPtfO%N}1xW2}boU(QDhJqIXvXX6ZRIrg?nRy;04W zR_Tv+;bEnovg>QmGEuFXURD$EMztT^E=ss^&Zxw&FUF?AP_Y7rmSI8aiK(lv22Zo= zbx8Hq%+&Evcu@`(6MCA%fy9yue@ze)qX@|$jO8LG+L=?Tqo&*R&<uZcN=Aj-H#s^f zwb~ms|7B)R_fK(`2mE@0L(5z~@05xt?S_@Pg4fr$1D+_=GAmqo9aB}=G(Ee+QGxE% z4k4ZCQL~yORV1}1dYGrZR7Zvy^<0(iV9-?-RU1c|e2rmywDc-Zjo4+hLqxx>iIJ6x zB)wLtl{Lva&h%6VF|budB|0$NSGq7uRQs@K)!9>$@r4RhN$gu{0v<3`1*0sS;wbZ> zO4#w3RdjK_Huo}W7EehH*FFb(It*?upQma{s6sEv;TYks2(*(MgPO0p!tDx_`C_al zJjYd8meQ8ynC2RRIc;_&UVIr<N_ufgp{vBh@z5PYg`$WlBo^|uo3WJCX`|f1k_wP2 z{Jtn(N^#UwdHG!xkE_z-uEHj-D(DT#E|@<qCp$mikx}e*O>j9~F#@8fCC8y&b=<sH zxsH=J-+R2gpmvluJtvsgVOBwm&N(W7+=%Ramn+YO%}VB#*+qHTBl4Xo6CAWKwouqs zqs6iPDR=R0veP}T>gmpu<hH5!{*QWD+*o&&dx|F@w&qdt9qBPFIVsNRI0x`%WM(8y z@q}E}Wv);~P1Urd(wR)gUfkv88{k~nEJi0_yUx9`6hCg{$YLidM%{5_k$Y7^_Sn1} z<Pc{U;d6wb-&KL(&gbFItc@~`VR>rv?<w;8L*f;9)Nf)zaVXPORO-U3UOjom!QxO_ zwc8uW8&e!CEJ!UV%pP{7s+ZGQ9C9SPibc<H1Veen=`JLt`QV($=`41O6sN=C8tbaA z3Aw8L<sN4tGNq~lM3UfQ$zwno8YX$U62pN?-f>lMdaidCjVaE6C4L3fGhM~5>26;Q z)TVM_!w9`yrS71|;M;E7HF2(JZz|=$evPA#cQOVkkGnFj3~3G?$-v5P95LjTIi0x< z=k%<sQTcfzawbf0r6#4B6-upiSHqZXY#(FiNGlbmxSURBdZ}j$W_CK9&s&NahAxDG z-CHHgaHS+AgIG4x?Gmi6GIyw~A}b4p<NI(f2M!%!(AZ8=P#ny0(B8pVRYlXmp#%OI zunRhn&*v{|Q=zIEQwxQYwROm$IX(}TihL(<VFljrTo$DE()D3Q7TiW&fg`m<Kl}oZ zII}7a{X)B?qVt*E0KT4|StMU8o#Mb%dDN>O`RZk7G0$o=D^283BEH`z?OqnFk(iE< z5^;PnNxA+@AFr-fUGo=K%i-|(XLtgxQoe7}S@dgl7e@+udVmWYEb&98&W>b`FXL)L z7y*Wk@`U)>ZAoc=g!~n{u_FU|d2t?wK7gqZ>sk76x)?LkM-^okj?S!{#aBr?a>ZoJ zws$0(Z|%<a2kCmnL9clndcudt42&_;JhRLZCgLC*EW;yXTFK~?k<g-WOj)r5C(Pye zZ;lV)A?XB-)oHMl?kgP(*Tqg(5j4RF!ta_!x~U_jD7zqc+*oJ9sJsFv5T+oUW>sM@ z;yT8K@1#bUPq-;#hU*TD*>>zni;O*d>$~Zm!!YkxVeL9|rXv;mU2{Z}6H=QQEHeJK z8L2TEn^XU<;n<v7eV)l$e=GL;f=+Mj@ciG-LhTN+Q9~g)eihe?>IY%B)@E8U!T;|I zgkMeJq3F1@y;#z8pm5aalETqNtnS2GC!FQPbltR|ceWT=T~jKteKBWzxhy))8jkCZ zU!^^zU@TOyYYVk;$Tq$3S5riD0IxqNR&B$o1Ni+3es|woFJM7~6Ua&&-;0@{oz+dX zuf0_pmbh5D6_@5=J)Z0;ak$L2C>D#U!t%dpMT?PAt!S~T3VR8*ZDj!uzs%1uIg-qY zLR2c&#KocX$+%@#(VpU117I0$E=w_0i&d$pgA;3mSV0&(!o{5!U)9D>FYch`6%TXe zmnJ)%NasW?Z%cNxPDn``!51{(r#5i&)m$v%(2*-gxv<DAk-HnL*vcUc2Lcf%`2Tvl zw&lceAiAG~x!HM4W!O|^HY61>wKenN0>_gjOMnVY!u<W7?v`ZB658N0^XfQQQs2%w z-Qd$R2pS#d36X@VEsTnHY6v;9sHBzSZ1w)TH&>6%!uaVZ6Cy}pK-Goilo=o&TED_Y zzCW(+Jq(|W<)tU{RYC7jfw3}Rdg^`;lnElsDT@`e50D(nS?Nshg-tap5Ko_41$@1j zfvS#j;HiMKw}t8OF`Ph{!-5)P#o#}U=jBg_Lk^{9x53*_Aj;%#y(S6k5Qtb#3Tp1t z@HmK(|1J5qMR4}O$J5Ef^|!z7luE{;4$f%EVE^}0tE|arrhigiGddH5Nq<H^Pv5wT z6@7##kBSv~R{<_qPvXzdA=5f*#+!WxYX7?2UXrx^b^VTI=MUu$3NvhUbp;L%hKx$x z;rVAT^Fwax^yfD`?g^{|iZ$tzC6h@6uc=Z)%3|c(uFuTTyVF;M#S^eRJ*yc~`Nf9Y z;L~PL9*o%fvCaQ^XIQWs&$nA*#omE#wN?h5z9?6X6{Rye+x64gs(O>s5*axM!X6>@ z@l?#_m*nUpj7Xl|lAm*6Aau&Lv2|tHj!SQb{Xkel1VuJtb)Qi|GewlTrd3W)5-jxw zB0CvgYakw+)3L7hDQ<>lUxr|a;HO%CMl{s12-HA;D>clKs|j7Xfx!0uP|g@`;KIzF zDeK(;1>WJp3y_odiFWJ#Z>$SLd73LOI^M0va(y(9LIPzl;pC!$<j*P{i5TjLtI<!D zx=4zK=zXL+5so6mIZv`#Pf3fb7X7#LCxdfZy0HoNrhX#VS!_fmIU+UcT0Srz5|w?W z)DAi3D~nCVVxBMddm0adAysM=ZI;*cTC#50th?UFBne);V%6_}D62mYaPF`)j0b_t zVydwQ^Yh1$FLfN~ebNRHd-;?I0_(A)UWB|4m9SB|l}-Do2d3K8bZNp55mL!&_F3{V zDS4vN0tOWS>T@*NGM&i;+~aB@I&=3>*qkaiGbobP{v>XwGIrV+sE8h{?kbr2ia<bN zmN2heJH>n<I<mjS*fv0h1eZCPcYZD;y|MCplppX>)p+Z2ZRjlJQS1Db;N!(eT}pOq zkU0(2I}-}1q(q0WR=Mg!Whh<la;`+C%2yH9)*n)hO;F9b2d4I`{qah>Ks49H3hj&M zbcV2LIW>@WLMXwrv!QkP<1^g}|FG`SmHt49(anj@N-O7dE+5refWRecaeJtRnTH#w zlLegsj4}pyUeI3K`hk&{WB*@MU1%f!lfoyNKA&;|GWGUHL+H=0z*iUO(1Nh*COEdj z4KbVrQgl!-J6U&fxKPkr%*mrp`Pw_3E|LOHSOmHDJvbu*!5LekqYPah45z%9W*!Ok z_kTX9jq-sl2_>R_p!JhDtsn9dADUz=i3P+k>cXE&^|doOu3xE-A5PbU+3nBWzTcqv zwi@-PGA!fZ(@|YXxSq>2>KWp{8Z)TtkK|xDUwFwyb%XQ`Q91M15?}uy(z7@s!IG<~ z-=LpXZR*zEIF^1W&2WSgR?1R#s>^9hk6#`TeKMNid2GC;9!p~}cyz&ib@~Pi7evmi z6fl`#7qGCdDZ3GkMF0<b^@l?y_LQq66jMVQyucIZ=ms#z>b`C@Q%Kl$QDlw-h!FqI zBdr=lxw*q}<7+Va&t1vQ>kJan<`vUZNg}BIl4eH4JZeYK%Cn5Y_v?3a8*S%H!KYq? z<bke%Lkj-kOcKz@Q$#R^?u*6Ar~&-pLQev1F!O`RYYqVo%FU0!ww(;ww`}cf>5()d uJ3xeN2w6R_T2H)bG?I{32yI5xn^=^e2v(BbV`=fqJ%BAoIWN)or2hco2ZRy; literal 63901 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 Y%km@1N^-I;4PUtfvE?l1Bl?l_7vC<JZU6uP diff --git a/NPAnalysis/10He_Riken/include/ObjectManager.hh b/NPAnalysis/10He_Riken/include/ObjectManager.hh index fe9f125c2..a574b5198 100644 --- a/NPAnalysis/10He_Riken/include/ObjectManager.hh +++ b/NPAnalysis/10He_Riken/include/ObjectManager.hh @@ -26,13 +26,14 @@ #include <TRandom.h> // NPL -#include "TMust2Data.h" -#include "TMust2Physics.h" #include "TPlasticData.h" #include "NPReaction.h" #include "RootInput.h" #include "RootOutput.h" #include "TInitialConditions.h" +#include "TMust2Physics.h" +#include "TSSSDPhysics.h" +#include "TPlasticPhysics.h" // Use CLHEP System of unit and Physical Constant #include "CLHEP/Units/GlobalSystemOfUnits.h" diff --git a/NPAnalysis/10He_Riken/src/Analysis.cc b/NPAnalysis/10He_Riken/src/Analysis.cc index 05f742398..fff2be80b 100644 --- a/NPAnalysis/10He_Riken/src/Analysis.cc +++ b/NPAnalysis/10He_Riken/src/Analysis.cc @@ -24,64 +24,50 @@ int main(int argc,char** argv) // Instantiate some Reaction NPL::Reaction* He10Reaction = new Reaction ; - He10Reaction -> ReadConfigurationFile("10He.reaction") ; + He10Reaction -> ReadConfigurationFile("10He.reaction") ; NPL::Reaction* Li10Reaction = new Reaction ; Li10Reaction -> ReadConfigurationFile("9Li-dp-10Li.reaction") ; - - cout << "!!!!" << endl; // Instantiate the detector using a file DetectorManager* myDetector = new DetectorManager ; myDetector -> ReadConfigurationFile(detectorfileName) ; - cout << "JJJJ"<< endl ; + // Instantiate the Calibration Manger using a file CalibrationManager* myCalibration = new CalibrationManager(calibrationfileName) ; // Attach more branch to the output double ELab[2], ExcitationEnergy[2] ; - double ThetaLab[2] , ThetaCM[2] ; - double X[2] , Y[2] ; - double EPl1[2], EPl2[2] ; - double ThinSi_E ; + double ThetaLab[2] , ThetaCM[2] ; + double X[2] , Y[2] ; + // Exitation Energy RootOutput::getInstance()->GetTree()->Branch("ExcitationEnergy",ExcitationEnergy,"ExcitationEnergy[2]/D") ; //E lab et Theta lab - RootOutput::getInstance()->GetTree()->Branch("ELab",ELab,"ELab[2]/D") ; - RootOutput::getInstance()->GetTree()->Branch("ThetaLab",ThetaLab,"ThetaLab[2]/D") ; - RootOutput::getInstance()->GetTree()->Branch("ThinSi_E",&ThinSi_E,"ThinSi_E/D") ; - - RootOutput::getInstance()->GetTree()->Branch("X",X,"X/D[2]") ; - RootOutput::getInstance()->GetTree()->Branch("Y",Y,"Y/D[2]") ; + RootOutput::getInstance()->GetTree()->Branch("ThetaCM",ThetaCM,"ThetaCM[2]/D") ; + RootOutput::getInstance()->GetTree()->Branch("ELab",ELab,"ELab[2]/D") ; + RootOutput::getInstance()->GetTree()->Branch("X",X,"X/D[2]") ; + RootOutput::getInstance()->GetTree()->Branch("Y",Y,"Y/D[2]") ; - RootOutput::getInstance()->GetTree()->Branch("ThetaCM",ThetaCM,"ThetaCM[2]/D") ; - - RootOutput::getInstance()->GetTree()->Branch("Plastic1_Energy",EPl1,"EPl[2]/D") ; - RootOutput::getInstance()->GetTree()->Branch("Plastic2_Energy",EPl2,"DEPl[2]/D") ; // Get the formed Chained Tree and Treat it TChain* Chain = RootInput:: getInstance() -> GetChain() ; // Open the ThinSi Branch - Chain->SetBranchStatus("ThinSiEnergy",true) ; Chain->SetBranchStatus("InitialConditions",true) ; Chain->SetBranchStatus("fIC_*",true) ; - Chain->SetBranchStatus("fPlastic_*",true); TInitialConditions* Init = new TInitialConditions(); - Chain->SetBranchAddress("ThinSiEnergy" ,&ThinSi_E ); Chain->SetBranchAddress("InitialConditions" ,&Init ); - TPlasticData* Plastic = new TPlasticData() ; - Chain->SetBranchAddress("Plastic",&Plastic ); - double XTarget=0 ; double YTarget=0; double BeamTheta = 0 ; double BeamPhi = 0 ; double E=-1000; - // Get Must2 Pointer: -// MUST2Array* M2 = (MUST2Array*) myDetector -> m_Detector["MUST2"] ; - // Allow directe acces to MUST2 Physics event + // Get Detector Pointer: + TMust2Physics* M2 = (TMust2Physics*) myDetector -> m_Detector["MUST2"] ; + TPlasticPhysics* Pl = (TPlasticPhysics*) myDetector -> m_Detector["Plastic"] ; + TSSSDPhysics* ThinSi = (TSSSDPhysics*) myDetector -> m_Detector["SSSD"] ; cout << " ///////// Starting Analysis ///////// "<< endl << endl ; int i ,N=Chain -> GetEntries(); @@ -97,8 +83,6 @@ int main(int argc,char** argv) { ELab[hh] = -1 ; ExcitationEnergy[hh] = -1 ; ThetaLab[hh] = -1 ; X[hh] = -1000 ; Y[hh] = -1000 ; ThetaCM[hh] = -1 ; - EPl1[hh] = 0 ; EPl2[hh] = 0 ; - ThinSi_E = -1 ; } // Minimum code @@ -123,8 +107,6 @@ int main(int argc,char** argv) myDetector -> BuildPhysicalEvent() ; //// - - /* // Target (from initial condition) XTarget = Init->GetICPositionX(0); YTarget = Init->GetICPositionY(0); diff --git a/NPAnalysis/10He_Riken/src/DetectorManager.cc b/NPAnalysis/10He_Riken/src/DetectorManager.cc index 9141ba79d..49447f19a 100644 --- a/NPAnalysis/10He_Riken/src/DetectorManager.cc +++ b/NPAnalysis/10He_Riken/src/DetectorManager.cc @@ -7,6 +7,8 @@ // Detector #include "TMust2Physics.h" +#include "TSSSDPhysics.h" +#include "TPlasticPhysics.h" ///////////////////////////////////////////////////////////////////////////////////////////////// // Default Constructor and Destructor DetectorManager::DetectorManager() @@ -26,10 +28,11 @@ void DetectorManager::ReadConfigurationFile(string Path) string DataBuffer; /////////Boolean//////////////////// - bool MUST2 = false ; - bool AddThinSi = false ; - bool GeneralTarget = false ; - bool GPDTracker = false ; // Gaspard Tracker + bool MUST2 = false ; + bool AddThinSi = false ; + bool ScintillatorPlastic = false ; + bool GeneralTarget = false ; + bool GPDTracker = false ; // Gaspard Tracker ////////////////////////////////////////////////////////////////////////////////////////// // added by Nicolas [07/05/09] string GlobalPath = getenv("NPTOOL"); @@ -52,7 +55,7 @@ void DetectorManager::ReadConfigurationFile(string Path) while (!ConfigFile.eof()) { //Pick-up next line - getline(ConfigFile, LineBuffer); + getline(ConfigFile, LineBuffer);cout << LineBuffer<<endl; //Search for comment Symbol: % if (LineBuffer.compare(0, 1, "%") == 0) { /*Do Nothing*/ ;} @@ -94,15 +97,15 @@ void DetectorManager::ReadConfigurationFile(string Path) AddDetector("MUST2" , myDetector) ; } - /* //////////////////////////////////////////// - ////////// Search for Add.ThinSi /////////// + //////////////////////////////////////////// + ////////// Search for ThinSi (SSSD)///////// //////////////////////////////////////////// else if (LineBuffer.compare(0, 9, "AddThinSi") == 0 && AddThinSi == false) { AddThinSi = true ; cout << "//////// Thin Si ////////" << endl << endl ; // Instantiate the new array as a VDetector Object - VDetector* myDetector = new ThinSi() ; + VDetector* myDetector = new TSSSDPhysics() ; // Read Position of Telescope ConfigFile.close() ; @@ -110,10 +113,29 @@ void DetectorManager::ReadConfigurationFile(string Path) ConfigFile.open(Path.c_str()) ; // Add array to the VDetector Vector - AddDetector(myDetector) ; + AddDetector("SSSD",myDetector) ; } - + + + //////////////////////////////////////////// + ///////////// Search for Plastic /////////// //////////////////////////////////////////// + else if (LineBuffer.compare(0, 19, "ScintillatorPlastic") == 0 && ScintillatorPlastic == false) { + ScintillatorPlastic = true ; + cout << "//////// Plastic ////////" << endl << endl ; + + // Instantiate the new array as a VDetector Object + VDetector* myDetector = new TPlasticPhysics() ; + // Read Position of Telescope + ConfigFile.close() ; + myDetector->ReadConfiguration(Path) ; + ConfigFile.open(Path.c_str()) ; + + // Add array to the VDetector Vector + AddDetector("Plastic",myDetector) ; + } + + /* //////////////////////////////////////////// //////////// Search for Target ///////////// //////////////////////////////////////////// @@ -200,7 +222,7 @@ void DetectorManager::InitializeRootOutput() void DetectorManager::AddDetector(string DetectorName , VDetector* newDetector) { - m_Detector["MUST2"] = newDetector ; + m_Detector[DetectorName] = newDetector ; } ///////////////////////////////////////////////////////////////////////////////////////////////// void DetectorManager::ClearEventPhysics() diff --git a/NPAnalysis/10He_Riken/src/GNUmakefile b/NPAnalysis/10He_Riken/src/GNUmakefile index a5a252fca..8241a5d3a 100644 --- a/NPAnalysis/10He_Riken/src/GNUmakefile +++ b/NPAnalysis/10He_Riken/src/GNUmakefile @@ -18,7 +18,9 @@ CXXFLAGS += -I$(NPLIB)/include LDFLAGS = `root-config --libs` -lMathMore LDFLAGS+= -L$(NPLIB)/lib -lCalibrationManager -lVDetector -lIORoot -lReaction -lEnergyLoss \ -lMust2Data -lMust2Physics \ - -lAnnularS1Data -lGaspardData -lPlasticData\ + -lAnnularS1Data -lGaspardData \ + -lPlasticData -lPlasticPhysics \ + -lSSSDData -lSSSDPhysics \ -lInitialConditions -lInteractionCoordinates LDFLAGS+= -L$(CLHEP_LIB_DIR) -l$(CLHEP_LIB) diff --git a/NPLib/Plastic/Makefile b/NPLib/Plastic/Makefile index e5373baed..06fc2ee60 100644 --- a/NPLib/Plastic/Makefile +++ b/NPLib/Plastic/Makefile @@ -268,7 +268,7 @@ GLIBS = $(ROOTGLIBS) $(SYSLIBS) INCLUDE = -I$(CLHEP_BASE_DIR)/include #------------------------------------------------------------------------------ -SHARELIB = libPlasticData.so +SHARELIB = libPlasticData.so libPlasticPhysics.so all: $(SHARELIB) #------------------------------------------------------------------------------ @@ -281,8 +281,15 @@ libPlasticData.so: TPlasticData.o TPlasticDataDict.o TPlasticDataDict.cxx: TPlasticData.h rootcint -f $@ -c $^ +libPlasticPhysics.so: TPlasticPhysics.o TPlasticPhysicsDict.o + $(LD) $(SOFLAGS) $^ $(OutPutOpt) $@ + +TPlasticPhysicsDict.cxx: TPlasticPhysics.h + rootcint -f $@ -c $^ + # dependances TPlasticData.o: TPlasticData.cxx TPlasticData.h +TPlasticPhysics.o: TPlasticPhysics.cxx TPlasticPhysics.h ####################################### ############# Clean and More ########## diff --git a/NPLib/Plastic/TPlasticData.h b/NPLib/Plastic/TPlasticData.h index 5c32fea62..ebd2eb3f7 100644 --- a/NPLib/Plastic/TPlasticData.h +++ b/NPLib/Plastic/TPlasticData.h @@ -12,7 +12,7 @@ class TPlasticData : public TObject { // ADC vector<double> fPlastic_Energy ; vector<double> fPlastic_Time ; - vector<short> fPlastic_Number ; + vector<short> fPlastic_Number ; public: TPlasticData(); @@ -24,25 +24,25 @@ class TPlasticData : public TObject { ///////////////////// GETTERS //////////////////////// // (E) - double GetEnergy(int i) {return fPlastic_Energy[i];} + double GetEnergy(int i) { return fPlastic_Energy[i] ;} // (T) - double GetTime(int i) {return fPlastic_Time[i];} + double GetTime(int i) { return fPlastic_Time[i] ;} // (N) - int GetPlasticNumber(int i) {return fPlastic_Number[i];} + int GetPlasticNumber(int i) { return fPlastic_Number[i] ;} - - double GetEnergySize() {return fPlastic_Energy.size();} + //Mult + // E + double GetEnergyMult() { return fPlastic_Energy.size() ;} // (T) - double GetTimeSize() {return fPlastic_Time.size();} + double GetTimeMult() { return fPlastic_Time.size() ;} // (N) - int GetPlasticNumberSize() {return fPlastic_Number.size();} - + int GetPlasticNumberMult() { return fPlastic_Number.size() ;} ///////////////////// SETTERS //////////////////////// // (E) - void SetEnergy(double E) {fPlastic_Energy.push_back(E);} - void SetTime(double T) {fPlastic_Time.push_back(T);} - void SetPlasticNumber(int N) {fPlastic_Number.push_back(N);} + void SetEnergy(double E) { fPlastic_Energy.push_back(E) ;} + void SetTime(double T) { fPlastic_Time.push_back(T) ;} + void SetPlasticNumber(int N) { fPlastic_Number.push_back(N) ;} // ClassDef(TPlasticData,1) // PlasticData structure diff --git a/NPLib/Plastic/TPlasticPhysics.cxx b/NPLib/Plastic/TPlasticPhysics.cxx new file mode 100644 index 000000000..00ddd0bcf --- /dev/null +++ b/NPLib/Plastic/TPlasticPhysics.cxx @@ -0,0 +1,257 @@ +/***************************************************************************** + * Copyright (C) 2009 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: matta@ipno.in2p3.fr * + * * + * Creation Date : november 2009 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold Plastic Physics * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// NPL +#include "TPlasticPhysics.h" +#include "../include/RootOutput.h" +#include "../include/RootInput.h" + +// STL +#include <iostream> +#include <sstream> +#include <fstream> +#include <limits> +#include <stdlib.h> +using namespace std; + +// ROOT +#include "TChain.h" + +// tranform an integer to a string + string itoa(int value) + { + std::ostringstream o; + + if (!(o << value)) + return "" ; + + return o.str(); + } + +ClassImp(TPlasticPhysics) +/////////////////////////////////////////////////////////////////////////// +TPlasticPhysics::TPlasticPhysics() + { + NumberOfDetector = 0 ; + EventData = new TPlasticData ; + EventPhysics = this ; + } + +/////////////////////////////////////////////////////////////////////////// +TPlasticPhysics::~TPlasticPhysics() + {} + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::Clear() + { + DetectorNumber .clear() ; + StripNumber .clear() ; + Energy .clear() ; + Time .clear() ; + } + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::ReadConfiguration(string Path) + { + ifstream ConfigFile ; + ConfigFile.open(Path.c_str()) ; + string LineBuffer ; + string DataBuffer ; + + double Theta = 0 , Phi = 0 , R = 0 , Thickness = 0 , Radius = 0 , LeadThickness = 0; + string Scintillator ; + + bool check_Theta = false ; + bool check_Phi = false ; + bool check_R = false ; + bool check_Thickness = false ; + bool check_Radius = false ; + bool check_LeadThickness = false ; + bool check_Scintillator = false ; + bool ReadingStatus = false ; + + + while (!ConfigFile.eof()) + { + + getline(ConfigFile, LineBuffer); + + // If line is a Start Up Plastic bloc, Reading toggle to true + if (LineBuffer.compare(0, 7, "Plastic") == 0) + { + cout << "///" << endl ; + cout << "Platic found: " << endl ; + ReadingStatus = true ; + + } + + // Else don't toggle to Reading Block Status + else ReadingStatus = false ; + + // Reading Block + while(ReadingStatus) + { + // Pickup Next Word + ConfigFile >> DataBuffer ; + + // Comment Line + if (DataBuffer.compare(0, 1, "%") == 0) { ConfigFile.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' );} + + // Finding another telescope (safety), toggle out + else if (DataBuffer.compare(0, 6, "Plastic") == 0) { + cout << "WARNING: Another Telescope is find before standard sequence of Token, Error may occured in Telecope definition" << endl ; + ReadingStatus = false ; + } + + //Angle method + else if (DataBuffer.compare(0, 6, "THETA=") == 0) { + check_Theta = true; + ConfigFile >> DataBuffer ; + Theta = atof(DataBuffer.c_str()) ; + } + + else if (DataBuffer.compare(0, 4, "PHI=") == 0) { + check_Phi = true; + ConfigFile >> DataBuffer ; + Phi = atof(DataBuffer.c_str()) ; + } + + else if (DataBuffer.compare(0, 2, "R=") == 0) { + check_R = true; + ConfigFile >> DataBuffer ; + R = atof(DataBuffer.c_str()) ; + } + + else if (DataBuffer.compare(0, 7, "Radius=") == 0) { + check_Radius = true; + ConfigFile >> DataBuffer ; + Radius = atof(DataBuffer.c_str()) ; + } + + else if (DataBuffer.compare(0, 10, "Thickness=") == 0) { + check_Thickness = true; + ConfigFile >> DataBuffer ; + Thickness = atof(DataBuffer.c_str()) ; + } + + else if (DataBuffer.compare(0, 13, "Scintillator=") == 0) { + check_Scintillator = true ; + ConfigFile >> DataBuffer ; + Scintillator = DataBuffer ; + } + + else if (DataBuffer.compare(0, 14, "LeadThickness=") == 0) { + check_LeadThickness = true; + ConfigFile >> DataBuffer ; + LeadThickness = atof(DataBuffer.c_str()) ; + } + + /////////////////////////////////////////////////// + // If no Detector Token and no comment, toggle out + else + {ReadingStatus = false; cout << "Wrong Token Sequence: Getting out " << DataBuffer << endl ;} + + ///////////////////////////////////////////////// + // If All necessary information there, toggle out + + if ( check_Theta && check_Phi && check_R && check_Thickness && check_Radius && check_LeadThickness && check_Scintillator) + { + NumberOfDetector++; + + // Reinitialisation of Check Boolean + + check_Theta = false ; + check_Phi = false ; + check_R = false ; + check_Thickness = false ; + check_Radius = false ; + check_LeadThickness = false ; + check_Scintillator = false ; + ReadingStatus = false ; + cout << "///"<< endl ; + } + + } + } + } + + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::AddParameterToCalibrationManager() + { + CalibrationManager* Cal = CalibrationManager::getInstance(); + + for(int i = 0 ; i < NumberOfDetector ; i++) + { + for( int j = 0 ; j < 16 ; j++) + { + Cal->AddParameter("Plastic", "Detector"+itoa(i+1)+"_E","Plastic_Detector"+itoa(i+1)+"_E") ; + Cal->AddParameter("Plastic", "Detector"+itoa(i+1)+"_T","Plastic_Detector"+itoa(i+1)+"_T") ; + } + + } + } + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::InitializeRootInput() + { + TChain* inputChain = RootInput::getInstance()->GetChain() ; + inputChain->SetBranchStatus ( "Plastic" , true ) ; + inputChain->SetBranchStatus ( "fPlastic_*" , true ) ; + inputChain->SetBranchAddress( "Plastic" , &EventData ) ; + } + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::InitializeRootOutput() + { + TTree* outputTree = RootOutput::getInstance()->GetTree() ; + outputTree->Branch( "Plastic" , "TPlasticPhysics" , &EventPhysics ) ; + } + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::BuildPhysicalEvent() + { + BuildSimplePhysicalEvent() ; + } + +/////////////////////////////////////////////////////////////////////////// +void TPlasticPhysics::BuildSimplePhysicalEvent() + { + for(unsigned int i = 0 ; i < EventData->GetEnergyMult() ; i++) + { + + DetectorNumber .push_back( EventData->GetPlasticNumber(i) ) ; + StripNumber .push_back( EventData->GetPlasticNumber(i) ) ; + + Energy .push_back( + CalibrationManager::getInstance()->ApplyCalibration( "Plastic/Detector" + itoa( EventData->GetPlasticNumber(i) ) +"_E", + EventData->GetEnergy(i) ) + ) ; + + Time .push_back( + CalibrationManager::getInstance()->ApplyCalibration( "Plastic/Detector" + itoa( EventData->GetPlasticNumber(i) ) +"_T", + EventData->GetTime(i) ) + ) ; + } + + } + diff --git a/NPLib/Plastic/TPlasticPhysics.h b/NPLib/Plastic/TPlasticPhysics.h new file mode 100644 index 000000000..f1eedb765 --- /dev/null +++ b/NPLib/Plastic/TPlasticPhysics.h @@ -0,0 +1,92 @@ +#ifndef __PlasticPhysics__ +#define __PlasticPhysics__ +/***************************************************************************** + * Copyright (C) 2009 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Adrien MATTA contact address: matta@ipno.in2p3.fr * + * * + * Creation Date : November 2009 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * This class hold thePlastic Detector Physics * + * * + *---------------------------------------------------------------------------* + * Comment: * + * * + * * + *****************************************************************************/ + +// STL +#include <vector> +using namespace std ; + +// ROOT +#include "TObject.h" + +// NPL +#include "TPlasticData.h" +#include "../include/VDetector.h" +#include "../include/CalibrationManager.h" + +class TPlasticPhysics : public TObject, public NPA::VDetector +{ + public: // Constructor and Destructor + TPlasticPhysics(); + ~TPlasticPhysics(); + + public: // Calibrated Data + + vector<UShort_t> DetectorNumber ; + vector<UShort_t> StripNumber ; + vector<Double_t> Energy ; + vector<Double_t> Time ; + + public: // inherrited from VDetector + // Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token + void ReadConfiguration(string) ; + + + // Add Parameter to the CalibrationManger + void AddParameterToCalibrationManager() ; + + + // Activated associated Branches and link it to the private member DetectorData address + // In this method mother Branches (Detector) AND daughter leaf (fDetector_parameter) have to be activated + void InitializeRootInput() ; + + + // Create associated branches and associated private member DetectorPhysics address + void InitializeRootOutput() ; + + + // This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract physical parameter. + void BuildPhysicalEvent() ; + + + // Same as above, but only the simplest event and/or simple method are used (low multiplicity, faster algorythm but less efficient ...). + // This method aimed to be used for analysis performed during experiment, when speed is requiered. + // NB: This method can eventually be the same as BuildPhysicalEvent. + void BuildSimplePhysicalEvent() ; + + // Those two method all to clear the Event Physics or Data + void ClearEventPhysics() {Clear();} + void ClearEventData() {EventData->Clear();} + + private: // Data not writted in the tree + int NumberOfDetector ;//! + TPlasticData* EventData ;//! + TPlasticPhysics* EventPhysics ;//! + + void Clear(); + void Clear(const Option_t*) {}; + + ClassDef(TPlasticPhysics,1) // PlasticPhysics structure +}; + +#endif diff --git a/NPLib/SSSD/TSSSDPhysics.cxx b/NPLib/SSSD/TSSSDPhysics.cxx index 2a36bb387..63be1855e 100644 --- a/NPLib/SSSD/TSSSDPhysics.cxx +++ b/NPLib/SSSD/TSSSDPhysics.cxx @@ -50,8 +50,8 @@ ClassImp(TSSSDPhysics) /////////////////////////////////////////////////////////////////////////// TSSSDPhysics::TSSSDPhysics() { - NumberOfDetector = 0 ; - EventData = new TSSSDData ; + NumberOfDetector = 0 ; + EventData = new TSSSDData ; EventPhysics = this ; } /////////////////////////////////////////////////////////////////////////// @@ -74,7 +74,7 @@ void TSSSDPhysics::ReadConfiguration(string Path) string DataBuffer ; double TLX , BLX , BRX , TRX , TLY , BLY , BRY , TRY , TLZ , BLZ , BRZ , TRZ ; - double Theta = 0 , Phi = 0 , R = 0 , beta_u = 0 , beta_v = 0 , beta_w = 0 ; + double Theta = 0 , Phi = 0 , R = 0 , beta_u = 0 , beta_v = 0 , beta_w = 0 ; bool check_A = false ; bool check_B = false ; bool check_C = false ; @@ -94,11 +94,9 @@ void TSSSDPhysics::ReadConfiguration(string Path) // If line is a Start Up ThinSi bloc, Reading toggle to true if (LineBuffer.compare(0, 6, "ThinSi") == 0) { - cout << "///" << endl ; - cout << "Detector found: " << endl ; - ReadingStatus = true ; - - } + cout << "Detector found: " << endl ; + ReadingStatus = true ; + } // Else don't toggle to Reading Block Status else ReadingStatus = false ; @@ -260,7 +258,7 @@ void TSSSDPhysics::InitializeRootInput() { TChain* inputChain = RootInput::getInstance()->GetChain() ; inputChain->SetBranchStatus ( "ThinSi" , true ) ; - inputChain->SetBranchStatus ( "ThinSi_*" , true ) ; + inputChain->SetBranchStatus ( "fSSSD_*" , true ) ; inputChain->SetBranchAddress( "ThinSi" , &EventData ) ; } diff --git a/NPLib/SSSD/TSSSDPhysics.h b/NPLib/SSSD/TSSSDPhysics.h index 2663cf392..21bc790fb 100644 --- a/NPLib/SSSD/TSSSDPhysics.h +++ b/NPLib/SSSD/TSSSDPhysics.h @@ -35,6 +35,10 @@ using namespace std ; class TSSSDPhysics : public TObject, public NPA::VDetector { + public: // Constructor and Destructor + TSSSDPhysics(); + ~TSSSDPhysics(); + public: // Calibrated Data @@ -74,10 +78,6 @@ class TSSSDPhysics : public TObject, public NPA::VDetector void ClearEventPhysics() {Clear();} void ClearEventData() {EventData->Clear();} - public: - TSSSDPhysics(); - virtual ~TSSSDPhysics(); - private: // Data not writted in the tree int NumberOfDetector ;//! TSSSDData* EventData ;//! -- GitLab