% ----- 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 FFT } (p. \pageref{FFT}) \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} CExpEvaluator & p. \pageref{CExpEvaluator} & 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} & stop & p. \pageref{stop} \\ \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} CExpEvaluator & p. \pageref{CExpEvaluator} & 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} & expmeansig & p. \pageref{expmeansig} & 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} \\ plot2dc & p. \pageref{plot2dc} & plot2de & p. \pageref{plot2de} & plot2dvec & p. \pageref{plot2dvec} \\ plot2dw & p. \pageref{plot2dw} & plot3d & p. \pageref{plot3d} & plot3dw & p. \pageref{plot3dw} \\ 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 FFT } help group} \rule{2cm}{0.5mm} \\ \vspace{3mm} \begin{tabular}{llllll} fftback & p. \pageref{fftback} & fftfilter & p. \pageref{fftfilter} & fftforw & p. \pageref{fftforw} \\ fftfuncfilter & p. \pageref{fftfuncfilter} & & & & \\ \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} & rdfitsarr & p. \pageref{rdfitsarr} & readfits & p. \pageref{readfits} \\ saveall & p. \pageref{saveall} & savefits & p. \pageref{savefits} & savelist & p. \pageref{savelist} \\ saveobjs & p. \pageref{saveobjs} & saveppf & p. \pageref{saveppf} & scanfits & p. \pageref{scanfits} \\ swfitstable & p. \pageref{swfitstable} & vecfrascii & p. \pageref{vecfrascii} & writefits & p. \pageref{writefits} \\ \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} & addfoval & p. \pageref{addfoval} \\ addfpoly & p. \pageref{addfpoly} & addfrect & p. \pageref{addfrect} & addline & p. \pageref{addline} \\ addmarker & p. \pageref{addmarker} & addoval & p. \pageref{addoval} & 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} bargraph & p. \pageref{bargraph} & contour & p. \pageref{contour} & disp & p. \pageref{disp} \\ gfd2d & p. \pageref{gfd2d} & gfd3d & p. \pageref{gfd3d} & imag & p. \pageref{imag} \\ imagnav & p. \pageref{imagnav} & nt2d & p. \pageref{nt2d} & nt2dci & p. \pageref{nt2dci} \\ nt2dcn & p. \pageref{nt2dcn} & nt2dvec & p. \pageref{nt2dvec} & nt3d & p. \pageref{nt3d} \\ ntcont & p. \pageref{ntcont} & surf & p. \pageref{surf} & textdrawer & p. \pageref{textdrawer} \\ 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} & ls & p. \pageref{ls} & 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} & newdt & p. \pageref{newdt} \\ 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} & objaoper & p. \pageref{objaoper} & 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} & stop & p. \pageref{stop} \\ \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} & resol2szidx & p. \pageref{resol2szidx} & settypemap & p. \pageref{settypemap} \\ szidx2resol & p. \pageref{szidx2resol} & 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} errorellipse & p. \pageref{errorellipse} & mollgrid & p. \pageref{mollgrid} & setprjmoldefval & p. \pageref{setprjmoldefval} \\ \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/2d/geth & p. \pageref{hZ2dZgeth} & 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} & herr/mean & p. \pageref{herrZmean} \\ herr/variance & p. \pageref{herrZvariance} & n/assoc/col & p. \pageref{nZassocZcol} & n/copy & p. \pageref{nZcopy} \\ n/merge & p. \pageref{nZmerge} & n/merge/col & p. \pageref{nZmergeZcol} & n/pl & p. \pageref{nZpl} \\ n/plot & p. \pageref{nZplot} & n/proj & p. \pageref{nZproj} & n/read & p. \pageref{nZread} \\ n/scan & p. \pageref{nZscan} & reset & p. \pageref{reset} & v/deriv & p. \pageref{vZderiv} \\ v/integ & p. \pageref{vZinteg} & v/sort & p. \pageref{vZsort} & & \\ \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{CExpEvaluator} \label{CExpEvaluator} \begin{verbatim} > Evaluation of C-like expression (used in V = C-like-Expression) >>> Arithmetic operators, parenthesis ( + - * / ) >>> Functions : sqrt fabs floor hypot ... exp log log10 pow ; sinh cosh tanh ... sin cos tan asin acos atan atan2 ... rand01() randpm1() gaurand() >>> Constants : Pi = M_PI E = M_E Example: x = 5.*(2.+sin(0.3*Pi)) \end{verbatim} \piahelpitem{Commander} \label{Commander} \begin{verbatim} >>> (Commander) Interpreter's keywords : > set varname string # To set a variable, $varname > unset varname # clear variable definition > rpneval varname RPNExpression # Reverse Polish Notation evaluation > varname = ArithmeticExpression # C-like Expression evaluation > varname = 'String' # Set variable vname > var2words varname wordvarname [sep] # to break varname into words > echo string # output string > echo2file filename string # Append the string to the specified file > alias name string # define a command alias > foreach varname ( string-list ) # Loop > for varname i1:i2[:di] # Integer loop > for varname f1:f2[:df] # Float loop > forinfile varname FileName # Loop over lines in file > 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 > thrlist # List of command execution threads (& as the last character) > clearthrlist # Removes finished threads from the list > killthr Id # Try to stop a given thread (ThrId=id) by sending SIGUSR1 > cancelthr Id # Try to cancel a given thread (ThrId=id) > waitthr # Waits until all active threads have finished (join()) > exec filename # Execute commands from file > help # usage info > sleep nsec # sleep nsec seconds > readstdin varname # reads a line from stdin into $varname > 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,nb,_nl - Histo2D: i,j,x,y,val,err,_nl - HistoErr: i,x,val,err2,nb,_nl - Histo2DErr: i,j,x,y,val,err2,nb,_nl - Vector/Matrix/Image: n,r,c,val,real,imag,mod,phas,_nl - TArray: n,x,y,z,t,u,val,real,imag,mod,phas,_nl - GeneralFitData: x0,ex0 x1,ex1 ... xn,exn y,ey ok ,_nl - SphereThetaPhi/SphereHEALPix/SphereECP/LocalMap: - 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{FFT} \label{FFT} \noindent \piacommand{fftback} \label{fftback} \begin{verbatim} FFT on a vector -> computes backward Fourier transform Usage: fftback vecSpec vecSig [graphic_att] [C/Z] vecSig = FFTBackward(vecSpec) vecSpec: Input data vector of type complex vecSig: Output Data vector of type r_8 (default) or complex if C/Z specified or vecSpec computed by fftforw on a complex vector See also : fftforw fftfilter fftfuncfilter \end{verbatim} \piacommand{fftfilter} \label{fftfilter} \begin{verbatim} Filter (multiply) vecSpec (vector complex) by Filter (vector) Usage: fftfilter vecSpec FilterVec vecFiltSpec [graphic_att] vecFiltSpec(i) = vecSpec(i) * complex(FilterVec(i),0) See also : fftforw fftbackw fftfuncfilter \end{verbatim} \piacommand{fftforw} \label{fftforw} \begin{verbatim} FFT on a vector -> computes forward Fourier transform Usage: fftforw vecSig vecSpec [graphic_att] vecSpec = FFTForward(vecSig) vecSig: Input data vector of type r_8 or complex vecSpec: Output data vector of type complex See also : fftback fftfilter fftfuncfilter \end{verbatim} \piacommand{fftfuncfilter} \label{fftfuncfilter} \begin{verbatim} Filter (multiply) vecSpec (vector complex) by FilterFunc(i) Usage: fftfilter vecSpec FilterFunc vecFiltSpec [graphic_att] vecFiltSpec(i) = vecSpec(i) * complex(FilterFunc(i),0) See also : fftforw fftbackw fftfilter \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) See also scanfits writefits readfits \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 or DataTable 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} openfits: alias for readfits \end{verbatim} \piacommand{openppf} \label{openppf} \begin{verbatim} Reads all or some objects from a PPF file Usage: (1) openppf filename Or (2) openppf -s filename (2) Or (3) openppf filename objname1 [ objname2 ...] The first form reads all objects at NameTags, or all objects if the file has no NameTags. The third reads only the objects with the specified nametags Related commands: saveppf saveall savelist \end{verbatim} \piacommand{print} \label{print} \begin{verbatim} Prints an object Usage: print nameobj [prtlev] prtlev = 0,1,2... default: prtlev=0 \end{verbatim} \piacommand{rdfitsarr} \label{rdfitsarr} \begin{verbatim} rdfitsarr: Read a single IMAGE HDU of a fits file as an array Usage: rdfitsarr FileName [arrType=D] [num_hdu=1] [arrName] [compd] ArrType= I/L/F/D: Array data type (int_4, int_8, r_4, r_8) compd : call array.CompactTrailingDimensions() See also readfits \end{verbatim} \piacommand{readfits} \label{readfits} \begin{verbatim} readfits: Read one or all HDU's of a fits file Usage: readfits [-nobsz] FileName [num_hdu] num_hdu=1,..,NbHDU (uses FitsManager) -nobsz: Ignore HDU BSCALE/BZERO values -> BSCALE=1, BZERO=0 See also rdfitsarr scanfits writefits fitsadapt swfitstable \end{verbatim} \piacommand{saveall} \label{saveall} \begin{verbatim} Saves all objects into a PPF file Usage: saveall filename Related commands: saveobj savelist openppf \end{verbatim} \piacommand{savefits} \label{savefits} \begin{verbatim} savefits: alias for writefits \end{verbatim} \piacommand{savelist} \label{savelist} \begin{verbatim} Usage: savelist objname1 [objname2 ...] filename Related commands: saveobj openppf \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 savelist saveall openppf \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 savelist saveall openppf \end{verbatim} \piacommand{scanfits} \label{scanfits} \begin{verbatim} scanfits: scan fits files and print information on each HDU Usage: scanfits FileName [slev=0...3] slev=1,3: header keywords , slev=2,3: try to read each HDU See also: readfits writefits fitsadapt \end{verbatim} \piacommand{swfitstable} \label{swfitstable} \begin{verbatim} swfitstable: Creates/read an SwFitsDataTable from a fits file SwFitsDataTable is a table which uses the BINARY-TBL of the fits file as swap space - useful for large tables Usage: swfitstable FileName [num_hdu=2] [segsize=512] See also: readfits scanfits \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} \piacommand{writefits} \label{writefits} \begin{verbatim} writefits: Write objects to a fits file Usage: writefits nameobj/pattern FileName See also: scanfits readfits fitsadapt \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 [gr_att] 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{addfoval} \label{addfoval} \begin{verbatim} Adds a filled oval (ellipse) to the current graphic object centered on xc,yc - semi-axis ds,dy (+ graphic attribute) The Base/AxesDrawer is used to handle added rectangle Alt to remove added element Usage: addfoval xc yc dx dy [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addoval addline addarrow addfrect addcirc addfcirc addcirc addfcirc 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{addoval} \label{addoval} \begin{verbatim} Adds an oval (ellipse) to the current graphic object centered on xc,yc - semi-axis ds,dy (+ graphic attribute) The Base/AxesDrawer is used to handle added rectangle Alt to remove added element Usage: addoval xc yc dx dy [GraphicAtt] [fgnc=false/true] if fgnc==true : Normalized 0..1 coordinates specification (def=false) Related commands: addfoval addline addarrow addfrect addcirc addfcirc 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 : Stop/break command execution by PIACmd/Commander 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 O : Displays a specific control window (default: PIDrawerTools) (2-D histograms, contour plot ...) o G : Show the PIDrawerTools (Graphic attributes of displayed Drawers) Drawer 0 manages the axes, as well as the added text o D : Shows the drawer manipulation pop-up menu 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 D : Shows the drawer manipulation pop-up menu o V : Copy/Paste / Text paste at the current cursor position o C : Copy/Paste / Copies the selected region 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) (2-D histograms, contour plot ...) o G : Show the PIDrawerTools (Graphic attributes of displayed Drawers) Drawer 0 manages the axes, as well as the added text o D : Shows the drawer manipulation pop-up menu 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) or by specifying a widget name samew=Widgetname o The widget/window name can be specified (gr_att wname=Name) o The overlay can be on a selected rectangle of the last displayed widget (gr_att: inset or inset=fxmin,fxmax,fymin,fymax) 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 or "color=name" "fgcolor=name" "bgcolor=name" ex: "color=red" >> Lines: defline normalline thinline thickline dashedline thindashedline thickdashedline dottedline thindottedline thickdottedline or "line=type,width" ex: "line=dotted,7" >> Fonts: > Att: deffontatt normalfont boldfont italicfont bolditalicfont smallfont smallboldfont smallitalicfont smallbolditalicfont bigfont bigboldfont bigitalicfont bigbolditalicfont hugefont hugeboldfont hugeitalicfont hugebolditalicfont > Names: deffont courierfont helveticafont timesfont symbolfont or "font=name,type,size" ex: "font=courrier,bolditalic,10" >> Marker: dotmarker plusmarker crossmarker circlemarker fcirclemarker boxmarker fboxmarker trianglemarker ftrianglemarker starmarker fstarmarker with = 1 3 5 7 .. 15 , Example fboxmarker5 , plusmarker9 ... or "marker=type,size" ex: "marker=plus,10" >> ArrowMarker: basicarrow trianglearrow ftrianglearrow arrowshapedarrow farrowshapedarrow with = 5 7 .. 15 , Example trianglearrow7 ... or "arrow=type,size" ex: "arrow=arrowshaped,10" ------ Specific options for image displays: >> 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 : reverse colorMap >> ZoomFactors : zoomxN ex: zoomx1 zoomx2 zoomx3 ... zoom/N ex: zoom/2 zoom/3 zoom/4 ... >> imagecenter=ix,iy : Position the image in widget >> lut=ltyp,min,max : Sets LUT type and min/max (ltyp=lin/log/sqrt/square) >> autolut=alt[,ns[,min,max]] : AutoLut method selection (alt=minmax/meansig/hispeak/histail/hisrng) >> invx,invy,exchxy : image axes configuration --- General purpose options: >> stat,stats / nsta,nstat,nostat,nostats : Toggle statistic display >> title,tit / notitle,notit -> Toggle automatic title display >> Choose display window: next same win stack inset >> for Axes / Axe labels / LogScale / xylimits / defdrrect see setaxesatt command 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 axescenter=x0,y0 (only with centered axes, default "axescenter=") 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) >> Scale type: linx liny logx logy -> Lin/Log Scales for 2D plots >> AxeDirection: Reverse X/Y axe drawing direction revax revay axelr axedu (or axerl/axeud -> revax/revay) >> 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{bargraph} \label{bargraph} \begin{verbatim} Bar-Graph view of a sequence of values Usage: bargraph ValueVarName [gr_opt] or bargraph ValueVarName LabelVarName ColPosVarName [gr_opt] ValueVarName,LabelVarName,ColPosVarName are PIACmd interpreter variable name (vectors) - ValueVarName: Sequence of values to be represented - LabelVarName: Corresponding labels - ColPosVarName: Corresponding colors or color,position pairs Use a dash (-) or ! as placeholder for LabelVarName/ColPosVarName Specific graphic options: fill/nofill packfrac=value horizontalbars/verticalbars barvaluelabel/nobarvaluelabel Related commands: disp nt2d vecplot ... \end{verbatim} \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 imagnav surf nt2d nt3d vecplot \end{verbatim} \piacommand{imagnav} \label{imagnav} \begin{verbatim} Displays an object as an image with the ImageNavigator viewer Usage: imagnav nameobj [graphic_attributes] Related commands: disp imag 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 nt2dcn nt2dci nt3d gfd2d vecplot \end{verbatim} \piacommand{nt2dci} \label{nt2dci} \begin{verbatim} with colors specified by a column content (as color index) Usage : nt2dci nameobj color varx vary [errx erry wt label graphic_attributes] Related commands: disp surf nt2d nt2dci nt3d gfd2d vecplot \end{verbatim} \piacommand{nt2dcn} \label{nt2dcn} \begin{verbatim} with colors specified by a column content (as color names) Usage : nt2dcn nameobj color varx vary [errx erry wt label graphic_attributes] Related commands: disp surf nt2d nt2dci 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{textdrawer} \label{textdrawer} \begin{verbatim} Multi line text darwer Usage : textdrawer LinesVarName AttVarName [gr_opt] LinesVarName,AttVarName are PIACmd interpreter variables - LinesVarName: Lines to be displayed - AttVarName: Corresponding font/marker/color attributes Use a dash (-) or ! as placeholder for AttVarName Specific graphic options: frame/noframe Related commands: disp ... \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=*] Or listobjs patt VarName Obj. name pattern patt in the form abc?x* or /*/x?y ... \end{verbatim} \piacommand{ls} \label{ls} \begin{verbatim} Alias for listobjs Usage: ls [patt=*] [VarName] \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{newdt} \label{newdt} \begin{verbatim} Creates a datatable Usage: newdt name v1:t1 v2:t2 v3:t3 .. vn:tn newdt name nvar vi : variable name ti : variable type r8,r4 for 8 and 4 bytes float i8,i4 for 8 and 4 bytes signed integer s for string Related commands: newnt newh1d newh2d newprof[e] newgfd \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] newdt newnt \end{verbatim} \piacommand{newh1d} \label{newh1d} \begin{verbatim} Creates a 1D histogramm Usage: newh1d name xmin xmax nbin Related commands: newh2d newprof[e] newdt 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] newdt 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: newdt 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 newdt 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 newdt 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{objaoper} \label{objaoper} \begin{verbatim} Perform an operation through the object adapter NObjMgrAdapter::PerformOperation() Usage: objaoper objname operation [arg1 ...] Examples of defined operations : Matrices: row indx_row , col indx_col Arrays: slicexy indx_Z , slicexz indx_Y, sliceyz indxX \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} \piahelpitem{stop} \label{stop} \begin{verbatim} To stop (break) interpreter (PIACmd/Commander) execution \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{resol2szidx} \label{resol2szidx} \begin{verbatim} Compute SizeIndex value (=nside for HEALPix) for a given resolution, (resol in arcminutes) Usage: resol2szidx resol \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{szidx2resol} \label{szidx2resol} \begin{verbatim} Compute resolution for a given SizeIndex (=nside for HEALPix) Usage: szidx2resol szidx_m \end{verbatim} \piacommand{typemap} \label{typemap} \begin{verbatim} Imprime le type de map Usage: typemap map \end{verbatim} \subsection{SophyaCmd} \label{SophyaCmd} \noindent \piacommand{errorellipse} \label{errorellipse} \begin{verbatim} Adds an error ellipse, specified by its center (xc,yc) and error matrix (covariance) parameters SigX^2,SigY^2,Covar A global scaling parameters scale , graphic attributes and nomber of points can optionnaly be specified if the -fill flag specified, plots a filled ellipse \end{verbatim} \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{setprjmoldefval} \label{setprjmoldefval} \begin{verbatim} Set default value for Molleweide projection of spherical maps (outside maps) Usage: setprjmoldefval OutOfMapValue \end{verbatim} \subsection{pawCmd} \label{pawCmd} \noindent \piacommand{h/2d/geth} \label{hZ2dZgeth} \begin{verbatim} Get histo projections, bandes and slices h/2d/geth nameh2d : infos on 2D histogramme projections h/2d/geth h nameh2d px : copy X projection into histo h h/2d/geth h nameh2d py : copy Y projection into histo h h/2d/geth h nameh2d bx n : copy X band number n into histo h h/2d/geth h nameh2d by n : copy Y band number n into histo h h/2d/geth h nameh2d sx n : copy X slice number n into histo h h/2d/geth h nameh2d sy n : copy Y slice number n into histo h Related commands: h/plot/2d \end{verbatim} \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 projections 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{herr/mean} \label{herrZmean} \begin{verbatim} Perform bin mean computation for HistoErr and Histo2DErr herr/mean nameherr todo todo = +1 : compute mean = -1 : cancel computation \end{verbatim} \piacommand{herr/variance} \label{herrZvariance} \begin{verbatim} Perform bin mean and variance computation for HistoErr and Histo2DErr herr/variance nameherr todo todo = +1 : compute mean and variance = -1 : cancel computation \end{verbatim} \piacommand{n/assoc/col} \label{nZassocZcol} \begin{verbatim} Merge ntuples columns with an association index n/assoc/col ntass[,u/i] nt_1[,ext] nt_2[,ext] nt_assoc[,icass] Merge ntuples nt_1 and nt_2 columns into ntuple ntass with line association number given by ntuple nt_assoc --- icass: association number given by column "icass" of nt_assoc (def=0) --- ext : character string to add at the end of the ntuple variable names if "ext"="!" no extension is added if no "ext" is given, automatic extension "_0" "_1" "_2" ... --- u : do the union of all the lines of nt_1 and nt_2 (all ssociated and un-associated lines of nt_1 and nt_2) i : do the intersection of all the lines of nt_1 and nt_2 (only associated lines of nt_1 and nt_2) def : write all lines of nt_1 with possible associated line of nt_2 (number of entries of ntass = number of entries of nt_1) \end{verbatim} \piacommand{n/copy} \label{nZcopy} \begin{verbatim} Copy all or some variables of a ntuple into another new ntuple n/merge ntnew nt [vname1 vname2 vname3 ...] \end{verbatim} \piacommand{n/merge} \label{nZmerge} \begin{verbatim} Merge ntuples (by adding lines) n/merge nt nt_1 nt_2 ... nt_n Merge ntuples nt_i lines into ntuple nt \end{verbatim} \piacommand{n/merge/col} \label{nZmergeZcol} \begin{verbatim} Merge ntuples (by adding columns for each line) n/merge/col nt nt_1[,ext] nt_2[,ext] ... nt_n[,ext] Merge ntuples nt_i columns into ntuple nt ext : character string to add at the end of the ntuple variable names if "ext"="!" no extension is added if no "ext" is given, automatic extension "_0" "_1" "_2" ... \end{verbatim} \piacommand{n/pl} \label{nZpl} \begin{verbatim} alias to n/plot (see n/plot) \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]] for 1 dimensional (1D) projection: use graphic option "keepbin" to keep previous plot binning for 1D distribution 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]] for 1 dimensional (1D) projection: no display is performed if "nameproj" is an existing histogram unless a graphic option "gratt" is given Related commands: projh1d projh2d projprof exptovec \end{verbatim} \piacommand{n/read} \label{nZread} \begin{verbatim} Read columns in an ASCII file and fill a NTuple or a DataTable n/read nt fascii [options] var_1,c_1 var_2,c_2 ... var_n,c_n nt : NTuple or DataTable (see options) name var_i,c_i : variable name, associated column in ASCII file [0,n[ where [options] are: "-dt": create a DataTable of double instead of a NTuple "=s": separator character is 's' (could be " ") "-^abcd": do not read lines beginning with string "abcd" "+^abcd": read only lines beginning with string "abcd" "-abcd": do not read lines which contain string "abcd" "+abcd": read only lines which contain string "abcd" these options may be repeated (ex: "-^abcd" "-^xyz") - in case of "do not read" options are added with logical AND - in case of "read only" options are added with logical OR \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} \piacommand{v/sort} \label{vZsort} \begin{verbatim} Sort a vector into itself v/sort namevec [+1/-1] "+1" means increasing order, "-1" decreasing order \end{verbatim}