% ----- Liste des groupes de Help ----- List of {\bf piapp} on-line Help groups: \begin{itemize} \item {\bf Commander } (p. \pageref{Commander}) \item {\bf CxxExecutorCmd } (p. \pageref{CxxExecutorCmd}) \item {\bf Expr. Arithmetic } (p. \pageref{ExprZZArithmetic}) \item {\bf Expr. Plotting } (p. \pageref{ExprZZPlotting}) \item {\bf External Modules } (p. \pageref{ExternalZModules}) \item {\bf FileIO } (p. \pageref{FileIO}) \item {\bf Fitting } (p. \pageref{Fitting}) \item {\bf Func Plot } (p. \pageref{FuncZPlot}) \item {\bf Graphic-Elts } (p. \pageref{GraphicZElts}) \item {\bf Graphics } (p. \pageref{Graphics}) \item {\bf Obj. Display } (p. \pageref{ObjZZDisplay}) \item {\bf Object Management } (p. \pageref{ObjectZManagement}) \item {\bf Objects } (p. \pageref{Objects}) \item {\bf PIACmd } (p. \pageref{PIACmd}) \item {\bf SkyMapCmd } (p. \pageref{SkyMapCmd}) \item {\bf SophyaCmd } (p. \pageref{SophyaCmd}) \item {\bf pawCmd } (p. \pageref{pawCmd}) \end{itemize} \vspace*{10mm} % ----- Liste de toutes les commandes et help item ----- \vspace{5mm} \begin{center} \rule{2cm}{1mm} List of {\bf piapp} Help items \rule{2cm}{1mm} \\ \vspace{3mm} \begin{tabular}{llllll} Commander & p. \pageref{Commander} & ObjectExpressions & p. \pageref{ObjectExpressions} & PIConsole & p. \pageref{PIConsole} \\ PIDraw3DWdg & p. \pageref{PIDraw3DWdg} & PIImage & p. \pageref{PIImage} & PIScDrawWdg & p. \pageref{PIScDrawWdg} \\ RPNEvaluator & p. \pageref{RPNEvaluator} & Windows & p. \pageref{Windows} & autoiniranf & p. \pageref{autoiniranf} \\ exitpiapp & p. \pageref{exitpiapp} & helpfit & p. \pageref{helpfit} & helpwindow & p. \pageref{helpwindow} \\ shell execute & p. \pageref{shellZexecute} & & & & \\ \end{tabular} \end{center} \newpage \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Commander } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} Commander & p. \pageref{Commander} & RPNEvaluator & p. \pageref{RPNEvaluator} & autoiniranf & p. \pageref{autoiniranf} \\ shell execute & p. \pageref{shellZexecute} & & & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf CxxExecutorCmd } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} c++args & p. \pageref{cZZargs} & c++compile & p. \pageref{cZZcompile} & c++compileopt & p. \pageref{cZZcompileopt} \\ c++create & p. \pageref{cZZcreate} & c++createfrf & p. \pageref{cZZcreatefrf} & c++declareomgvar & p. \pageref{cZZdeclareomgvar} \\ c++exec & p. \pageref{cZZexec} & c++execfrf & p. \pageref{cZZexecfrf} & c++import & p. \pageref{cZZimport} \\ c++include & p. \pageref{cZZinclude} & c++link & p. \pageref{cZZlink} & c++linkopt & p. \pageref{cZZlinkopt} \\ c++mylibs & p. \pageref{cZZmylibs} & c++prtlevel & p. \pageref{cZZprtlevel} & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Expr. Arithmetic } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} eval & p. \pageref{eval} & & & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Expr. Plotting } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} ObjectExpressions & p. \pageref{ObjectExpressions} & exptovec & p. \pageref{exptovec} & fillgd1 & p. \pageref{fillgd1} \\ fillgd2 & p. \pageref{fillgd2} & fillmtx & p. \pageref{fillmtx} & fillnt & p. \pageref{fillnt} \\ fillvec & p. \pageref{fillvec} & gdfrvec & p. \pageref{gdfrvec} & ntexpcfile & p. \pageref{ntexpcfile} \\ ntloop & p. \pageref{ntloop} & plot2d & p. \pageref{plot2d} & plot2de & p. \pageref{plot2de} \\ plot2dvec & p. \pageref{plot2dvec} & plot2dw & p. \pageref{plot2dw} & plot3d & p. \pageref{plot3d} \\ projh1d & p. \pageref{projh1d} & projh2d & p. \pageref{projh2d} & projprof & p. \pageref{projprof} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf External Modules } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} call & p. \pageref{call} & link & p. \pageref{link} & linkff2 & p. \pageref{linkff2} \\ loadmodule & p. \pageref{loadmodule} & & & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf FileIO } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} arrtoascii & p. \pageref{arrtoascii} & fitsadapt & p. \pageref{fitsadapt} & mtxfrascii & p. \pageref{mtxfrascii} \\ ntfrascii & p. \pageref{ntfrascii} & openfits & p. \pageref{openfits} & openppf & p. \pageref{openppf} \\ print & p. \pageref{print} & saveall & p. \pageref{saveall} & savefits & p. \pageref{savefits} \\ saveobjs & p. \pageref{saveobjs} & saveppf & p. \pageref{saveppf} & vecfrascii & p. \pageref{vecfrascii} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Fitting } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} helpfit & p. \pageref{helpfit} & crfitfil & p. \pageref{crfitfil} & crfitfun & p. \pageref{crfitfun} \\ fit & p. \pageref{fit} & fitlin & p. \pageref{fitlin} & fitw & p. \pageref{fitw} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Func Plot } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} func & p. \pageref{func} & func2d & p. \pageref{func2d} & func2dff & p. \pageref{func2dff} \\ funcff & p. \pageref{funcff} & & & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Graphic-Elts } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} addarc & p. \pageref{addarc} & addarca & p. \pageref{addarca} & addarrow & p. \pageref{addarrow} \\ addcirc & p. \pageref{addcirc} & addctext & p. \pageref{addctext} & addfarc & p. \pageref{addfarc} \\ addfarca & p. \pageref{addfarca} & addfcirc & p. \pageref{addfcirc} & addfpoly & p. \pageref{addfpoly} \\ addfrect & p. \pageref{addfrect} & addline & p. \pageref{addline} & addmarker & p. \pageref{addmarker} \\ addpoly & p. \pageref{addpoly} & addrect & p. \pageref{addrect} & addtext & p. \pageref{addtext} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Graphics } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} PIConsole & p. \pageref{PIConsole} & PIDraw3DWdg & p. \pageref{PIDraw3DWdg} & PIImage & p. \pageref{PIImage} \\ PIScDrawWdg & p. \pageref{PIScDrawWdg} & Windows & p. \pageref{Windows} & addaxelabels & p. \pageref{addaxelabels} \\ addtitle & p. \pageref{addtitle} & drpanel & p. \pageref{drpanel} & graphicatt & p. \pageref{graphicatt} \\ imagcmap2eps & p. \pageref{imagcmap2eps} & imagcmap2ps & p. \pageref{imagcmap2ps} & newwin & p. \pageref{newwin} \\ psclosefile & p. \pageref{psclosefile} & psgetfilename & p. \pageref{psgetfilename} & pssetfilename & p. \pageref{pssetfilename} \\ setaxelabels & p. \pageref{setaxelabels} & setaxesatt & p. \pageref{setaxesatt} & setinsetlimits & p. \pageref{setinsetlimits} \\ settitle & p. \pageref{settitle} & stacknext & p. \pageref{stacknext} & w2eps & p. \pageref{w2eps} \\ w2ps & p. \pageref{w2ps} & zone & p. \pageref{zone} & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Obj. Display } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} contour & p. \pageref{contour} & disp & p. \pageref{disp} & gfd2d & p. \pageref{gfd2d} \\ gfd3d & p. \pageref{gfd3d} & imag & p. \pageref{imag} & nt2d & p. \pageref{nt2d} \\ nt2dvec & p. \pageref{nt2dvec} & nt3d & p. \pageref{nt3d} & ntcont & p. \pageref{ntcont} \\ surf & p. \pageref{surf} & vecplot & p. \pageref{vecplot} & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Object Management } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} cd & p. \pageref{cd} & copy & p. \pageref{copy} & cp & p. \pageref{cp} \\ del & p. \pageref{del} & delobjs & p. \pageref{delobjs} & listdirs & p. \pageref{listdirs} \\ listobjs & p. \pageref{listobjs} & mkdir & p. \pageref{mkdir} & mv & p. \pageref{mv} \\ pwd & p. \pageref{pwd} & rename & p. \pageref{rename} & rm & p. \pageref{rm} \\ rmdir & p. \pageref{rmdir} & setdiratt & p. \pageref{setdiratt} & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Objects } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} line2nt & p. \pageref{line2nt} & line2vec & p. \pageref{line2vec} & newgfd & p. \pageref{newgfd} \\ newh1d & p. \pageref{newh1d} & newh2d & p. \pageref{newh2d} & newmtx & p. \pageref{newmtx} \\ newnt & p. \pageref{newnt} & newprof & p. \pageref{newprof} & newprofe & p. \pageref{newprofe} \\ newvec & p. \pageref{newvec} & ntcol2var & p. \pageref{ntcol2var} & ntline2var & p. \pageref{ntline2var} \\ vec2var & p. \pageref{vec2var} & & & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf PIACmd } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} exitpiapp & p. \pageref{exitpiapp} & helpwindow & p. \pageref{helpwindow} & & \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf SkyMapCmd } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} alm2cl & p. \pageref{alm2cl} & alm2map & p. \pageref{alm2map} & cl2llcl & p. \pageref{cl2llcl} \\ cl2map & p. \pageref{cl2map} & clmean & p. \pageref{clmean} & clmult & p. \pageref{clmult} \\ clop & p. \pageref{clop} & clrebin & p. \pageref{clrebin} & crmapmask & p. \pageref{crmapmask} \\ crmaskfrmap & p. \pageref{crmaskfrmap} & map2alm & p. \pageref{map2alm} & map2cl & p. \pageref{map2cl} \\ map2double & p. \pageref{map2double} & map2float & p. \pageref{map2float} & map2local & p. \pageref{map2local} \\ map2map & p. \pageref{map2map} & mapcover & p. \pageref{mapcover} & mapmult & p. \pageref{mapmult} \\ mapop & p. \pageref{mapop} & maproj & p. \pageref{maproj} & mapstat & p. \pageref{mapstat} \\ maskmap & p. \pageref{maskmap} & settypemap & p. \pageref{settypemap} & typemap & p. \pageref{typemap} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf SophyaCmd } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} mollgrid & p. \pageref{mollgrid} & mollgridsph & p. \pageref{mollgridsph} & powerspec & p. \pageref{powerspec} \\ \end{tabular} \end{center} \vspace{6mm} \begin{center} \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf pawCmd } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} h/cadd & p. \pageref{hZcadd} & h/cmult & p. \pageref{hZcmult} & h/copy & p. \pageref{hZcopy} \\ h/deriv & p. \pageref{hZderiv} & h/err & p. \pageref{hZerr} & h/get\_vec & p. \pageref{hZgetZvec} \\ h/integ & p. \pageref{hZinteg} & h/oper & p. \pageref{hZoper} & h/plot/2d & p. \pageref{hZplotZ2d} \\ h/put\_vec & p. \pageref{hZputZvec} & h/rebin & p. \pageref{hZrebin} & h/set/cont & p. \pageref{hZsetZcont} \\ h/set/err & p. \pageref{hZsetZerr} & n/plot & p. \pageref{nZplot} & n/proj & p. \pageref{nZproj} \\ n/scan & p. \pageref{nZscan} & reset & p. \pageref{reset} & v/deriv & p. \pageref{vZderiv} \\ v/integ & p. \pageref{vZinteg} & & & & \\ \end{tabular} \end{center} % ----- Liste des commandes dans chaque groupe ----- \newpage \subsection{Commander} \label{Commander} Basic (generic) interpreter (class SOPHYA::Commander) builtin commands \\[2mm] \noindent \piahelpitem{Commander} \label{Commander} \begin{verbatim} >>> (Commander) Interpreter's keywords : > set varname string # To set a variable, $varname > get newvarname varname # To set a newvariable, equal to $varname > setol varname patt # Fills varname with object list > unset varname # clear variable definition > rpneval varname RPNExpression # Reverse Polish Notation evaluation > varname = 'string string ...' # To set a variable, $varname > varname = RPNExpression # RPN evaluation / result -> varname > echo string # output string > echo2file filename string # Append the string to the specified file > alias name string # define a command alias > readstdin varname # reads a line from stdin into $varname > foreach varname ( string-list ) # Loop > for varname i1:i2[:di] # Integer loop > for varname f1:f2[:df] # Float loop > end # end loops > if ( test ) then # Conditional test : a == != < > <= >= b > else # Conditional > endif # End of conditional if bloc > break # Delete (clears) all test and loop blocs > return # Stops command execution from a file > defscript endscript # Command script definition > listvars # List of variable names and values > listalias # List of alias names and values > listcommands # List of all known commands > listscripts # List of all known scripts > clearcript # Clear a script definition > exec filename # Execute commands from file > help # usage info > timingon timingoff traceon traceoff \end{verbatim} \piahelpitem{RPNEvaluator} \label{RPNEvaluator} \begin{verbatim} Reverse Polish Notation (HP calculator like) expression evaluation >> Stack: ... (4) (3) z=(2) y=(1) x=(0)=Stack.Top() >> Examples: - sin(PI/6): pi 6 / sin - 1*2*...*5: 1 2 3 4 5 product - x=x+y: x = $x $y * >>> Stack operations : print x<>y pop push (duplicate x) >>> Constants (Cst pushed to stack): pi e >>> Arithmetic operators (x,y) --> x@y + - * / % ( (int)y % (int)x ) >>> F(X): x --> F(x) chs sqrt sq log log10 exp fabs floor ceil cos sin tan acos asin atan deg2rad rad2deg >>> F(X,Y): (x,y) --> F(x,y) pow atan2 >>> F(): random number generators rand (flat 0..1) norand (normal/gaussian) >>> Stack sum/product/mean/sigma/sigma^2 sum product mean sigma sigma2 sigmean (y->sigma x->mean) \end{verbatim} \piahelpitem{autoiniranf} \label{autoiniranf} \begin{verbatim} > Automatic random number generator initialisation by Auto_Ini_Ranf(int lp) Usage: autoiniranf \end{verbatim} \piahelpitem{shell execute} \label{shellZexecute} \begin{verbatim} > shell command_string # Execute shell command > cshell command_string # Execute cshell command ---Examples: > shell ls > cshell echo '$LD_LIBRARY_PATH'; map2cl -h; ls > shell myfile.csh [arg1] [arg2] [...] (where the first line of "myfile.csh" is "#!/bin/csh") \end{verbatim} \subsection{CxxExecutorCmd} \label{CxxExecutorCmd} \noindent \piacommand{c++args} \label{cZZargs} \begin{verbatim} c++args: Define user function arguments for c++exec and c++execfrf Usage: c++args arg1 arg2 arg3 ... c++args -? : give current arguments c++args : reset current arguments \end{verbatim} \piacommand{c++compile} \label{cZZcompile} \begin{verbatim} c++compile: compile a file (file.cc -> file.so) Usage: c++compile file Warning: give "file" or "file.so" to create "file.so" from "file.cc" : to be used before c++link \end{verbatim} \piacommand{c++compileopt} \label{cZZcompileopt} \begin{verbatim} c++compileopt: add personnal compile options Usage: c++compileopt -g -O5 -IMy_Inc_Dir ... c++compileopt -? : list current additionnal compile options c++compileopt : reset to no additionnal compile options Warning: to be used before c++create c++compile c++exec ... \end{verbatim} \piacommand{c++create} \label{cZZcreate} \begin{verbatim} c++create: create a file "file.cc" to be used by spiapp Usage: c++create file.cc func c++ user code... \end{verbatim} \piacommand{c++createfrf} \label{cZZcreatefrf} \begin{verbatim} c++createfrf: create a file "file.cc" to be used by spiapp with a user file code "fileuser.cc" and an optional user function code "fileuserfct.cc" Usage: c++createfrf file.cc func fileuser.cc [fileuserfct.cc] \end{verbatim} \piacommand{c++declareomgvar} \label{cZZdeclareomgvar} \begin{verbatim} c++declareomgvar: Activate/Deactivate ObjectManager variables declaration Usage: c++declareomgvar [false/true] if true, the ObjectManager variables are declared as $varname no arguments: display the current status of the flag (default=false \end{verbatim} \piacommand{c++exec} \label{cZZexec} \begin{verbatim} c++exec: Execute the following c++ user code Usage: c++exec c++ user code Warning: c++ user code can be found in "TmpDir/cxx_spiapp.h" total generated code can be found in "TmpDir/cxx_spiapp.cc" \end{verbatim} \piacommand{c++execfrf} \label{cZZexecfrf} \begin{verbatim} c++execfrf: Execute c++ user_code [user_function_code] Usage: c++execfrf fileuser.cc [fileuserfct.cc] Warning: total generated code can be found in "TmpDir/cxx_spiapp.cc" \end{verbatim} \piacommand{c++import} \label{cZZimport} \begin{verbatim} c++import: Sophya additionnal modules to be use in C++ executor Usage: c++import module1 ... : set list of modules to be used by executor c++import all : set all modules known by executor c++import : reset to no additionnal module c++import -? : list modules currently used in executor c++import -?? : list of available modules for executor Warning: to be used before c++create c++compile c++exec ... \end{verbatim} \piacommand{c++include} \label{cZZinclude} \begin{verbatim} c++include: add personnal includes to be used by executor Usage: c++include myinc1.h myinc2.h ... c++include -? : list current additionnal include files c++include : reset to no additionnal include files Warning: to be used before c++create c++compile c++exec... \end{verbatim} \piacommand{c++link} \label{cZZlink} \begin{verbatim} c++link: link function "func" in file.so to spiapp Usage: c++link file.so func \end{verbatim} \piacommand{c++linkopt} \label{cZZlinkopt} \begin{verbatim} c++linkopt: add personnal link options Usage: c++linkopt -g -O5 ... c++linkopt -? : list current additionnal link options c++linkopt : reset to no additionnal link options Warning: to be used before c++create c++compile c++exec ... \end{verbatim} \piacommand{c++mylibs} \label{cZZmylibs} \begin{verbatim} c++mylibs: add personnal libraries Usage: c++mylibs -LMy_Lib_Dir -lmylib1 -lmylib2 ... c++mylibs -? : list current additionnal libraries c++mylibs : reset to no additionnal libraries Warning: to be used before c++create c++compile c++exec ... \end{verbatim} \piacommand{c++prtlevel} \label{cZZprtlevel} \begin{verbatim} c++prtlevel: Print level Usage: c++prtlevel prtlevel prtlevel=0 : minimum printing prtlevel=1 : + compiler/linker output prtlevel=2 : + full infos (default) \end{verbatim} \subsection{Expr. Arithmetic} \label{ExprZZArithmetic} \noindent \piacommand{eval} \label{eval} \begin{verbatim} Compute arithmetic expression Usage: eval resultvarname arithmetic expression.... resultvarname: store result in variable resultvarname - If first character is not alphabetic, just print result arithmetic expression: ex: x + sqrt(y)+z +3.14 (x,y,z are variables) ex: $x + sqrt($y)+$z +3.14 (x,y,z are variables) ex: 360 * M_PI / 180. \end{verbatim} \subsection{Expr. Plotting} \label{ExprZZPlotting} \noindent \piahelpitem{ObjectExpressions} \label{ObjectExpressions} \begin{verbatim} Any mathematical expression (math.h) with object variables can be used ------ Object Variable names (double) -------- (_nl is the table line number or the sequential index) - NTuple: ntuple variable names,_nl - Histo1D/HProf: i,x,val,err,_nl - Histo2D: i,j,x,y,val,err,_nl - Vector/Matrix: n,r,c,val,real,imag,mod,phas,_nl - TArray: n,x,y,z,t,u,val,real,imag,mod,phas,_nl - Image: i,j,x,y,val(=pix),_nl - GeneralFitData: x0,ex0 x1,ex1 ... xn,exn y,ey ok ,_nl - LocalMap/SphereThetaPhi/SphereHEALPix: - i,k,val,real,imag,mod,phas,teta,phi,_nl - FITS Binary/ASCII table: fits column names,_nl ------ Other parameters -------- Loop parameters can be specified as I1[:I2[:DI]] for(int i=I1; i& args) Related commands: link \end{verbatim} \piacommand{link} \label{link} \begin{verbatim} Dynamic linking of compiled user functions Usage: link fnameso f1 [f2 f3] fnameso: Shared-object file name, f1,f2,f3 : User function names Related commands: call loadmodule linkff2 \end{verbatim} \piacommand{linkff2} \label{linkff2} \begin{verbatim} Dynamic linking of compiled user functions (Set 2) Usage: linkff2 fnameso f1 [f2 f3] fnameso: Shared-object file name, f1,f2,f3 : User function names Related commands: call link loadmodule \end{verbatim} \piacommand{loadmodule} \label{loadmodule} \begin{verbatim} To load and initialize modules Usage: loadmodule fnameso modulename Related commands: link \end{verbatim} \subsection{FileIO} \label{FileIO} \noindent \piacommand{arrtoascii} \label{arrtoascii} \begin{verbatim} Writes an array (TArray) to an ASCII file Usage: arrtoascii array_name file_name Related commands: mtxfrascii vecfrascii ntfrascii \end{verbatim} \piacommand{fitsadapt} \label{fitsadapt} \begin{verbatim} fitsadapt: NTuple adaptor for Binary and ASCII Fits table Usage: fitsadapt fitsfile [nomobj hdu buflen[,bufsens,lp]] fitsfile : Fits file name nomobj : Object name (needed if file name misleading as C++ variable) hdu : Fits HDU (if <=0 take first binary/ascii table) buflen[,bufsens,lp] : buffer length (sens) for fits reading (default is 100,1,0) \end{verbatim} \piacommand{mtxfrascii} \label{mtxfrascii} \begin{verbatim} Reads a matrix from an ASCII file (TMatrix) Usage: mtxfrascii mtx_name file_name [CommChar Separator] Related commands: arrtoascii vecfrascii ntfrascii \end{verbatim} \piacommand{ntfrascii} \label{ntfrascii} \begin{verbatim} Fills an existing NTuple from ASCII table file Usage: ntfrascii nt_name file_name [def_init_val] Related commands: ntloop fillnt \end{verbatim} \piacommand{openfits} \label{openfits} \begin{verbatim} Loads a FITS file into an appropriate object Usage: openfits filename Related commands: savefits openppf \end{verbatim} \piacommand{openppf} \label{openppf} \begin{verbatim} Reads all objects from a PPF file Usage: openppf filename Related commands: saveall openfits \end{verbatim} \piacommand{print} \label{print} \begin{verbatim} Prints an object Usage: print nameobj \end{verbatim} \piacommand{saveall} \label{saveall} \begin{verbatim} Saves all objects into a PPF file Usage: saveall filename Related commands: saveobj openppf savefits \end{verbatim} \piacommand{savefits} \label{savefits} \begin{verbatim} Save an object into a FITS file Usage: savefits nameobj filename Related commands: openfits saveobjs saveall \end{verbatim} \piacommand{saveobjs} \label{saveobjs} \begin{verbatim} Saves objects with names matching a pattern into a PPF file (pattern: x?y*) - Alias saveppf Usage: saveobjs nameobjpattern filename Related commands: saveppf saveall openppf savefits \end{verbatim} \piacommand{saveppf} \label{saveppf} \begin{verbatim} Saves objects with names matching a pattern into a PPF file (pattern: x?y*) - Alias saveppf Usage: saveppf nameobjpattern filename Related commands: saveobjs saveall openppf savefits \end{verbatim} \piacommand{vecfrascii} \label{vecfrascii} \begin{verbatim} Reads a vector from an ASCII file (TVector) Usage: vecfrascii vec_name file_name Related commands: arrtoascii mtxfrascii ntfrascii [CommChar Separator] \end{verbatim} \subsection{Fitting} \label{Fitting} \noindent \piahelpitem{helpfit} \label{helpfit} \begin{verbatim} ////////////////////////////////////////////////////////////////////// | --------------- Fit Lineaire a 1 et 2 dimensions --------------- | Syntaxe: | fitlin nom pnn [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...] | avec: | nom : cf commentaire ordre ''fit'' | pnn : fit polynome degre nn avec classe Poly (lineaire) 1D ou 2D | o:aa,...,bb : cf commentaires ordre ''fit'' | ////////////////////////////////////////////////////////////////////// | --------------- Fit d'objets a 1 et 2 dimensions --------------- | avec interface d'aide graphique | Syntaxe: | fitw nom func | [p:p1,p2,...,pn s:s1,s2,...,sn m:m1,m2,...,mn M:M1,mM2,...,Mn f:f1,...,fn] | [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...] | cf commentaire ordre ''fit'' | ////////////////////////////////////////////////////////////////////// | --------------- Fit d'objets a 1 et 2 dimensions --------------- | Syntaxe: | fit nom func | [p:p1,p2,...,pn s:s1,s2,...,sn m:m1,m2,...,mn M:M1,mM2,...,Mn f:f1,...,fn] | [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...] |----- OBJET ----- | nom : nom de l'objet qui peut etre: | fit-1D: Vector,Histo1D,HProf ou GeneraFitData(1D) | fit-2D: Matrix,Histo2D,Image ou GeneraFitData(2D) | |----- FUNCTION ----- | func : pnn : fit polynome degre nn avec GeneralFit (non-lineaire) 1D ou 2D | : gnn : fit gaussienne (hauteur) + polynome de degre nn 1D | : g : fit gaussienne (hauteur) 1D | : enn : fit exponentielle + polynome de degre nn 1D | : e : fit exponentielle 1D | : Gnn : fit gaussienne (volume) + polynome de degre nn 1D | : G : fit gaussienne (volume) 1D | : : fit gaussienne+fond (volume) 2D | : Gi : fit gaussienne+fond integree (volume) 2D | : d : fit DL de gaussienne+fond (volume) 2D | : di : fit DL de gaussienne+fond integree (volume) 2D | : D : fit DL de gaussienne+fond avec coeff variable p6 (volume) 2D | : Di : fit DL de gaussienne+fond integree avec coeff variable p6 (volume) 2D | : M : fit Moffat+fond (expos=p6) (volume) 2D | : Mi : fit Moffat+fond integree (expos=p6) (volume) 2D | : Autre : fonction definie par l'utilisateur (cf commentaires ci apres) | |----- INIT PARAMETRES ET ETAT DU FIT ----- | p : p1,...,pn : valeur d'initialisation des parametres (def=0) | s : s1,...,sn : valeur des steps de depart (def=1) | m : m1,...,mn : valeur des minima (def=1) | M : M1,...,Mn : valeur des maxima (def=-1) (max<=min : pas de limite) | f : f1,...,fn : si >=1 parametre fixe sinon libre (def=0) | - Remarque: si pi,si,mi ou Mi = '!' la valeur correspondante n'est pas changee | |----- OPTIONS ----- | o : options ''o:Eaa.b,eaa.b,f,r,caa.b,Xaa.b'' | F : initialisation a partir des resultats et de l'etat du fit precedent | (option non prioritaire sur les definitions p:,s:,m:,M:,f:o:) | a : initialisation automatique des parametres du fit (si disponible) | (option non prioritaire sur les definitions p:,s:,m:,M:,f:o: | et sur l'initialisation pa l'option ''F'') | f : generation d'un Objet identique contenant la fonction fittee | r : generation d'un Objet identique contenant les residus | Xaa.b : aa.b valeur du DXi2 d'arret (def=1.e-3) | Naa : aa nombre maximum d'iterations (def=100) | la : niveau ''a'' de print: a=niveau de print Fit1/2D | da : niveau ''a'' de debug: a=niveau de GeneralFit | Ii1/i2 : numeros des bins X de l'histos utilises pour le fit [i1,i2] |2D Jj1/j2 : numeros des bins Y de l'histos utilises pour le fit [j1,j2] | - Traitement des erreurs : | Par defaut, l'erreur est celle associee a l'objet (si elle existe), | elle est mise a 1 sinon. | haa.b/cc.d : erreur = aa.bb*(erreur associee a l'objet cf ci-dessus) | Haa.b/cc.d : erreur = aa.b*|val| | eaa.b/cc.d : erreur = aa.b | Eaa.b/cc.d : erreur = aa.b*sqrt(|val|) | aa.b<0 (ou non precise) est equivalent aa.b=1.0 | cc.d non precise est equivalent a cc.d=0 | si cc.d>=0 si erreur>0 erreur = max(erreur,cc.d) | si erreur<=0 alors erreur | si cc.d<0 si erreur>0 erreur = max(erreur,|cc.d|) | si erreur<=0 alors erreur=|cc.d| | xaa.b : demande de centrage: on fit x-aa.b au lieu de x) | x : demande de centrage: on fit x-xc au lieu de x | avec xc=abscisse du ''milieu logique'' de l'objet. | Actif pour exp+poly 1D, poly 1D | Pour gauss+poly 1D, xc est le centre de la gaussienne. |2D yaa.b et y : idem ''xaa.b et x'' mais pour y | ////////////////////////////////////////////////////////////////////// | --------------- Def des fcts de fit par l'utilisateur --------------- | Pour definir une fonction parametree utilisateur: | Un exemple de fichier contenant des fonctions a fitter: PIext/userfitfunex.c | > crfitfil nom_fichier nom_fonction nvar npar | pour creer un squelette de fichier C contenant la fonction a fitter | nom_fichier : nom du fichier ou est le code de la fonction | c'est un fichier C de nom blabla.c | nom_fonction : nom de la fonction ex: gauss2 | nvar : nombre de variables x[] (1D=1, 2D=2, etc...) | npar : nombre de parametre p[] | - La fonction est donc F(x[];p[]), soit par ex: | double gauss2(double const* x,double const* p) | - L'utilisateur a la possibilite de donner egalement la fonction | retournant les derivees de la fonction par rapport aux parametres | double gauss2_der(double const* x,double const* p,double* dp) | ou dp[i] = dF(x[];p[])/dp[i] | Par convention, cette fonction a le meme nom suivi de ''_der'' | > crfitfun nom_fichier nom_fonction nvar npar | Permet de compiler le fichier ''nom_fichier'' et de linker | la fonction ''nom_fonction'' | - Un meme fichier peut contenir plusieurs fonctions a fitter | ////////////////////////////////////////////////////////////////////// \end{verbatim} \piacommand{crfitfil} \label{crfitfil} \begin{verbatim} Creation de fichier C pour function utilisateur du fit Usage: crfitfil file func nvar npar Related commands: fit fitw fitlin crfitfun \end{verbatim} \piacommand{crfitfun} \label{crfitfun} \begin{verbatim} Creation et link de function utilisateur pour le fit Usage: crfitfun file func nvar npar Related commands: fit fitw fitlin crfitfil \end{verbatim} \piacommand{fit} \label{fit} \begin{verbatim} Fitting function to DataObjects (Histo, Histo2D, Vector, ...) Usage: fit nomobj func [Options] [p:p1,...,pn s:s1,...,sn m:m1,...,mn M:M1,...,Mn o:... o:...] Related commands: fitw fitlin crfitfun crfitfil \end{verbatim} \piacommand{fitlin} \label{fitlin} \begin{verbatim} Linear Fitting of Polynoms to DataObjects Usage: fitlin nomobj func [o:... o:...] Related commands: fit fitw crfitfun crfitfil \end{verbatim} \piacommand{fitw} \label{fitw} \begin{verbatim} Fitting function to DataObjects with Interactive Window Help Usage: fitw nomobj func [Options] [p:p1,...,pn s:s1,...,sn m:m1,...,mn M:M1,...,Mn o:... o:...] Related commands: fit fitlin crfitfun crfitfil \end{verbatim} \subsection{Func Plot} \label{FuncZPlot} \noindent \piacommand{func} \label{func} \begin{verbatim} Displays a function y=f(x) (Fills a vector with function values) Usage: func f(x) xmin xmax [npt graphic_attributes] Related commands: funcff func2d func2dff \end{verbatim} \piacommand{func2d} \label{func2d} \begin{verbatim} Displays a function z=f(x,y) (Fills a matrix with function values) Usage: func2d f(x,y) xmin xmax nptx ymin ymax npty [graphic_attributes] Related commands: func \end{verbatim} \piacommand{func2dff} \label{func2dff} \begin{verbatim} Displays a function z=f(x,y) from a C-file (Fills a matrix with function values) Usage: func2dff C-FileName FunctionName xmin xmax nptx ymin ymax npty [graphic_attributes] Related commands: func funcff func2d \end{verbatim} \piacommand{funcff} \label{funcff} \begin{verbatim} Displays a function y=f(x) from a C-file (Fills a vector with function values) Usage: funcff C-FileName FunctionName xmin xmax [npt graphic_attributes] Related commands: func func2d func2dff \end{verbatim} \subsection{Graphic-Elts} \label{GraphicZElts} \noindent \piacommand{addarc} \label{addarc} \begin{verbatim} Adds an arc to the current graphic object defined by 3 points (+ graphic attribute) The Base/AxesDrawer is used to handle added arcs Alt to remove the added element Usage: addarc x1 y1 x2 y2 x3 y3 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addfcirc addfarc addarca addpoly addfpoly graphicatt \end{verbatim} \piacommand{addarca} \label{addarca} \begin{verbatim} Adds an arc to the current graphic object defined by the circle (center+radius), start angle and angular extension Angles are specified in degrees Usage: addarca xc yc r a0deg dadeg [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addfarca addarc ... \end{verbatim} \piacommand{addarrow} \label{addarrow} \begin{verbatim} Adds an arrow to the current graphic object at the specified position (+ graphic attribute) The Base/AxesDrawer is used to handle added lines Alt to remove the added element Usage: addarrow x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addline addtext addrect addfrect addmarker addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addcirc} \label{addcirc} \begin{verbatim} Adds a circle to the current graphic object with the specified center and radius (+ graphic attribute) The Base/AxesDrawer is used to handle added circles Alt to remove added element Usage: addcirc xcenter ycenter radius [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addfcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addctext} \label{addctext} \begin{verbatim} Adds a composite text string with superscript and subscripts at the specified position (+ color/font/pos/dir attributes) Usage: addctext x y Text sUp sDown [ColFontPosAtt] [UpDownFontAtt] [fgnc] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addrect ... (See command addtext and graphicatt for more details) \end{verbatim} \piacommand{addfarc} \label{addfarc} \begin{verbatim} Adds a filled arc to the current graphic object defined by 3 points (+ graphic attribute) The Base/AxesDrawer is used to handle added arcs Alt to remove added element Usage: addarc x1 y1 x2 y2 x3 y3 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addfcirc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addfarca} \label{addfarca} \begin{verbatim} Adds a filled arc to the current graphic object defined by the circle (center+radius), start angle and angular extension Angles are specified in degrees Usage: addfarca xc yc r a0deg dadeg [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarca addarc ... \end{verbatim} \piacommand{addfcirc} \label{addfcirc} \begin{verbatim} Adds a filled circle to the current graphic object with the specified center and radius (+ graphic attribute) The Base/AxesDrawer is used to handle added circles Alt to remove added element Usage: addcirc xcenter ycenter radius [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addfpoly} \label{addfpoly} \begin{verbatim} Adds a filled polygon to the current graphic object Usage: addploy 'x1,y1 x2,y2 x3,y3 ...' [GraphicAtt] [fgnc=false/true] Coordinates specified as pairs x,y in a single word (use simple or double quotes if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addfcirc addfarc graphicatt \end{verbatim} \piacommand{addfrect} \label{addfrect} \begin{verbatim} Adds a filled rectangle to the current graphic object between the specified positions (+ graphic attribute) The Base/AxesDrawer is used to handle added rectangle Alt to remove added element Usage: addfrect x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addrect addcirc addfcirc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addline} \label{addline} \begin{verbatim} Adds a line to the current graphic object at the specified position (+ graphic attribute) The Base/AxesDrawer is used to handle added lines Alt to remove the added element Usage: addline x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addarrow addtext addrect addfrect addmarker addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addmarker} \label{addmarker} \begin{verbatim} Adds a marker to the current graphic object at the specified position (+ graphic attribute) The Base/AxesDrawer is used to handle added circles Alt to remove added element Usage: addmarker xpos ypos [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addpoly} \label{addpoly} \begin{verbatim} Adds a polyline/polygon to the current graphic object Usage: addploy 'x1,y1 x2,y2 x3,y3 ...' [GraphicAtt] [fgnc=false/true] Coordinates specified as pairs x,y in a single word (use simple or double quotes if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addfrect addcirc addfcirc addfarc graphicatt \end{verbatim} \piacommand{addrect} \label{addrect} \begin{verbatim} Adds a rectangle to the current graphic object between the specified positions (+ graphic attribute) The Base/AxesDrawer is used to handle added rectangle Alt to remove added element Usage: addrect x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addtext addline addarrow addfrect addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt \end{verbatim} \piacommand{addtext} \label{addtext} \begin{verbatim} Adds a text string to the current graphic object at the specified position (+ color/font/pos/dir attributes) The Base/AxesDrawer is used to handle added text strings Alt to remove the added element Usage: addtext x y TextString [ColFontPosAtt] [fgnc=false/true] (use quotes '' for multi word text strings) if fgnc==true : Normalized 0..1 coordinates specification (def=false) Text position/direction attribute: horizleft horizcenter horizright vertbottom vertcenter verttop textdirhoriz textdirvertup textdirvertdown Related commands: addctext addline addarrow addrect addfrect addcirc addfcirc addarc addfrac addpoly addfpoly settitle graphicatt \end{verbatim} \subsection{Graphics} \label{Graphics} Basic graphics and object display commands \\[2mm] \noindent \piahelpitem{PIConsole} \label{PIConsole} \begin{verbatim} Text output area and command editing window (console) >>>> Mouse controls : o Button-1: Rectangle selection for copy/paste o Button-2: Paste text in the command editing line o Button-3: activate display option menu >>>> Keyboard controls : o O : activate display option menu o V : Paste text in the command editing line o A : Selection of the whole window for copy o L : Command history (List of command history buffer) o A : Command editing -> Goto the beginning of line o E : Command editing -> Goto the end of line o K : Command editing -> Clear to the end of line o C : Command editing -> Clear the line o Cursor left,right : Command editing -> Move cursor o Cursor Up,Down : recall command from history buffer o Backspace,Del : Command editing o , : Execute command \end{verbatim} \piahelpitem{PIDraw3DWdg} \label{PIDraw3DWdg} \begin{verbatim} Manages display of 3-D objects (drawers) >>>> Mouse controls : o Button-2: Rotates the observer (camera) around object o Shift-Button-2: Rotates object with camera fixed The object rotation mode can be assigned to Button-2 with S o Button-3: Zoom control (Camera distance And/Or view angle) >>>> Keyboard controls : o R : Resets the 3-D view and refreshes the display o G : Show the PIDrawerTools (Graphic attributes of displayed Drawers) o O : = G o V : Copy/Paste / Text paste at the current position (Drawer 0) o Z : Removes added graphic elements (handled by BaseDrawer - 0) o E : Removes the last added graphic element o A : Activate/Deactivate axes drawing o S : Activate/Deactivate object rotation mode on Button-2 \end{verbatim} \piahelpitem{PIImage} \label{PIImage} \begin{verbatim} Manages the display of a 2-D array (P2DArrayAdapter) as an image and controls a zoom widget, as well as a global image view widget >>>> Mouse controls : o Button-1: Display current coordinates and pixel value Position the cursor an refresh the zoom widget o Button-2: Defines an image zone and positions the cursor o Button-3: Moves the viewed portion of the array inside the window >>>> Keyboard controls : o R : Refresh display o O : Shows the PIImageTools (image display parameter controls) o G : Show the PIDrawerTools (Graphic attributes of overlayed graphics (Drawers)) o V : Copy/Paste / Text paste at the current cursor position o C : Copy/Paste / Copies the selected regions content as text in the copy/paste buffer o X : Show/Hide the Cut Window o Z : Removes added graphic elements (handled by BaseDrawer - 0) o E : Removes the last added graphic element o + or + : Zoom in o - or - : Zoom out o Cursor keys : Moves the image cursor \end{verbatim} \piahelpitem{PIScDrawWdg} \label{PIScDrawWdg} \begin{verbatim} Manages display of 2-D drawers with interactive zoom >>>> Mouse controls : o Button-1: Display current coordinates o Button-2: Defines a rectangle for zoom o Button-3: Defines a rectangle for Text-Info (I) >>>> Keyboard controls : o R : Refresh display o O : Displays a specific control window (default: PIDrawerTools) Specific controls for 2-D histograms o G : Show the PIDrawerTools (Graphic attributes of displayed Drawers) Drawer 0 manages the axes, as well as the added text o V : Copy/Paste / Text paste at the current position o Z : Removes added graphic elements (handled by BaseDrawer - 0) o E : Removes the last added graphic element o I : Shows (or updates) a text info window on the selected rectangle o M : Activate/Deactivate a measurement cursor on Button-1 o L : Deactivate DX,DY print (see below) >>>> Mouse + Keyboard controls : o Button-1 + K : Set (reset) the reference point for DX,DY print \end{verbatim} \piahelpitem{Windows} \label{Windows} \begin{verbatim} Objects can be displayed in different windows, or overlayed on the previous display. The graphics attributes next,win,stack,same control the display window. o GraphicWindow : This is the default mode (gr_att=next) Graphic windows can be divided int zones. Object is displayed in the next available position, removing a previously displayed widget if necessary o Window : An object is displayed in its own window (gr_att= win) o StackWindow : multpile widgets can be stacked in a StackWindow (gr_att= stack) A single widget is displayed a any time. Different widgets in a StackWindow can be displayed using the stacknext command, as well as the StackTools item in the Tools menu (from Menubar). An automatic cyclic display mode can also be activated using the StackTools menu (Blink) o Most objects can be also be displayed overlayed on the last displayed widget (gr_att= same) o The overlay can be on a selected rectangle of the last displayed widget (gr_att= inset) - See setinsetlimits Related commands: newwin zone stacknext graphicatt setinsetlimits \end{verbatim} \piacommand{addaxelabels} \label{addaxelabels} \begin{verbatim} Set the X and Y axis labels for the current 2D graphic object alias for setaxelabels \end{verbatim} \piacommand{addtitle} \label{addtitle} \begin{verbatim} Set the title string (top title / bottom title) alias for settitle \end{verbatim} \piacommand{drpanel} \label{drpanel} \begin{verbatim} Creates a new 2D drawing zone for addtext, addline Usage: drpanel xmin xmax ymin ymax [GrAtt] [Name] Related commands: addtext addline addrect addcirc ... \end{verbatim} \piacommand{graphicatt} \label{graphicatt} \begin{verbatim} To change default graphic options Usage: graphicatt att_list att_list=def back to default values, Example: gratt 'red circlemarker5' ------------------ Graphic attribute list ------------------ >> Colors: defcol black white grey red blue green yellow magenta cyan turquoise navyblue orange siennared purple limegreen gold violet violetred blueviolet darkviolet >> Lines: defline normalline thinline thickline dashedline thindashedline thickdashedline dottedline thindottedline thickdottedline >> Font Att: deffontatt normalfont boldfont italicfont bolditalicfont smallfont smallboldfont smallitalicfont smallbolditalicfont bigfont bigboldfont bigitalicfont bigbolditalicfont hugefont hugeboldfont hugeitalicfont hugebolditalicfont >> Font Names: deffont courierfont helveticafont timesfont symbolfont >> Marker: dotmarker plusmarker crossmarker circlemarker fcirclemarker boxmarker fboxmarker trianglemarker ftrianglemarker starmarker fstarmarker with = 1 3 5 7 .. 15 , Example fboxmarker5 , plusmarker9 ... >> ArrowMarker: basicarrow trianglearrow ftrianglearrow arrowshapedarrow farrowshapedarrow with = 5 7 .. 15 , Example trianglearrow7 ... >> ColorTables: defcmap grey32 invgrey32 colrj32 colbr32 grey128 invgrey128 colrj128 colbr128 red32cm green32cm blue32cm yellow32cm orange32cm cyan32cm violet32cm midas_pastel midas_heat midas_rainbow3 midas_bluered midas_bluewhite midas_redwhite multicol16 multicol64 revcmap : This flag reverses ColorMap indexing --- For image displays: >> ZoomFactors zoomxN zoomx1 zoomx2 zoomx3 ... zoom/N zoom/2 zoom/3 zoom/4 ... >> imagecenter=ix,iy -> Position the image in widget >> lut=ltyp,min,max -> Sets LUT type and min/max for image display (ltyp=lin/log/sqrt/square) >> image axes configuration: invx invy exchxy >> Axes / Axe labels / LogScale / xylimits / defdrrect See setaxesatt command >> stat/nostat or stats/nostats -> Toggle statistic display flag >> title/notitle or tit/notit -> Toggle Auto AddTitle flag >> DisplayWindow: next same win stack inset Related commands: setaxesatt setinsetlimits \end{verbatim} \piacommand{imagcmap2eps} \label{imagcmap2eps} \begin{verbatim} imagcmap2eps: Current Image+ColorMap To EncapsulatedPostScript Usage: imagcmap2eps EPSFileName \end{verbatim} \piacommand{imagcmap2ps} \label{imagcmap2ps} \begin{verbatim} w2ps: Current Image+ColorMap To PostScript Usage: imagcmap2ps \end{verbatim} \piacommand{newwin} \label{newwin} \begin{verbatim} To Create a New Graphic window, with zones Window size can be specified Usage: newwin [nx ny [sizeX sizeY]] Related commands: zone \end{verbatim} \piacommand{psclosefile} \label{psclosefile} \begin{verbatim} psclosefile: close current postscript file Usage: w2psclosefile \end{verbatim} \piacommand{psgetfilename} \label{psgetfilename} \begin{verbatim} psgetfilename: Prints current PostScript file name Usage: psgetfilename \end{verbatim} \piacommand{pssetfilename} \label{pssetfilename} \begin{verbatim} pssetfilename: Sets current PostScript file name Usage: pssetfilename FileName \end{verbatim} \piacommand{setaxelabels} \label{setaxelabels} \begin{verbatim} Set the X and Y axis labels for the current 2D graphic object Usage: setaxelabels xLabel yLabel [ColorFntAtt] Related commands: settitle addtext graphicatt \end{verbatim} \piacommand{setaxesatt} \label{setaxesatt} \begin{verbatim} To set default axes attributes Usage: setaxesatt att_list Color/Line/Font attributes and axes attributes >> Axes: axesnone stdaxes=defaxes=boxaxes boxaxesgrid fineaxes fineaxesgrid centeredaxes finecenteredaxes centeredaxesgrid finecenteredaxesgrid grid nogrid labels nolabels ticks noticks minorticks nominorticks extticks intticks extintticks nbticks=X_NTicks,Y_NTicks tickslen=MajTickLenFrac,MinTickLenFrac >> Axe labels font size: fixedfontsize/autofontsize=fszf autofontsize=fsizef: Font size computed automatically fixedfontsize: Use font size attribute (BaseDrawer) >> LogScale : linx liny logx logy -> Lin/Log Scales for 2D plots >> xylimits=xmin,xmax,ymin,ymax -> Forces X-Y limits in 2-D plots >> defdrrect=xmin,xmax,ymin,ymax -> Defines drawing rectangle 2-D plots The rectangle is defined as a fraction of the widget size \end{verbatim} \piacommand{setinsetlimits} \label{setinsetlimits} \begin{verbatim} Define the display rectangle for drawers added as insets over existing graphic objects - limits expressed as fraction graphic object size (0. .. 1.) Xmax at right, YMax top. Usage: setinsetlimits xmin xmax ymin ymax Related commands: graphicatt /inset \end{verbatim} \piacommand{settitle} \label{settitle} \begin{verbatim} Set the title string (top title / bottom title) for the current graphic object Usage: settitle TopTitle [BottomTitle] [fontAtt] Related commands: addtext graphicatt \end{verbatim} \piacommand{stacknext} \label{stacknext} \begin{verbatim} Displays the next widget on stack window Usage: stacknext \end{verbatim} \piacommand{w2eps} \label{w2eps} \begin{verbatim} w2eps: Current Window To EncapsulatedPostScript Usage: w2eps EPSFileName \end{verbatim} \piacommand{w2ps} \label{w2ps} \begin{verbatim} w2ps: Current Window To PostScript Usage: w2ps \end{verbatim} \piacommand{zone} \label{zone} \begin{verbatim} To Divide the Graphic window Usage: zone [nx=1 ny=1] Related commands: newwin \end{verbatim} \subsection{Obj. Display} \label{ObjZZDisplay} \noindent \piacommand{contour} \label{contour} \begin{verbatim} Creates and displays a ContourDrawer Usage: contour objectName [graphic_att/specific_opt] Specific Options ncont=[number of contours (automatic levels) ] niv/lev=[values for contours, separated by ','] lstep=[nomber,first_value,increment for contours ] bspline : use bspline algo for contour 3spl : use cubic spline algo for contour labon : put labels for contours \end{verbatim} \piacommand{disp} \label{disp} \begin{verbatim} Displays an object Usage: disp nameobj [graphic_attributes] Related commands: surf nt2d nt3d vecplot \end{verbatim} \piacommand{gfd2d} \label{gfd2d} \begin{verbatim} Displays Points (X-Y) with error-bars from a GeneralFit Data Usage : gfd2d nameobj numvarx erreur=(x y xy) [graphic_attributes] Related commands: gfd3d nt2d nt3d ----- OBSOLETE: utilisez nt2d ----- \end{verbatim} \piacommand{gfd3d} \label{gfd3d} \begin{verbatim} Displays 3D-Points (X-Y-Z) with error-bars from a GeneralFit Data Usage : gfd3d nameobj numvarx numvary erreur=(x y z xy xz yz xyz) [graphic_attributes] Related commands: gfd2d nt2d nt3d ----- OBSOLETE: utilisez nt3d ----- \end{verbatim} \piacommand{imag} \label{imag} \begin{verbatim} Displays an object as an image Usage: imag nameobj [graphic_attributes] Related commands: disp surf nt2d nt3d vecplot \end{verbatim} \piacommand{nt2d} \label{nt2d} \begin{verbatim} Displays Points (X-Y) [with error-bar / Weight / Label ] from an NTuple Usage : nt2d nameobj varx vary [errx erry wt label graphic_attributes] Related commands: disp surf nt3d gfd2d vecplot \end{verbatim} \piacommand{nt2dvec} \label{nt2dvec} \begin{verbatim} Creates and displays a flow chart from ntuple variables Usage: nt2dvec x y vx vy [graphic_att] \end{verbatim} \piacommand{nt3d} \label{nt3d} \begin{verbatim} Displays 3D-Points (X-Y-Z) [with error-bars / Weight / Label ] from an NTuple Usage : nt3d nameobj varx vary varz [errx erry errz wt label graphic_attributes] Related commands: disp surf nt2d gfd3d \end{verbatim} \piacommand{ntcont} \label{ntcont} \begin{verbatim} Creates and displays a ContourDrawer (from a NTuple) Usage: ntcont NTupleName varx vary varz [graphic_att/specific_opt] specific options ncont=[number of contours (automatic levels) ] niv/lev=[values for contours, separated by ','] lstep=[nomber,first_value,increment for contours ] bspline : use bspline algo for contour 3spl : use cubic spline algo for contour labon : put labels for contours \end{verbatim} \piacommand{surf} \label{surf} \begin{verbatim} Displays an object as a 3D surface Usage: surf nameobj [graphic_attributes] Related commands: disp nt2d nt3d vecplot \end{verbatim} \piacommand{vecplot} \label{vecplot} \begin{verbatim} Displays Points (X-Y) with coordinates defined by two vectors Usage : vecplot nameVecX nameVecY [graphic_attributes] Related commands: disp nt2d \end{verbatim} \subsection{Object Management} \label{ObjectZManagement} \noindent \piacommand{cd} \label{cd} \begin{verbatim} Change current directory Usage: cd [dirname] \end{verbatim} \piacommand{copy} \label{copy} \begin{verbatim} Copy objects (Alias cp) Usage: copy name_from name_to Related commands: cp new... \end{verbatim} \piacommand{cp} \label{cp} \begin{verbatim} Copy objects (Alias copy) Usage: cp name_from name_to Related commands: copy new... \end{verbatim} \piacommand{del} \label{del} \begin{verbatim} Deletes an object (Alias: rm) Usage: del nameobj [nameobj2 ...] Related commands: rm delobjs rename \end{verbatim} \piacommand{delobjs} \label{delobjs} \begin{verbatim} Delete a set of objects with names matching a pattern (x?y*) Usage: delobjs nameobjpattern Related commands: del rename \end{verbatim} \piacommand{listdirs} \label{listdirs} \begin{verbatim} Prints the list of directories Usage: listdirs [patt=*] patt : * , ? \end{verbatim} \piacommand{listobjs} \label{listobjs} \begin{verbatim} Prints the list of objects (Alias: ls) Usage: listobjs [patt=*] patt : /*/x?y* ... \end{verbatim} \piacommand{mkdir} \label{mkdir} \begin{verbatim} Create a directory Usage: mkdir dirname [true] if second argument==true, the directory's KeepOld attribute is set to true \end{verbatim} \piacommand{mv} \label{mv} \begin{verbatim} Rename an object (Alias: rename) Usage: mv nameobj namenew Related commands: rename del delobjs \end{verbatim} \piacommand{pwd} \label{pwd} \begin{verbatim} Prints current directory Usage: pwd \end{verbatim} \piacommand{rename} \label{rename} \begin{verbatim} Rename an object (Alias: mv) Usage: rename nameobj namenew Related commands: mv del delobjs \end{verbatim} \piacommand{rm} \label{rm} \begin{verbatim} Deletes an object (Alias: del) Usage: rm nameobj [nameobj2 ...] Related commands: del delobjs rename \end{verbatim} \piacommand{rmdir} \label{rmdir} \begin{verbatim} Removes an empty directory Usage: remove dirname \end{verbatim} \piacommand{setdiratt} \label{setdiratt} \begin{verbatim} Sets directory attributes Usage: setdiratt dirname KeepOldFlag(=true/false) KeepOldFlag=true Object with the same name is moved to old when adding objects \end{verbatim} \subsection{Objects} \label{Objects} \noindent \piacommand{line2nt} \label{line2nt} \begin{verbatim} Fills (append) an NTuple from the line content Usage: line2nt ntname col0 col1 ... Related commands: newnt line2vec ntline2var ntcol2var \end{verbatim} \piacommand{line2vec} \label{line2vec} \begin{verbatim} Creates a vector from the line Usage: line2vec vecname v0 v1 v2 ... Related commands: newvec line2nt \end{verbatim} \piacommand{newgfd} \label{newgfd} \begin{verbatim} Creates GeneralFit Data object Usage: newgfd nvar nalloc [errx(0/1)] Related commands: newh1d newh2d newprof[e] newnt \end{verbatim} \piacommand{newh1d} \label{newh1d} \begin{verbatim} Creates a 1D histogramm Usage: newh1d name xmin xmax nbin Related commands: newh2d newprof[e] newnt newgfd \end{verbatim} \piacommand{newh2d} \label{newh2d} \begin{verbatim} Creates a 2D histogramm Usage: newh2d name xmin xmax nbinx ymin ymax nbiny Related commands: newh1d newprof[e] newnt newgfd \end{verbatim} \piacommand{newmtx} \label{newmtx} \begin{verbatim} Creates (and optionaly fills) a matrix Usage: newmtx name sizeX(Col) sizeY(Lines) [f(i,j) [dopt] ] Related commands: newvec \end{verbatim} \piacommand{newnt} \label{newnt} \begin{verbatim} Creates a ntuple Usage: newnt name v1 v2 v3 .. vn newnt name nvar Related commands: newh1d newh2d newprof[e] newgfd \end{verbatim} \piacommand{newprof} \label{newprof} \begin{verbatim} Creates a profile histogramm Usage: newprof name xmin xmax nbin [ymin ymax] Errors represent the data spread in the X bin Related commands: newh1d newh2d newprofe newnt newgfd \end{verbatim} \piacommand{newprofe} \label{newprofe} \begin{verbatim} Creates a profile histogramm Usage: newprofe name xmin xmax nbin [ymin ymax] Errors represent the error on the data mean in the X bin Related commands: newh1d newh2d newprof newnt newgfd \end{verbatim} \piacommand{newvec} \label{newvec} \begin{verbatim} Creates (and optionaly fills) a vector Usage: newvec name size [f(i) [dopt] ] Related commands: newmtx line2vec \end{verbatim} \piacommand{ntcol2var} \label{ntcol2var} \begin{verbatim} Object NTupleInterface column to an interpreter variable Usage: ntline2var objname column_number varname [LoopParam start:end[:step] ] Related commands: vec2var ntline2var \end{verbatim} \piacommand{ntline2var} \label{ntline2var} \begin{verbatim} Object NTupleInterface line to an interpreter variable Usage: ntline2var objname line_number varname Related commands: vec2var ntcol2var \end{verbatim} \piacommand{vec2var} \label{vec2var} \begin{verbatim} Vector content to an interpreter variable varname = 'v0 v1 v2 ...' Usage: line2vec vecname varname [LoopParam start:end[:step] ] Related commands: line2vec ntline2var \end{verbatim} \subsection{PIACmd} \label{PIACmd} piapp interpreter (class PIACmd) additional builtin commands \\[2mm] \noindent \piahelpitem{exitpiapp} \label{exitpiapp} \begin{verbatim} To end the piapp session \end{verbatim} \piahelpitem{helpwindow} \label{helpwindow} \begin{verbatim} To display the Help window \end{verbatim} \subsection{SkyMapCmd} \label{SkyMapCmd} 4 Pi spherical, local maps manipulation commands and spherical harmonics analysis Ylm. This is mainly Based on SOPHYA SkyMap and Samba modules. \\[2mm] \noindent \piacommand{alm2cl} \label{alm2cl} \begin{verbatim} Project alm to cl Usage: alm2cl alm cl \end{verbatim} \piacommand{alm2map} \label{alm2map} \begin{verbatim} Generate SkyMap map(double) from Alm Usage: alm2map almmat map(double) nside (see command settypemap) \end{verbatim} \piacommand{cl2llcl} \label{cl2llcl} \begin{verbatim} Project cl to l*(l+1)*cl Usage: cl2llcl cl llcl \end{verbatim} \piacommand{cl2map} \label{cl2map} \begin{verbatim} Generate SkyMap map(double) from Cl Usage: cl2map clvec map(double) nside [fwhm] (see command settypemap) \end{verbatim} \piacommand{clmean} \label{clmean} \begin{verbatim} Compute mean for a cl vector Usage: clmean cl imin,imax [meanvarname] imin,imax = compute between these indices meanvarname = variable name to store mean \end{verbatim} \piacommand{clmult} \label{clmult} \begin{verbatim} Multiply a cl by a constant Usage: clmult cl val \end{verbatim} \piacommand{clop} \label{clop} \begin{verbatim} operation on a cl Usage: clop cl(double) op1 cl1(double) [op2 cl2(double)] [op2 cl3(double)] [...] Do "cl op1= cl1", "cl op2=cl2", ... where op = +,-,*,/ \end{verbatim} \piacommand{clrebin} \label{clrebin} \begin{verbatim} rebin a cl into an ntuple Usage: clrebin cl ntuple nbin,bin0 nbin: rebin by nbin bin0: begin rebinning at bin bin0 (def=0) \end{verbatim} \piacommand{crmapmask} \label{crmapmask} \begin{verbatim} Create a map mask(double) (nside) between latitudes lat1,lat2 longitudes lon1,lon2 Usage: crmapmask mapmsk(double) nside lat1,lat2 lon1,lon2 [valmsk,valnomsk] mask pixels between [lat1,lat2] ([-90,90] in degrees) and [lon1,lon2] ([0,360[ in degrees) (for no mask "!") valmsk=value to be written into masked pixels (def=0) valnomsk=value to be written into unmasked pixels (def=1) (see command settypemap) \end{verbatim} \piacommand{crmaskfrmap} \label{crmaskfrmap} \begin{verbatim} Create a map mask(double) (nside) relative to an other map(double) pixels values Usage: crmaskfrmap mapmsk(double) nside map(double) v1,v2 [valmsk,valnomsk] mask if v10 use that pixel with weight msk(i) msk = "!" means no mask sphere meanvarname = variable name to store mean sigmavarname = variable name to store sigma ("!" means do not store) \end{verbatim} \piacommand{maskmap} \label{maskmap} \begin{verbatim} Mask a map(double) with a mask map(double) Usage: maskmap map msk operation is map(i) *= msk(theta,phi) \end{verbatim} \piacommand{settypemap} \label{settypemap} \begin{verbatim} Set le type de map(double) par default Usage: settypemap type type= H for Healpix (default) T for ThetaPhi \end{verbatim} \piacommand{typemap} \label{typemap} \begin{verbatim} Imprime le type de map Usage: typemap map \end{verbatim} \subsection{SophyaCmd} \label{SophyaCmd} \noindent \piacommand{mollgrid} \label{mollgrid} \begin{verbatim} Creates a spherical coordinate grid in Molleweide projection Usage: mollgrid [Nb_Parallel Nb_Meridien graphic_att] \end{verbatim} \piacommand{mollgridsph} \label{mollgridsph} \begin{verbatim} Creates a spherical coordinate grid in Molleweide projection Usage: mollgridsph NameSphericalMap [Nb_Parallel Nb_Meridien graphic_att] \end{verbatim} \piacommand{powerspec} \label{powerspec} \begin{verbatim} FFT on a vector -> Plots power spectrum Usage: fftp vecName vecFFT [graphic_att] \end{verbatim} \subsection{pawCmd} \label{pawCmd} \noindent \piacommand{h/cadd} \label{hZcadd} \begin{verbatim} Add a constant to an histogram, a vector or a matrix h/cadd namehisto val Related commands: h/cmult h/oper \end{verbatim} \piacommand{h/cmult} \label{hZcmult} \begin{verbatim} Multiply an histogram, a vector or a matrix by a constant h/cmult namehisto val Related commands: h/cadd h/oper \end{verbatim} \piacommand{h/copy} \label{hZcopy} \begin{verbatim} Copy content of object1 into object2 objects are Vector,Matrix,Histo,Histo2D h/copy namefrom nametocopy [i1[:i2]] [j1[:j2]] [ic1[:jc1]] copy obj1Dfrom(i1->i2) into obj1Dto(ic1->) copy obj2Dfrom(i1,j1->i2,j2) into obj2Dto(ic1,jc1->) Warning: elements from i1 to i2 included are copied If obj1Dto does not exist, is is created with size i2-i1+1 or obj2Dto with size i2-i1+1,j2-j1+1 The adressed content of obj?Dfrom is overwritten The non-adressed content of obj?Dfrom is left unchanged Related commands: copy \end{verbatim} \piacommand{h/deriv} \label{hZderiv} \begin{verbatim} Derivate a 1D histogram h/deriv nameh1d Related commands: h/integ v/integ v/deriv \end{verbatim} \piacommand{h/err} \label{hZerr} \begin{verbatim} Set Histo,Histo2D error to function of bin content value h/err namehisto expr_func Related commands: h/set/err \end{verbatim} \piacommand{h/get\_vec} \label{hZgetZvec} \begin{verbatim} Get content of histogram 1D profile or 2D into vector (matrix) h/get_vec nameh1d namevector [cont,err2,absc] [proj] h/get_vec nameh2d namematrix [cont,err2,absc] cont : get histogramme content err2 : get histogramme error^2 absc : get histogramme low bin abscissa (1D only) proj : show : show available projections for Histo2D px : get X projection py : get Y projection bx n : get X band number n by n : get Y band number n sx n : get X slice number n sy n : get Y slice number n Related commands: h/put_vec \end{verbatim} \piacommand{h/integ} \label{hZinteg} \begin{verbatim} Integrate a 1D histogram h/integ nameh1d [norm] norm<=0 means no normalisation (def norm=1) Related commands: h/deriv v/integ v/deriv \end{verbatim} \piacommand{h/oper} \label{hZoper} \begin{verbatim} Operation on histograms vectors or matrices h/oper @ h1 h2 hres hres = h1 @ h2 with @ = (+,-,*,/) For vectors and matrices, operations are elements by elements Related commands: h/cadd h/cmult \end{verbatim} \piacommand{h/plot/2d} \label{hZplotZ2d} \begin{verbatim} Specific plot for 2D histogrammes h/plot/2d nameh2d show : infos on 2D histogramme h/plot/2d nameh2d h [dopt] : plot 2D histogramme h/plot/2d nameh2d px [dopt] : plot X projection h/plot/2d nameh2d py [dopt] : plot Y projection h/plot/2d nameh2d bx n [dopt] : plot X band number n h/plot/2d nameh2d by n [dopt] : plot Y band number n h/plot/2d nameh2d sx n [dopt] : plot X slice number n h/plot/2d nameh2d sy n [dopt] : plot Y slice number n n < 0 means Show Info \end{verbatim} \piacommand{h/put\_vec} \label{hZputZvec} \begin{verbatim} Put content of vector (matrix) into content of histogram 1D or 2D h/put_vec nameh1d namevector [cont,err2] h/put_vec nameh2d namematrix [cont,err2] cont : put into histogramme content err2 : put into histogramme error^2 Related commands: h/get_vec \end{verbatim} \piacommand{h/rebin} \label{hZrebin} \begin{verbatim} Rebin a 1D histogram or profile h/rebin nameh1d nbin \end{verbatim} \piacommand{h/set/cont} \label{hZsetZcont} \begin{verbatim} Set Histo,Histo2D content for range of bins or range of values h/set/cont namehisto setvalue i1[:i2] [j1[:j2]] set content to setvalue for bin range i1:i2 j1:j2 h/set/cont namehisto setvalue v v1:v2 set content to setvalue for content values range v1:v2 h/set/cont namehisto setvalue e e1:e2 set content to setvalue for error values range v1:v2 Related commands: h/set/err \end{verbatim} \piacommand{h/set/err} \label{hZsetZerr} \begin{verbatim} Set Histo,Histo2D errors for range of bins or range of values h/set/err namehisto setvalue i1[:i2] [j1[:j2]] set error to setvalue for bin range i1:i2 j1:j2 h/set/err namehisto setvalue v v1:v2 set error to setvalue for content values range v1:v2 h/set/err namehisto setvalue e e1:e2 set error to setvalue for error values range v1:v2 Related commands: h/set/cont \end{verbatim} \piacommand{n/plot} \label{nZplot} \begin{verbatim} Plot NTuple variables a la paw (alias n/pl) n/plot nameobj.x_exp [cut] [w_exp] [loop] [gratt] n/plot nameobj.y_exp%x_exp [cut] [loop] [gratt] n/plot nameobj.z_exp%y_exp%x_exp [cut] [loop] [gratt] for default use ! , loop=i1[:i2[:di]] Related commands: plot2dw plot3d \end{verbatim} \piacommand{n/proj} \label{nZproj} \begin{verbatim} Project NTuple in histogram (1D or 2D) a la paw n/proj nameproj nameobj.x_exp [cut] [w_exp] [loop] [gratt] n/proj nameproj nameobj.y_exp%x_exp [cut] [w_exp] [loop] [gratt] for default use ! , loop=i1[:i2[:di]] Related commands: projh1d projh2d projprof exptovec \end{verbatim} \piacommand{n/scan} \label{nZscan} \begin{verbatim} Scan NTuple a la paw n/scan nameobj[.exp1%exp2%exp3] cut loop [-f:filename] [list_of_variables] loop : iev1[:iev2[:diev]] or ! cut : cut expression or 1. or ! list_of_variables : default is all variables : var1 var2 var3 ... varn : var1 : var2 (from var1 to var2) : : var2 (from first variable to var2) : var1 : (from var1 to last variable) ex: "v1 : v3 v7 v4 : v6 v2 v9 :" exp1%exp2%exp3 : if given add exp1,exp2,exp3 to the variable list -f:filename : write into "filename", Default is to stdout \end{verbatim} \piacommand{reset} \label{reset} \begin{verbatim} Reset histograms vectors or matrix reset nameobj \end{verbatim} \piacommand{v/deriv} \label{vZderiv} \begin{verbatim} Derivate a TVector / vector v/deriv namevec [deriv_option] deriv_option -1 replace v[i] with v[i]-v[i-1] 0 replace v[i] with (v[i+1]-v[i-1])/2 (default) +1 replace v[i] with v[i+1]-v[i] Related commands: h/integ h/deriv v/integ \end{verbatim} \piacommand{v/integ} \label{vZinteg} \begin{verbatim} Integrate a TVector / vector v/integ namevec [norm] norm<=0 means no normalisation (def norm=0) Related commands: h/integ h/deriv v/deriv \end{verbatim}