source: Sophya/trunk/SophyaLib/Manual/piahelp.tex@ 2807

Last change on this file since 2807 was 2548, checked in by ansari, 21 years ago

Ajout d'un ancien fichier de description de modules + dependences de SOPHYA, datant d'Aout 2002 - Reza 3 Juin 2004

File size: 78.1 KB
Line 
1% ----- Liste des groupes de Help -----
2List of {\bf piapp} on-line Help groups:
3\begin{itemize}
4\item {\bf Commander } (p. \pageref{Commander})
5\item {\bf CxxExecutorCmd } (p. \pageref{CxxExecutorCmd})
6\item {\bf Expr. Arithmetic } (p. \pageref{ExprZZArithmetic})
7\item {\bf Expr. Plotting } (p. \pageref{ExprZZPlotting})
8\item {\bf External Modules } (p. \pageref{ExternalZModules})
9\item {\bf FileIO } (p. \pageref{FileIO})
10\item {\bf Fitting } (p. \pageref{Fitting})
11\item {\bf Func Plot } (p. \pageref{FuncZPlot})
12\item {\bf Graphic-Elts } (p. \pageref{GraphicZElts})
13\item {\bf Graphics } (p. \pageref{Graphics})
14\item {\bf Obj. Display } (p. \pageref{ObjZZDisplay})
15\item {\bf Object Management } (p. \pageref{ObjectZManagement})
16\item {\bf Objects } (p. \pageref{Objects})
17\item {\bf PIACmd } (p. \pageref{PIACmd})
18\item {\bf SkyMapCmd } (p. \pageref{SkyMapCmd})
19\item {\bf SophyaCmd } (p. \pageref{SophyaCmd})
20\item {\bf pawCmd } (p. \pageref{pawCmd})
21\end{itemize}
22\vspace*{10mm}
23% ----- Liste de toutes les commandes et help item -----
24\vspace{5mm}
25\begin{center}
26 \rule{2cm}{1mm} List of {\bf piapp} Help items \rule{2cm}{1mm} \\
27\vspace{3mm}
28\begin{tabular}{llllll}
29Commander & p. \pageref{Commander} & ObjectExpressions & p. \pageref{ObjectExpressions} & PIConsole & p. \pageref{PIConsole} \\
30PIDraw3DWdg & p. \pageref{PIDraw3DWdg} & PIImage & p. \pageref{PIImage} & PIScDrawWdg & p. \pageref{PIScDrawWdg} \\
31RPNEvaluator & p. \pageref{RPNEvaluator} & Windows & p. \pageref{Windows} & autoiniranf & p. \pageref{autoiniranf} \\
32exitpiapp & p. \pageref{exitpiapp} & helpfit & p. \pageref{helpfit} & helpwindow & p. \pageref{helpwindow} \\
33shell execute & p. \pageref{shellZexecute} & & & & \\
34\end{tabular}
35\end{center}
36\newpage
37\vspace{6mm}
38\begin{center}
39 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Commander } help group} \rule{2cm}{0.5mm} \\
40\vspace{3mm}
41\begin{tabular}{llllll}
42Commander & p. \pageref{Commander} & RPNEvaluator & p. \pageref{RPNEvaluator} & autoiniranf & p. \pageref{autoiniranf} \\
43shell execute & p. \pageref{shellZexecute} & & & & \\
44\end{tabular}
45\end{center}
46\vspace{6mm}
47\begin{center}
48 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf CxxExecutorCmd } help group} \rule{2cm}{0.5mm} \\
49\vspace{3mm}
50\begin{tabular}{llllll}
51c++args & p. \pageref{cZZargs} & c++compile & p. \pageref{cZZcompile} & c++compileopt & p. \pageref{cZZcompileopt} \\
52c++create & p. \pageref{cZZcreate} & c++createfrf & p. \pageref{cZZcreatefrf} & c++declareomgvar & p. \pageref{cZZdeclareomgvar} \\
53c++exec & p. \pageref{cZZexec} & c++execfrf & p. \pageref{cZZexecfrf} & c++import & p. \pageref{cZZimport} \\
54c++include & p. \pageref{cZZinclude} & c++link & p. \pageref{cZZlink} & c++linkopt & p. \pageref{cZZlinkopt} \\
55c++mylibs & p. \pageref{cZZmylibs} & c++prtlevel & p. \pageref{cZZprtlevel} & & \\
56\end{tabular}
57\end{center}
58\vspace{6mm}
59\begin{center}
60 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Expr. Arithmetic } help group} \rule{2cm}{0.5mm} \\
61\vspace{3mm}
62\begin{tabular}{llllll}
63eval & p. \pageref{eval} & & & & \\
64\end{tabular}
65\end{center}
66\vspace{6mm}
67\begin{center}
68 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Expr. Plotting } help group} \rule{2cm}{0.5mm} \\
69\vspace{3mm}
70\begin{tabular}{llllll}
71ObjectExpressions & p. \pageref{ObjectExpressions} & exptovec & p. \pageref{exptovec} & fillgd1 & p. \pageref{fillgd1} \\
72fillgd2 & p. \pageref{fillgd2} & fillmtx & p. \pageref{fillmtx} & fillnt & p. \pageref{fillnt} \\
73fillvec & p. \pageref{fillvec} & gdfrvec & p. \pageref{gdfrvec} & ntexpcfile & p. \pageref{ntexpcfile} \\
74ntloop & p. \pageref{ntloop} & plot2d & p. \pageref{plot2d} & plot2de & p. \pageref{plot2de} \\
75plot2dvec & p. \pageref{plot2dvec} & plot2dw & p. \pageref{plot2dw} & plot3d & p. \pageref{plot3d} \\
76projh1d & p. \pageref{projh1d} & projh2d & p. \pageref{projh2d} & projprof & p. \pageref{projprof} \\
77\end{tabular}
78\end{center}
79\vspace{6mm}
80\begin{center}
81 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf External Modules } help group} \rule{2cm}{0.5mm} \\
82\vspace{3mm}
83\begin{tabular}{llllll}
84call & p. \pageref{call} & link & p. \pageref{link} & linkff2 & p. \pageref{linkff2} \\
85loadmodule & p. \pageref{loadmodule} & & & & \\
86\end{tabular}
87\end{center}
88\vspace{6mm}
89\begin{center}
90 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf FileIO } help group} \rule{2cm}{0.5mm} \\
91\vspace{3mm}
92\begin{tabular}{llllll}
93arrtoascii & p. \pageref{arrtoascii} & fitsadapt & p. \pageref{fitsadapt} & mtxfrascii & p. \pageref{mtxfrascii} \\
94ntfrascii & p. \pageref{ntfrascii} & openfits & p. \pageref{openfits} & openppf & p. \pageref{openppf} \\
95print & p. \pageref{print} & saveall & p. \pageref{saveall} & savefits & p. \pageref{savefits} \\
96saveobjs & p. \pageref{saveobjs} & saveppf & p. \pageref{saveppf} & vecfrascii & p. \pageref{vecfrascii} \\
97\end{tabular}
98\end{center}
99\vspace{6mm}
100\begin{center}
101 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Fitting } help group} \rule{2cm}{0.5mm} \\
102\vspace{3mm}
103\begin{tabular}{llllll}
104helpfit & p. \pageref{helpfit} & crfitfil & p. \pageref{crfitfil} & crfitfun & p. \pageref{crfitfun} \\
105fit & p. \pageref{fit} & fitlin & p. \pageref{fitlin} & fitw & p. \pageref{fitw} \\
106\end{tabular}
107\end{center}
108\vspace{6mm}
109\begin{center}
110 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Func Plot } help group} \rule{2cm}{0.5mm} \\
111\vspace{3mm}
112\begin{tabular}{llllll}
113func & p. \pageref{func} & func2d & p. \pageref{func2d} & func2dff & p. \pageref{func2dff} \\
114funcff & p. \pageref{funcff} & & & & \\
115\end{tabular}
116\end{center}
117\vspace{6mm}
118\begin{center}
119 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Graphic-Elts } help group} \rule{2cm}{0.5mm} \\
120\vspace{3mm}
121\begin{tabular}{llllll}
122addarc & p. \pageref{addarc} & addarca & p. \pageref{addarca} & addarrow & p. \pageref{addarrow} \\
123addcirc & p. \pageref{addcirc} & addctext & p. \pageref{addctext} & addfarc & p. \pageref{addfarc} \\
124addfarca & p. \pageref{addfarca} & addfcirc & p. \pageref{addfcirc} & addfpoly & p. \pageref{addfpoly} \\
125addfrect & p. \pageref{addfrect} & addline & p. \pageref{addline} & addmarker & p. \pageref{addmarker} \\
126addpoly & p. \pageref{addpoly} & addrect & p. \pageref{addrect} & addtext & p. \pageref{addtext} \\
127\end{tabular}
128\end{center}
129\vspace{6mm}
130\begin{center}
131 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Graphics } help group} \rule{2cm}{0.5mm} \\
132\vspace{3mm}
133\begin{tabular}{llllll}
134PIConsole & p. \pageref{PIConsole} & PIDraw3DWdg & p. \pageref{PIDraw3DWdg} & PIImage & p. \pageref{PIImage} \\
135PIScDrawWdg & p. \pageref{PIScDrawWdg} & Windows & p. \pageref{Windows} & addaxelabels & p. \pageref{addaxelabels} \\
136addtitle & p. \pageref{addtitle} & drpanel & p. \pageref{drpanel} & graphicatt & p. \pageref{graphicatt} \\
137imagcmap2eps & p. \pageref{imagcmap2eps} & imagcmap2ps & p. \pageref{imagcmap2ps} & newwin & p. \pageref{newwin} \\
138psclosefile & p. \pageref{psclosefile} & psgetfilename & p. \pageref{psgetfilename} & pssetfilename & p. \pageref{pssetfilename} \\
139setaxelabels & p. \pageref{setaxelabels} & setaxesatt & p. \pageref{setaxesatt} & setinsetlimits & p. \pageref{setinsetlimits} \\
140settitle & p. \pageref{settitle} & stacknext & p. \pageref{stacknext} & w2eps & p. \pageref{w2eps} \\
141w2ps & p. \pageref{w2ps} & zone & p. \pageref{zone} & & \\
142\end{tabular}
143\end{center}
144\vspace{6mm}
145\begin{center}
146 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Obj. Display } help group} \rule{2cm}{0.5mm} \\
147\vspace{3mm}
148\begin{tabular}{llllll}
149contour & p. \pageref{contour} & disp & p. \pageref{disp} & gfd2d & p. \pageref{gfd2d} \\
150gfd3d & p. \pageref{gfd3d} & imag & p. \pageref{imag} & nt2d & p. \pageref{nt2d} \\
151nt2dvec & p. \pageref{nt2dvec} & nt3d & p. \pageref{nt3d} & ntcont & p. \pageref{ntcont} \\
152surf & p. \pageref{surf} & vecplot & p. \pageref{vecplot} & & \\
153\end{tabular}
154\end{center}
155\vspace{6mm}
156\begin{center}
157 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Object Management } help group} \rule{2cm}{0.5mm} \\
158\vspace{3mm}
159\begin{tabular}{llllll}
160cd & p. \pageref{cd} & copy & p. \pageref{copy} & cp & p. \pageref{cp} \\
161del & p. \pageref{del} & delobjs & p. \pageref{delobjs} & listdirs & p. \pageref{listdirs} \\
162listobjs & p. \pageref{listobjs} & mkdir & p. \pageref{mkdir} & mv & p. \pageref{mv} \\
163pwd & p. \pageref{pwd} & rename & p. \pageref{rename} & rm & p. \pageref{rm} \\
164rmdir & p. \pageref{rmdir} & setdiratt & p. \pageref{setdiratt} & & \\
165\end{tabular}
166\end{center}
167\vspace{6mm}
168\begin{center}
169 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf Objects } help group} \rule{2cm}{0.5mm} \\
170\vspace{3mm}
171\begin{tabular}{llllll}
172line2nt & p. \pageref{line2nt} & line2vec & p. \pageref{line2vec} & newgfd & p. \pageref{newgfd} \\
173newh1d & p. \pageref{newh1d} & newh2d & p. \pageref{newh2d} & newmtx & p. \pageref{newmtx} \\
174newnt & p. \pageref{newnt} & newprof & p. \pageref{newprof} & newprofe & p. \pageref{newprofe} \\
175newvec & p. \pageref{newvec} & ntcol2var & p. \pageref{ntcol2var} & ntline2var & p. \pageref{ntline2var} \\
176vec2var & p. \pageref{vec2var} & & & & \\
177\end{tabular}
178\end{center}
179\vspace{6mm}
180\begin{center}
181 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf PIACmd } help group} \rule{2cm}{0.5mm} \\
182\vspace{3mm}
183\begin{tabular}{llllll}
184exitpiapp & p. \pageref{exitpiapp} & helpwindow & p. \pageref{helpwindow} & & \\
185\end{tabular}
186\end{center}
187\vspace{6mm}
188\begin{center}
189 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf SkyMapCmd } help group} \rule{2cm}{0.5mm} \\
190\vspace{3mm}
191\begin{tabular}{llllll}
192alm2cl & p. \pageref{alm2cl} & alm2map & p. \pageref{alm2map} & cl2llcl & p. \pageref{cl2llcl} \\
193cl2map & p. \pageref{cl2map} & clmean & p. \pageref{clmean} & clmult & p. \pageref{clmult} \\
194clop & p. \pageref{clop} & clrebin & p. \pageref{clrebin} & crmapmask & p. \pageref{crmapmask} \\
195crmaskfrmap & p. \pageref{crmaskfrmap} & map2alm & p. \pageref{map2alm} & map2cl & p. \pageref{map2cl} \\
196map2double & p. \pageref{map2double} & map2float & p. \pageref{map2float} & map2local & p. \pageref{map2local} \\
197map2map & p. \pageref{map2map} & mapcover & p. \pageref{mapcover} & mapmult & p. \pageref{mapmult} \\
198mapop & p. \pageref{mapop} & maproj & p. \pageref{maproj} & mapstat & p. \pageref{mapstat} \\
199maskmap & p. \pageref{maskmap} & settypemap & p. \pageref{settypemap} & typemap & p. \pageref{typemap} \\
200\end{tabular}
201\end{center}
202\vspace{6mm}
203\begin{center}
204 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf SophyaCmd } help group} \rule{2cm}{0.5mm} \\
205\vspace{3mm}
206\begin{tabular}{llllll}
207mollgrid & p. \pageref{mollgrid} & mollgridsph & p. \pageref{mollgridsph} & powerspec & p. \pageref{powerspec} \\
208\end{tabular}
209\end{center}
210\vspace{6mm}
211\begin{center}
212 \rule{2cm}{0.5mm} \makebox[60mm]{{ \bf pawCmd } help group} \rule{2cm}{0.5mm} \\
213\vspace{3mm}
214\begin{tabular}{llllll}
215h/cadd & p. \pageref{hZcadd} & h/cmult & p. \pageref{hZcmult} & h/copy & p. \pageref{hZcopy} \\
216h/deriv & p. \pageref{hZderiv} & h/err & p. \pageref{hZerr} & h/get\_vec & p. \pageref{hZgetZvec} \\
217h/integ & p. \pageref{hZinteg} & h/oper & p. \pageref{hZoper} & h/plot/2d & p. \pageref{hZplotZ2d} \\
218h/put\_vec & p. \pageref{hZputZvec} & h/rebin & p. \pageref{hZrebin} & h/set/cont & p. \pageref{hZsetZcont} \\
219h/set/err & p. \pageref{hZsetZerr} & n/plot & p. \pageref{nZplot} & n/proj & p. \pageref{nZproj} \\
220n/scan & p. \pageref{nZscan} & reset & p. \pageref{reset} & v/deriv & p. \pageref{vZderiv} \\
221v/integ & p. \pageref{vZinteg} & & & & \\
222\end{tabular}
223\end{center}
224% ----- Liste des commandes dans chaque groupe -----
225\newpage
226\subsection{Commander} \label{Commander}
227Basic (generic) interpreter (class SOPHYA::Commander) builtin commands
228 \\[2mm] \noindent
229\piahelpitem{Commander} \label{Commander}
230\begin{verbatim}
231>>> (Commander) Interpreter's keywords :
232 > set varname string # To set a variable, $varname
233 > get newvarname varname # To set a newvariable, equal to $varname
234 > setol varname patt # Fills varname with object list
235 > unset varname # clear variable definition
236 > rpneval varname RPNExpression # Reverse Polish Notation evaluation
237 > varname = 'string string ...' # To set a variable, $varname
238 > varname = RPNExpression # RPN evaluation / result -> varname
239 > echo string # output string
240 > echo2file filename string # Append the string to the specified file
241 > alias name string # define a command alias
242 > readstdin varname # reads a line from stdin into $varname
243 > foreach varname ( string-list ) # Loop
244 > for varname i1:i2[:di] # Integer loop
245 > for varname f1:f2[:df] # Float loop
246 > end # end loops
247 > if ( test ) then # Conditional test : a == != < > <= >= b
248 > else # Conditional
249 > endif # End of conditional if bloc
250 > break # Delete (clears) all test and loop blocs
251 > return # Stops command execution from a file
252 > defscript endscript # Command script definition
253 > listvars # List of variable names and values
254 > listalias # List of alias names and values
255 > listcommands # List of all known commands
256 > listscripts # List of all known scripts
257 > clearcript # Clear a script definition
258 > exec filename # Execute commands from file
259 > help <command_name> # <command_name> usage info
260 > timingon timingoff traceon traceoff
261
262\end{verbatim}
263\piahelpitem{RPNEvaluator} \label{RPNEvaluator}
264\begin{verbatim}
265 Reverse Polish Notation (HP calculator like) expression evaluation
266 >> Stack:
267 ... (4) (3) z=(2) y=(1) x=(0)=Stack.Top()
268 >> Examples:
269 - sin(PI/6): pi 6 / sin
270 - 1*2*...*5: 1 2 3 4 5 product
271 - x=x+y: x = $x $y *
272 >>> Stack operations :
273 print x<>y pop push (duplicate x)
274 >>> Constants (Cst pushed to stack):
275 pi e
276 >>> Arithmetic operators (x,y) --> x@y
277 + - * / % ( (int)y % (int)x )
278 >>> F(X): x --> F(x)
279 chs sqrt sq log log10 exp
280 fabs floor ceil
281 cos sin tan acos asin atan deg2rad rad2deg
282 >>> F(X,Y): (x,y) --> F(x,y)
283 pow atan2
284 >>> F(): random number generators
285 rand (flat 0..1) norand (normal/gaussian)
286 >>> Stack sum/product/mean/sigma/sigma^2
287 sum product mean sigma sigma2 sigmean (y->sigma x->mean)
288
289\end{verbatim}
290\piahelpitem{autoiniranf} \label{autoiniranf}
291\begin{verbatim}
292> Automatic random number generator initialisation
293 by Auto_Ini_Ranf(int lp)
294 Usage: autoiniranf
295\end{verbatim}
296\piahelpitem{shell execute} \label{shellZexecute}
297\begin{verbatim}
298> shell command_string # Execute shell command
299> cshell command_string # Execute cshell command
300---Examples:
301 > shell ls
302 > cshell echo '$LD_LIBRARY_PATH'; map2cl -h; ls
303 > shell myfile.csh [arg1] [arg2] [...]
304 (where the first line of "myfile.csh" is "#!/bin/csh")
305
306\end{verbatim}
307\subsection{CxxExecutorCmd} \label{CxxExecutorCmd}
308\noindent
309\piacommand{c++args} \label{cZZargs}
310\begin{verbatim}
311c++args: Define user function arguments for c++exec and c++execfrf
312Usage: c++args arg1 arg2 arg3 ...
313 c++args -? : give current arguments
314 c++args : reset current arguments
315\end{verbatim}
316\piacommand{c++compile} \label{cZZcompile}
317\begin{verbatim}
318c++compile: compile a file (file.cc -> file.so)
319Usage: c++compile file
320Warning: give "file" or "file.so" to create "file.so" from "file.cc"
321 : to be used before c++link
322\end{verbatim}
323\piacommand{c++compileopt} \label{cZZcompileopt}
324\begin{verbatim}
325c++compileopt: add personnal compile options
326Usage: c++compileopt -g -O5 -IMy_Inc_Dir ...
327 c++compileopt -? : list current additionnal compile options
328 c++compileopt : reset to no additionnal compile options
329Warning: to be used before c++create c++compile c++exec ...
330\end{verbatim}
331\piacommand{c++create} \label{cZZcreate}
332\begin{verbatim}
333c++create: create a file "file.cc" to be used by spiapp
334Usage: c++create file.cc func c++ user code...
335
336\end{verbatim}
337\piacommand{c++createfrf} \label{cZZcreatefrf}
338\begin{verbatim}
339c++createfrf: create a file "file.cc" to be used by spiapp
340 with a user file code "fileuser.cc"
341 and an optional user function code "fileuserfct.cc"
342Usage: c++createfrf file.cc func fileuser.cc [fileuserfct.cc]
343
344\end{verbatim}
345\piacommand{c++declareomgvar} \label{cZZdeclareomgvar}
346\begin{verbatim}
347c++declareomgvar: Activate/Deactivate ObjectManager variables declaration
348Usage: c++declareomgvar [false/true]
349 if true, the ObjectManager variables are declared as $varname
350 no arguments: display the current status of the flag (default=false
351
352\end{verbatim}
353\piacommand{c++exec} \label{cZZexec}
354\begin{verbatim}
355c++exec: Execute the following c++ user code
356Usage: c++exec c++ user code
357Warning: c++ user code can be found in "TmpDir/cxx_spiapp.h"
358 total generated code can be found in "TmpDir/cxx_spiapp.cc"
359\end{verbatim}
360\piacommand{c++execfrf} \label{cZZexecfrf}
361\begin{verbatim}
362c++execfrf: Execute c++ user_code [user_function_code]
363Usage: c++execfrf fileuser.cc [fileuserfct.cc]
364Warning: total generated code can be found in "TmpDir/cxx_spiapp.cc"
365\end{verbatim}
366\piacommand{c++import} \label{cZZimport}
367\begin{verbatim}
368c++import: Sophya additionnal modules to be use in C++ executor
369Usage: c++import module1 ... : set list of modules to be used by executor
370 c++import all : set all modules known by executor
371 c++import : reset to no additionnal module
372 c++import -? : list modules currently used in executor
373 c++import -?? : list of available modules for executor
374Warning: to be used before c++create c++compile c++exec ...
375\end{verbatim}
376\piacommand{c++include} \label{cZZinclude}
377\begin{verbatim}
378c++include: add personnal includes to be used by executor
379Usage: c++include myinc1.h myinc2.h ...
380 c++include -? : list current additionnal include files
381 c++include : reset to no additionnal include files
382Warning: to be used before c++create c++compile c++exec...
383\end{verbatim}
384\piacommand{c++link} \label{cZZlink}
385\begin{verbatim}
386c++link: link function "func" in file.so to spiapp
387Usage: c++link file.so func
388\end{verbatim}
389\piacommand{c++linkopt} \label{cZZlinkopt}
390\begin{verbatim}
391c++linkopt: add personnal link options
392Usage: c++linkopt -g -O5 ...
393 c++linkopt -? : list current additionnal link options
394 c++linkopt : reset to no additionnal link options
395Warning: to be used before c++create c++compile c++exec ...
396\end{verbatim}
397\piacommand{c++mylibs} \label{cZZmylibs}
398\begin{verbatim}
399c++mylibs: add personnal libraries
400Usage: c++mylibs -LMy_Lib_Dir -lmylib1 -lmylib2 ...
401 c++mylibs -? : list current additionnal libraries
402 c++mylibs : reset to no additionnal libraries
403Warning: to be used before c++create c++compile c++exec ...
404\end{verbatim}
405\piacommand{c++prtlevel} \label{cZZprtlevel}
406\begin{verbatim}
407c++prtlevel: Print level
408Usage: c++prtlevel prtlevel
409 prtlevel=0 : minimum printing
410 prtlevel=1 : + compiler/linker output
411 prtlevel=2 : + full infos (default)
412\end{verbatim}
413\subsection{Expr. Arithmetic} \label{ExprZZArithmetic}
414\noindent
415\piacommand{eval} \label{eval}
416\begin{verbatim}
417Compute arithmetic expression
418
419 Usage: eval resultvarname arithmetic expression....
420 resultvarname: store result in variable resultvarname
421 - If first character is not alphabetic, just print result
422 arithmetic expression:
423 ex: x + sqrt(y)+z +3.14 (x,y,z are variables)
424 ex: $x + sqrt($y)+$z +3.14 (x,y,z are variables)
425 ex: 360 * M_PI / 180.
426\end{verbatim}
427\subsection{Expr. Plotting} \label{ExprZZPlotting}
428\noindent
429\piahelpitem{ObjectExpressions} \label{ObjectExpressions}
430\begin{verbatim}
431Any mathematical expression (math.h) with object variables can be used
432 ------ Object Variable names (double) --------
433 (_nl is the table line number or the sequential index)
434- NTuple: ntuple variable names,_nl
435- Histo1D/HProf: i,x,val,err,_nl
436- Histo2D: i,j,x,y,val,err,_nl
437- Vector/Matrix: n,r,c,val,real,imag,mod,phas,_nl
438- TArray: n,x,y,z,t,u,val,real,imag,mod,phas,_nl
439- Image: i,j,x,y,val(=pix),_nl
440- GeneralFitData: x0,ex0 x1,ex1 ... xn,exn y,ey ok ,_nl
441- LocalMap/SphereThetaPhi/SphereHEALPix:
442- i,k,val,real,imag,mod,phas,teta,phi,_nl
443- FITS Binary/ASCII table: fits column names,_nl
444 ------ Other parameters --------
445Loop parameters can be specified as I1[:I2[:DI]] for(int i=I1; i<I2; i+=DI)
446The default Cut() expression in true (=1) for all
447
448 Related commands: plot2d plot2de plot2dw plot3d
449 projh1d projh2d projprof fillvec fillmtx
450 fillnt fillgd1 fillgd2 ntloop exptovec ...
451\end{verbatim}
452\piacommand{exptovec} \label{exptovec}
453\begin{verbatim}
454Creates and Fills a Vector with X=f(Object)
455 Usage: exptovec namevec nameobj f_X() [Cut() graphic_attributes loop_param]
456 Related commands: ntloop fillnt ObjectExpressions ...
457\end{verbatim}
458\piacommand{fillgd1} \label{fillgd1}
459\begin{verbatim}
460Creates and Fills a GeneralFitData with (X=f(Object), Y=g(...), ErrY=h(...))
461 Usage: fillgd1 namegfd nameobj f_X() g_Y() h_ErrY() [Cut() loop_param]
462 Related commands: ntloop fillnt ObjectExpressions ...
463\end{verbatim}
464\piacommand{fillgd2} \label{fillgd2}
465\begin{verbatim}
466Creates and Fills a GeneralFitData with (X=f(Object), Y=g(...), Z=h(...)) ErrZ=k(...)
467 Usage: fillgd1 namegfd nameobj f_X() g_Y() h_Z() k_ErrZ() [Cut() loop_param]
468 Related commands: ntloop fillnt ObjectExpressions ...
469\end{verbatim}
470\piacommand{fillmtx} \label{fillmtx}
471\begin{verbatim}
472Fills a Matrix M(Line=g_Y(Object)+0.5, Col=f_X(Object)+0.5)) = h_V(Object)
473 Usage: fillvec namevec nameobj f_X() g_Y() h_V() [Cut() graphic_attributes loop_param]
474 Related commands: fillvec fillnt ObjectExpressions ...
475\end{verbatim}
476\piacommand{fillnt} \label{fillnt}
477\begin{verbatim}
478Creates and Fills an NTuple(x,y,z,t) with (X=f(Object),Y=g(...),Z=h(...),T=k(...))
479 Usage: fillnt nameobj f_X() g_Y() h_Z() k_T() [Cut() nameNt loop_param]
480 Related commands: ntloop plot2d projh1d projh2d projprof
481 Related commands: fillvec fillmtx ntloop exptovec fillgd1 fillgd2 ObjectExpressions ...
482\end{verbatim}
483\piacommand{fillvec} \label{fillvec}
484\begin{verbatim}
485Fills a Vector V((int)(f_X(Object)+0.5)) = h_V(Object)
486 Usage: fillvec namevec nameobj f_X() h_V() [Cut() graphic_attributes loop_param]
487 Related commands: fillmtx fillnt ObjectExpressions ...
488\end{verbatim}
489\piacommand{gdfrvec} \label{gdfrvec}
490\begin{verbatim}
491Fills a GeneralFitData with vectors X,Y,Z,EZ
492 Usage: gdfrvec namegfd X Y
493 Usage: gdfrvec namegfd X Y ! EY
494 Usage: gdfrvec namegfd X Y Z
495 Usage: gdfrvec namegfd X Y Z EZ
496 Related commands: fillgd1 fillgd2 ...
497\end{verbatim}
498\piacommand{ntexpcfile} \label{ntexpcfile}
499\begin{verbatim}
500Creates a C-File with declarations suitable to be used for ntloop
501 Usage: ntexpcfile nameobj CFileName FuncName
502 Related commands: ntloop
503\end{verbatim}
504\piacommand{ntloop} \label{ntloop}
505\begin{verbatim}
506Loops over an Object NTupleInterface calling a function from a C-file
507and optionaly fills an NTuple(x,y,z,t) with (X=f(Object),Y=g(...),Z=h(...),T=k(...))
508 Usage: ntloop nameobj CFileName FuncName [NtupleName loop_param]
509 Related commands: fillvec fillmtx fillnt fillgd1 fillgd2 exptovec ObjectExpressions ...
510 Related commands: ntexpcfile fillnt
511\end{verbatim}
512\piacommand{plot2d} \label{plot2d}
513\begin{verbatim}
514Plots (2D) Y=g(Object) vs. X=f(Object) --- Object Variable names (double) :
515 Usage: plot2d nameobj f_X() g_Y() [f_Cut() graphic_attributes loop_param]
516 Related commands: plot2de plot2dw plot3d ObjectExpressions ...
517\end{verbatim}
518\piacommand{plot2de} \label{plot2de}
519\begin{verbatim}
520Plots (2D) Y=g(Object) vs. X=f(Object) with error bars eX/Y=f_ErrX/Y(Object)
521 Usage: plot2de nameobj f_X() g_Y() f_ErrX() f_ErrY() [f_Cut() graphic_attributes loop_param]
522 Related commands: plot2d plot2dw plot3d ObjectExpressions ...
523\end{verbatim}
524\piacommand{plot2dvec} \label{plot2dvec}
525\begin{verbatim}
526Creates and displays a flow chart from ntuple expressions
527 Usage: plot2dvec ntuple expx expy expvx expvy [cut graphic_att loop_par]
528\end{verbatim}
529\piacommand{plot2dw} \label{plot2dw}
530\begin{verbatim}
531Plots (2D) Y=g(Object) vs. X=f(Object) with Weight W=h(Object)
532 Usage: plot2dw nameobj f_X() g_Y() h_Wt() [Cut() graphic_attributes loop_param]
533 Related commands: plot2d plot2dw plot3d ObjectExpressions ...
534\end{verbatim}
535\piacommand{plot3d} \label{plot3d}
536\begin{verbatim}
537Plots (3D) Z=h(Object) vs. Y=g(Object) vs. X=f(Object) vs
538 Usage: plot3d nameobj f_X() g_Y() h_Z() [Cut() graphic_attributes loop_param]
539 Related commands: plot2d plot2dw plot2de plot3d ObjectExpressions ...
540\end{verbatim}
541\piacommand{projh1d} \label{projh1d}
542\begin{verbatim}
543Projects X=f(Object) with weight WT=h(Object) into a 1D histogram
544 Usage: projh1d nameh1d nameobj f_X() [h_WT()=1. Cut() graphic_attributes loop_param]
545 Histo1D nameh1d is created if necessary
546 Related commands: projh2d projprof ObjectExpressions ...
547\end{verbatim}
548\piacommand{projh2d} \label{projh2d}
549\begin{verbatim}
550Projects (X=f(Object),Y=g(Object)) with weight WT=h(Object) into a 2D histogram
551 Usage: projh2d nameh2d nameobj f_X() g_Y() [h_WT()=1. Cut() graphic_attributes loop_param]
552 Histo2D nameh2d is created if necessary
553 Related commands: projh1d projprof ObjectExpressions ...
554\end{verbatim}
555\piacommand{projprof} \label{projprof}
556\begin{verbatim}
557Projects (X=f(Object),Y=g(Object)) with weight WT=h(Object) into a profile histogram
558 Usage: projprof nameprof nameobj f_X() g_Y() [h_WT()=1. Cut() graphic_attributes loop_param]
559 HProf nameprof is created if necessary
560 Related commands: projh1d projh2d ObjectExpressions ...
561\end{verbatim}
562\subsection{External Modules} \label{ExternalZModules}
563Dynamic load (shared object modules) management command group
564 \\[2mm] \noindent
565\piacommand{call} \label{call}
566\begin{verbatim}
567Dynamically linked user function call
568 Usage: call userf [arg1 arg2 ...]
569 User function : f(vector<string>& args)
570 Related commands: link
571\end{verbatim}
572\piacommand{link} \label{link}
573\begin{verbatim}
574Dynamic linking of compiled user functions
575 Usage: link fnameso f1 [f2 f3]
576 fnameso: Shared-object file name, f1,f2,f3 : User function names
577 Related commands: call loadmodule linkff2
578\end{verbatim}
579\piacommand{linkff2} \label{linkff2}
580\begin{verbatim}
581Dynamic linking of compiled user functions (Set 2)
582 Usage: linkff2 fnameso f1 [f2 f3]
583 fnameso: Shared-object file name, f1,f2,f3 : User function names
584 Related commands: call link loadmodule
585\end{verbatim}
586\piacommand{loadmodule} \label{loadmodule}
587\begin{verbatim}
588To load and initialize modules
589 Usage: loadmodule fnameso modulename
590 Related commands: link
591\end{verbatim}
592\subsection{FileIO} \label{FileIO}
593\noindent
594\piacommand{arrtoascii} \label{arrtoascii}
595\begin{verbatim}
596Writes an array (TArray<T>) to an ASCII file
597 Usage: arrtoascii array_name file_name
598 Related commands: mtxfrascii vecfrascii ntfrascii
599\end{verbatim}
600\piacommand{fitsadapt} \label{fitsadapt}
601\begin{verbatim}
602fitsadapt: NTuple adaptor for Binary and ASCII Fits table
603Usage: fitsadapt fitsfile [nomobj hdu buflen[,bufsens,lp]]
604 fitsfile : Fits file name
605 nomobj : Object name (needed if file name misleading as C++ variable)
606 hdu : Fits HDU (if <=0 take first binary/ascii table)
607 buflen[,bufsens,lp] : buffer length (sens) for fits reading (default is 100,1,0)
608\end{verbatim}
609\piacommand{mtxfrascii} \label{mtxfrascii}
610\begin{verbatim}
611Reads a matrix from an ASCII file (TMatrix<r_8>)
612 Usage: mtxfrascii mtx_name file_name [CommChar Separator]
613 Related commands: arrtoascii vecfrascii ntfrascii
614\end{verbatim}
615\piacommand{ntfrascii} \label{ntfrascii}
616\begin{verbatim}
617Fills an existing NTuple from ASCII table file
618 Usage: ntfrascii nt_name file_name [def_init_val]
619 Related commands: ntloop fillnt
620\end{verbatim}
621\piacommand{openfits} \label{openfits}
622\begin{verbatim}
623Loads a FITS file into an appropriate object
624 Usage: openfits filename
625 Related commands: savefits openppf
626\end{verbatim}
627\piacommand{openppf} \label{openppf}
628\begin{verbatim}
629Reads all objects from a PPF file
630 Usage: openppf filename
631 Related commands: saveall openfits
632\end{verbatim}
633\piacommand{print} \label{print}
634\begin{verbatim}
635Prints an object
636 Usage: print nameobj
637\end{verbatim}
638\piacommand{saveall} \label{saveall}
639\begin{verbatim}
640Saves all objects into a PPF file
641 Usage: saveall filename
642 Related commands: saveobj openppf savefits
643\end{verbatim}
644\piacommand{savefits} \label{savefits}
645\begin{verbatim}
646Save an object into a FITS file
647 Usage: savefits nameobj filename
648 Related commands: openfits saveobjs saveall
649\end{verbatim}
650\piacommand{saveobjs} \label{saveobjs}
651\begin{verbatim}
652Saves objects with names matching a pattern into a
653 PPF file (pattern: x?y*) - Alias saveppf
654Usage: saveobjs nameobjpattern filename
655 Related commands: saveppf saveall openppf savefits
656\end{verbatim}
657\piacommand{saveppf} \label{saveppf}
658\begin{verbatim}
659Saves objects with names matching a pattern into a
660 PPF file (pattern: x?y*) - Alias saveppf
661Usage: saveppf nameobjpattern filename
662 Related commands: saveobjs saveall openppf savefits
663\end{verbatim}
664\piacommand{vecfrascii} \label{vecfrascii}
665\begin{verbatim}
666Reads a vector from an ASCII file (TVector<r_8>)
667 Usage: vecfrascii vec_name file_name
668 Related commands: arrtoascii mtxfrascii ntfrascii [CommChar Separator]
669\end{verbatim}
670\subsection{Fitting} \label{Fitting}
671\noindent
672\piahelpitem{helpfit} \label{helpfit}
673\begin{verbatim}
674
675//////////////////////////////////////////////////////////////////////
676| --------------- Fit Lineaire a 1 et 2 dimensions ---------------
677| Syntaxe:
678| fitlin nom pnn [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...]
679| avec:
680| nom : cf commentaire ordre ''fit''
681| pnn : fit polynome degre nn avec classe Poly (lineaire) 1D ou 2D
682| o:aa,...,bb : cf commentaires ordre ''fit''
683|
684//////////////////////////////////////////////////////////////////////
685| --------------- Fit d'objets a 1 et 2 dimensions ---------------
686| avec interface d'aide graphique
687| Syntaxe:
688| fitw nom func
689| [p:p1,p2,...,pn s:s1,s2,...,sn m:m1,m2,...,mn M:M1,mM2,...,Mn f:f1,...,fn]
690| [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...]
691| cf commentaire ordre ''fit''
692|
693//////////////////////////////////////////////////////////////////////
694| --------------- Fit d'objets a 1 et 2 dimensions ---------------
695| Syntaxe:
696| fit nom func
697| [p:p1,p2,...,pn s:s1,s2,...,sn m:m1,m2,...,mn M:M1,mM2,...,Mn f:f1,...,fn]
698| [o:.aa,bb,cc, o:dd,ee,ff o:gg,hh,jj,kk etc...]
699|----- OBJET -----
700| nom : nom de l'objet qui peut etre:
701| fit-1D: Vector,Histo1D,HProf ou GeneraFitData(1D)
702| fit-2D: Matrix,Histo2D,Image<T> ou GeneraFitData(2D)
703|
704|----- FUNCTION -----
705| func : pnn : fit polynome degre nn avec GeneralFit (non-lineaire) 1D ou 2D
706| : gnn : fit gaussienne (hauteur) + polynome de degre nn 1D
707| : g : fit gaussienne (hauteur) 1D
708| : enn : fit exponentielle + polynome de degre nn 1D
709| : e : fit exponentielle 1D
710| : Gnn : fit gaussienne (volume) + polynome de degre nn 1D
711| : G : fit gaussienne (volume) 1D
712| : : fit gaussienne+fond (volume) 2D
713| : Gi : fit gaussienne+fond integree (volume) 2D
714| : d : fit DL de gaussienne+fond (volume) 2D
715| : di : fit DL de gaussienne+fond integree (volume) 2D
716| : D : fit DL de gaussienne+fond avec coeff variable p6 (volume) 2D
717| : Di : fit DL de gaussienne+fond integree avec coeff variable p6 (volume) 2D
718| : M : fit Moffat+fond (expos=p6) (volume) 2D
719| : Mi : fit Moffat+fond integree (expos=p6) (volume) 2D
720| : Autre : fonction definie par l'utilisateur (cf commentaires ci apres)
721|
722|----- INIT PARAMETRES ET ETAT DU FIT -----
723| p : p1,...,pn : valeur d'initialisation des parametres (def=0)
724| s : s1,...,sn : valeur des steps de depart (def=1)
725| m : m1,...,mn : valeur des minima (def=1)
726| M : M1,...,Mn : valeur des maxima (def=-1) (max<=min : pas de limite)
727| f : f1,...,fn : si >=1 parametre fixe sinon libre (def=0)
728| - Remarque: si pi,si,mi ou Mi = '!' la valeur correspondante n'est pas changee
729|
730|----- OPTIONS -----
731| o : options ''o:Eaa.b,eaa.b,f,r,caa.b,Xaa.b''
732| F : initialisation a partir des resultats et de l'etat du fit precedent
733| (option non prioritaire sur les definitions p:,s:,m:,M:,f:o:)
734| a : initialisation automatique des parametres du fit (si disponible)
735| (option non prioritaire sur les definitions p:,s:,m:,M:,f:o:
736| et sur l'initialisation pa l'option ''F'')
737| f : generation d'un Objet identique contenant la fonction fittee
738| r : generation d'un Objet identique contenant les residus
739| Xaa.b : aa.b valeur du DXi2 d'arret (def=1.e-3)
740| Naa : aa nombre maximum d'iterations (def=100)
741| la : niveau ''a'' de print: a=niveau de print Fit1/2D
742| da : niveau ''a'' de debug: a=niveau de GeneralFit
743| Ii1/i2 : numeros des bins X de l'histos utilises pour le fit [i1,i2]
744|2D Jj1/j2 : numeros des bins Y de l'histos utilises pour le fit [j1,j2]
745| - Traitement des erreurs :
746| Par defaut, l'erreur est celle associee a l'objet (si elle existe),
747| elle est mise a 1 sinon.
748| haa.b/cc.d : erreur = aa.bb*(erreur associee a l'objet cf ci-dessus)
749| Haa.b/cc.d : erreur = aa.b*|val|
750| eaa.b/cc.d : erreur = aa.b
751| Eaa.b/cc.d : erreur = aa.b*sqrt(|val|)
752| aa.b<0 (ou non precise) est equivalent aa.b=1.0
753| cc.d non precise est equivalent a cc.d=0
754| si cc.d>=0 si erreur>0 erreur = max(erreur,cc.d)
755| si erreur<=0 alors erreur
756| si cc.d<0 si erreur>0 erreur = max(erreur,|cc.d|)
757| si erreur<=0 alors erreur=|cc.d|
758| xaa.b : demande de centrage: on fit x-aa.b au lieu de x)
759| x : demande de centrage: on fit x-xc au lieu de x
760| avec xc=abscisse du ''milieu logique'' de l'objet.
761| Actif pour exp+poly 1D, poly 1D
762| Pour gauss+poly 1D, xc est le centre de la gaussienne.
763|2D yaa.b et y : idem ''xaa.b et x'' mais pour y
764|
765//////////////////////////////////////////////////////////////////////
766| --------------- Def des fcts de fit par l'utilisateur ---------------
767| Pour definir une fonction parametree utilisateur:
768| Un exemple de fichier contenant des fonctions a fitter: PIext/userfitfunex.c
769| > crfitfil nom_fichier nom_fonction nvar npar
770| pour creer un squelette de fichier C contenant la fonction a fitter
771| nom_fichier : nom du fichier ou est le code de la fonction
772| c'est un fichier C de nom blabla.c
773| nom_fonction : nom de la fonction ex: gauss2
774| nvar : nombre de variables x[] (1D=1, 2D=2, etc...)
775| npar : nombre de parametre p[]
776| - La fonction est donc F(x[];p[]), soit par ex:
777| double gauss2(double const* x,double const* p)
778| - L'utilisateur a la possibilite de donner egalement la fonction
779| retournant les derivees de la fonction par rapport aux parametres
780| double gauss2_der(double const* x,double const* p,double* dp)
781| ou dp[i] = dF(x[];p[])/dp[i]
782| Par convention, cette fonction a le meme nom suivi de ''_der''
783| > crfitfun nom_fichier nom_fonction nvar npar
784| Permet de compiler le fichier ''nom_fichier'' et de linker
785| la fonction ''nom_fonction''
786| - Un meme fichier peut contenir plusieurs fonctions a fitter
787|
788//////////////////////////////////////////////////////////////////////
789\end{verbatim}
790\piacommand{crfitfil} \label{crfitfil}
791\begin{verbatim}
792Creation de fichier C pour function utilisateur du fit
793 Usage: crfitfil file func nvar npar
794 Related commands: fit fitw fitlin crfitfun
795\end{verbatim}
796\piacommand{crfitfun} \label{crfitfun}
797\begin{verbatim}
798Creation et link de function utilisateur pour le fit
799 Usage: crfitfun file func nvar npar
800 Related commands: fit fitw fitlin crfitfil
801\end{verbatim}
802\piacommand{fit} \label{fit}
803\begin{verbatim}
804Fitting function to DataObjects (Histo, Histo2D, Vector, ...)
805 Usage: fit nomobj func [Options]
806 [p:p1,...,pn s:s1,...,sn m:m1,...,mn M:M1,...,Mn o:... o:...]
807 Related commands: fitw fitlin crfitfun crfitfil
808\end{verbatim}
809\piacommand{fitlin} \label{fitlin}
810\begin{verbatim}
811Linear Fitting of Polynoms to DataObjects
812 Usage: fitlin nomobj func [o:... o:...]
813 Related commands: fit fitw crfitfun crfitfil
814\end{verbatim}
815\piacommand{fitw} \label{fitw}
816\begin{verbatim}
817Fitting function to DataObjects with Interactive Window Help
818 Usage: fitw nomobj func [Options]
819 [p:p1,...,pn s:s1,...,sn m:m1,...,mn M:M1,...,Mn o:... o:...]
820 Related commands: fit fitlin crfitfun crfitfil
821\end{verbatim}
822\subsection{Func Plot} \label{FuncZPlot}
823\noindent
824\piacommand{func} \label{func}
825\begin{verbatim}
826Displays a function y=f(x) (Fills a vector with function values)
827 Usage: func f(x) xmin xmax [npt graphic_attributes]
828 Related commands: funcff func2d func2dff
829\end{verbatim}
830\piacommand{func2d} \label{func2d}
831\begin{verbatim}
832Displays a function z=f(x,y) (Fills a matrix with function values)
833 Usage: func2d f(x,y) xmin xmax nptx ymin ymax npty [graphic_attributes]
834 Related commands: func
835\end{verbatim}
836\piacommand{func2dff} \label{func2dff}
837\begin{verbatim}
838Displays a function z=f(x,y) from a C-file (Fills a matrix with function values)
839 Usage: func2dff C-FileName FunctionName xmin xmax nptx ymin ymax npty [graphic_attributes]
840 Related commands: func funcff func2d
841\end{verbatim}
842\piacommand{funcff} \label{funcff}
843\begin{verbatim}
844Displays a function y=f(x) from a C-file (Fills a vector with function values)
845 Usage: funcff C-FileName FunctionName xmin xmax [npt graphic_attributes]
846 Related commands: func func2d func2dff
847\end{verbatim}
848\subsection{Graphic-Elts} \label{GraphicZElts}
849\noindent
850\piacommand{addarc} \label{addarc}
851\begin{verbatim}
852Adds an arc to the current graphic object
853 defined by 3 points (+ graphic attribute)
854 The Base/AxesDrawer is used to handle added arcs
855 Alt<E> to remove the added element
856 Usage: addarc x1 y1 x2 y2 x3 y3 [GraphicAtt] [fgnc=false/true]
857 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
858 Related commands: addtext addline addarrow addfrect addfrect
859 addcirc addfcirc addfarc addarca addpoly addfpoly graphicatt
860\end{verbatim}
861\piacommand{addarca} \label{addarca}
862\begin{verbatim}
863Adds an arc to the current graphic object
864 defined by the circle (center+radius), start angle and angular extension
865 Angles are specified in degrees
866 Usage: addarca xc yc r a0deg dadeg [GraphicAtt] [fgnc=false/true]
867 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
868 Related commands: addtext addline addfarca addarc ...
869\end{verbatim}
870\piacommand{addarrow} \label{addarrow}
871\begin{verbatim}
872Adds an arrow to the current graphic object
873 at the specified position (+ graphic attribute)
874 The Base/AxesDrawer is used to handle added lines
875 Alt<E> to remove the added element
876 Usage: addarrow x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true]
877 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
878 Related commands: addline addtext addrect addfrect
879 addmarker addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt
880\end{verbatim}
881\piacommand{addcirc} \label{addcirc}
882\begin{verbatim}
883Adds a circle to the current graphic object
884 with the specified center and radius (+ graphic attribute)
885 The Base/AxesDrawer is used to handle added circles
886 Alt<E> to remove added element
887 Usage: addcirc xcenter ycenter radius [GraphicAtt] [fgnc=false/true]
888 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
889 Related commands: addtext addline addarrow addfrect addfrect
890 addfcirc addarc addfarc addpoly addfpoly graphicatt
891\end{verbatim}
892\piacommand{addctext} \label{addctext}
893\begin{verbatim}
894Adds a composite text string with superscript and subscripts
895 at the specified position (+ color/font/pos/dir attributes)
896 Usage: addctext x y Text sUp sDown [ColFontPosAtt] [UpDownFontAtt] [fgnc]
897 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
898 Related commands: addtext addline addrect ...
899 (See command addtext and graphicatt for more details)
900\end{verbatim}
901\piacommand{addfarc} \label{addfarc}
902\begin{verbatim}
903Adds a filled arc to the current graphic object
904 defined by 3 points (+ graphic attribute)
905 The Base/AxesDrawer is used to handle added arcs
906 Alt<E> to remove added element
907 Usage: addarc x1 y1 x2 y2 x3 y3 [GraphicAtt] [fgnc=false/true]
908 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
909 Related commands: addtext addline addarrow addfrect addfrect
910 addcirc addfcirc addfarc addpoly addfpoly graphicatt
911\end{verbatim}
912\piacommand{addfarca} \label{addfarca}
913\begin{verbatim}
914Adds a filled arc to the current graphic object
915 defined by the circle (center+radius), start angle and angular extension
916 Angles are specified in degrees
917 Usage: addfarca xc yc r a0deg dadeg [GraphicAtt] [fgnc=false/true]
918 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
919 Related commands: addtext addline addarca addarc ...
920\end{verbatim}
921\piacommand{addfcirc} \label{addfcirc}
922\begin{verbatim}
923Adds a filled circle to the current graphic object
924 with the specified center and radius (+ graphic attribute)
925 The Base/AxesDrawer is used to handle added circles
926 Alt<E> to remove added element
927 Usage: addcirc xcenter ycenter radius [GraphicAtt] [fgnc=false/true]
928 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
929 Related commands: addtext addline addarrow addfrect addfrect
930 addcirc addarc addfarc addpoly addfpoly graphicatt
931\end{verbatim}
932\piacommand{addfpoly} \label{addfpoly}
933\begin{verbatim}
934Adds a filled polygon to the current graphic object
935 Usage: addploy 'x1,y1 x2,y2 x3,y3 ...' [GraphicAtt] [fgnc=false/true]
936 Coordinates specified as pairs x,y in a single word (use simple or double quotes
937 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
938 Related commands: addtext addline addarrow addfrect addfrect
939 addcirc addfcirc addfarc graphicatt
940\end{verbatim}
941\piacommand{addfrect} \label{addfrect}
942\begin{verbatim}
943Adds a filled rectangle to the current graphic object
944 between the specified positions (+ graphic attribute)
945 The Base/AxesDrawer is used to handle added rectangle
946 Alt<E> to remove added element
947 Usage: addfrect x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true]
948 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
949 Related commands: addtext addline addarrow addrect
950 addcirc addfcirc addpoly addfpoly graphicatt
951\end{verbatim}
952\piacommand{addline} \label{addline}
953\begin{verbatim}
954Adds a line to the current graphic object
955 at the specified position (+ graphic attribute)
956 The Base/AxesDrawer is used to handle added lines
957 Alt<E> to remove the added element
958 Usage: addline x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true]
959 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
960 Related commands: addarrow addtext addrect addfrect
961 addmarker addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt
962\end{verbatim}
963\piacommand{addmarker} \label{addmarker}
964\begin{verbatim}
965Adds a marker to the current graphic object
966 at the specified position (+ graphic attribute)
967 The Base/AxesDrawer is used to handle added circles
968 Alt<E> to remove added element
969 Usage: addmarker xpos ypos [GraphicAtt] [fgnc=false/true]
970 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
971 Related commands: addtext addline addarrow addfrect addfrect
972 addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt
973\end{verbatim}
974\piacommand{addpoly} \label{addpoly}
975\begin{verbatim}
976Adds a polyline/polygon to the current graphic object
977 Usage: addploy 'x1,y1 x2,y2 x3,y3 ...' [GraphicAtt] [fgnc=false/true]
978 Coordinates specified as pairs x,y in a single word (use simple or double quotes
979 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
980 Related commands: addtext addline addarrow addfrect addfrect
981 addcirc addfcirc addfarc graphicatt
982\end{verbatim}
983\piacommand{addrect} \label{addrect}
984\begin{verbatim}
985Adds a rectangle to the current graphic object
986 between the specified positions (+ graphic attribute)
987 The Base/AxesDrawer is used to handle added rectangle
988 Alt<E> to remove added element
989 Usage: addrect x1 y1 x2 y2 [GraphicAtt] [fgnc=false/true]
990 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
991 Related commands: addtext addline addarrow addfrect
992 addcirc addfcirc addarc addfarc addpoly addfpoly graphicatt
993\end{verbatim}
994\piacommand{addtext} \label{addtext}
995\begin{verbatim}
996Adds a text string to the current graphic object
997 at the specified position (+ color/font/pos/dir attributes)
998 The Base/AxesDrawer is used to handle added text strings
999 Alt<E> to remove the added element
1000 Usage: addtext x y TextString [ColFontPosAtt] [fgnc=false/true]
1001 (use quotes '' for multi word text strings)
1002 if fgnc==true : Normalized 0..1 coordinates specification (def=false)
1003 Text position/direction attribute:
1004 horizleft horizcenter horizright
1005 vertbottom vertcenter verttop
1006 textdirhoriz textdirvertup textdirvertdown
1007 Related commands: addctext addline addarrow addrect addfrect
1008 addcirc addfcirc addarc addfrac addpoly addfpoly settitle graphicatt
1009\end{verbatim}
1010\subsection{Graphics} \label{Graphics}
1011Basic graphics and object display commands
1012 \\[2mm] \noindent
1013\piahelpitem{PIConsole} \label{PIConsole}
1014\begin{verbatim}
1015Text output area and command editing window (console)
1016>>>> Mouse controls :
1017o Button-1: Rectangle selection for copy/paste
1018o Button-2: Paste text in the command editing line
1019o Button-3: activate display option menu
1020>>>> Keyboard controls :
1021o <Alt>O : activate display option menu
1022o <Alt>V : Paste text in the command editing line
1023o <Alt>A : Selection of the whole window for copy
1024o <Alt>L : Command history (List of command history buffer)
1025o <Ctl>A : Command editing -> Goto the beginning of line
1026o <Ctl>E : Command editing -> Goto the end of line
1027o <Ctl>K : Command editing -> Clear to the end of line
1028o <Ctl>C : Command editing -> Clear the line
1029o Cursor left,right : Command editing -> Move cursor
1030o Cursor Up,Down : recall command from history buffer
1031o Backspace,Del : Command editing
1032o <Return>,<Enter> : Execute command
1033
1034\end{verbatim}
1035\piahelpitem{PIDraw3DWdg} \label{PIDraw3DWdg}
1036\begin{verbatim}
1037Manages display of 3-D objects (drawers)
1038>>>> Mouse controls :
1039o Button-2: Rotates the observer (camera) around object
1040o Shift-Button-2: Rotates object with camera fixed
1041 The object rotation mode can be assigned to Button-2 with <Alt>S
1042o Button-3: Zoom control (Camera distance And/Or view angle)
1043>>>> Keyboard controls :
1044o <Alt>R : Resets the 3-D view and refreshes the display
1045o <Alt>G : Show the PIDrawerTools (Graphic attributes of displayed Drawers)
1046o <Alt>O : = <Alt>G
1047o <Alt>V : Copy/Paste / Text paste at the current position (Drawer 0)
1048o <Alt>Z : Removes added graphic elements (handled by BaseDrawer - 0)
1049o <Alt>E : Removes the last added graphic element
1050o <Alt>A : Activate/Deactivate axes drawing
1051o <Alt>S : Activate/Deactivate object rotation mode on Button-2
1052
1053\end{verbatim}
1054\piahelpitem{PIImage} \label{PIImage}
1055\begin{verbatim}
1056Manages the display of a 2-D array (P2DArrayAdapter) as an image
1057and controls a zoom widget, as well as a global image view widget
1058>>>> Mouse controls :
1059o Button-1: Display current coordinates and pixel value
1060 Position the cursor an refresh the zoom widget
1061o Button-2: Defines an image zone and positions the cursor
1062o Button-3: Moves the viewed portion of the array inside the window
1063>>>> Keyboard controls :
1064o <Alt>R : Refresh display
1065o <Alt>O : Shows the PIImageTools (image display parameter controls)
1066o <Alt>G : Show the PIDrawerTools (Graphic attributes of overlayed graphics (Drawers))
1067o <Alt>V : Copy/Paste / Text paste at the current cursor position
1068o <Alt>C : Copy/Paste / Copies the selected regions content as text in the copy/paste buffer
1069o <Alt>X : Show/Hide the Cut Window
1070o <Alt>Z : Removes added graphic elements (handled by BaseDrawer - 0)
1071o <Alt>E : Removes the last added graphic element
1072o <Alt>+ or <Cntl>+ : Zoom in
1073o <Alt>- or <Cntl>- : Zoom out
1074o Cursor keys : Moves the image cursor
1075
1076\end{verbatim}
1077\piahelpitem{PIScDrawWdg} \label{PIScDrawWdg}
1078\begin{verbatim}
1079Manages display of 2-D drawers with interactive zoom
1080>>>> Mouse controls :
1081o Button-1: Display current coordinates
1082o Button-2: Defines a rectangle for zoom
1083o Button-3: Defines a rectangle for Text-Info (<Alt>I)
1084>>>> Keyboard controls :
1085o <Alt>R : Refresh display
1086o <Alt>O : Displays a specific control window (default: PIDrawerTools)
1087 Specific controls for 2-D histograms
1088o <Alt>G : Show the PIDrawerTools (Graphic attributes of displayed Drawers)
1089 Drawer 0 manages the axes, as well as the added text
1090o <Alt>V : Copy/Paste / Text paste at the current position
1091o <Alt>Z : Removes added graphic elements (handled by BaseDrawer - 0)
1092o <Alt>E : Removes the last added graphic element
1093o <Alt>I : Shows (or updates) a text info window on the selected rectangle
1094o <Alt>M : Activate/Deactivate a measurement cursor on Button-1
1095o <Alt>L : Deactivate DX,DY print (see below)
1096>>>> Mouse + Keyboard controls :
1097o Button-1 + <Alt>K : Set (reset) the reference point for DX,DY print
1098
1099\end{verbatim}
1100\piahelpitem{Windows} \label{Windows}
1101\begin{verbatim}
1102Objects can be displayed in different windows, or overlayed on the
1103previous display. The graphics attributes next,win,stack,same control
1104the display window.
1105o GraphicWindow : This is the default mode (gr_att=next)
1106 Graphic windows can be divided int zones. Object is displayed
1107 in the next available position, removing a previously displayed
1108 widget if necessary
1109o Window : An object is displayed in its own window (gr_att= win)
1110o StackWindow : multpile widgets can be stacked in a StackWindow (gr_att= stack)
1111 A single widget is displayed a any time. Different widgets in a StackWindow
1112 can be displayed using the stacknext command, as well as the StackTools item
1113 in the Tools menu (from Menubar). An automatic cyclic display mode can also
1114 be activated using the StackTools menu (Blink)
1115o Most objects can be also be displayed overlayed
1116 on the last displayed widget (gr_att= same)
1117o The overlay can be on a selected rectangle of the
1118 last displayed widget (gr_att= inset) - See setinsetlimits
1119
1120 Related commands: newwin zone stacknext graphicatt setinsetlimits
1121\end{verbatim}
1122\piacommand{addaxelabels} \label{addaxelabels}
1123\begin{verbatim}
1124Set the X and Y axis labels for the current 2D graphic object alias for setaxelabels
1125\end{verbatim}
1126\piacommand{addtitle} \label{addtitle}
1127\begin{verbatim}
1128Set the title string (top title / bottom title)
1129 alias for settitle
1130\end{verbatim}
1131\piacommand{drpanel} \label{drpanel}
1132\begin{verbatim}
1133Creates a new 2D drawing zone for addtext, addline
1134 Usage: drpanel xmin xmax ymin ymax [GrAtt] [Name]
1135 Related commands: addtext addline addrect addcirc ...
1136\end{verbatim}
1137\piacommand{graphicatt} \label{graphicatt}
1138\begin{verbatim}
1139To change default graphic options
1140 Usage: graphicatt att_list
1141att_list=def back to default values, Example: gratt 'red circlemarker5'
1142 ------------------ Graphic attribute list ------------------
1143>> Colors: defcol black white grey red blue green yellow
1144 magenta cyan turquoise navyblue orange siennared purple
1145 limegreen gold violet violetred blueviolet darkviolet
1146>> Lines: defline normalline thinline thickline dashedline thindashedline
1147 thickdashedline dottedline thindottedline thickdottedline
1148>> Font Att: deffontatt normalfont boldfont italicfont bolditalicfont
1149 smallfont smallboldfont smallitalicfont smallbolditalicfont
1150 bigfont bigboldfont bigitalicfont bigbolditalicfont
1151 hugefont hugeboldfont hugeitalicfont hugebolditalicfont
1152>> Font Names: deffont courierfont helveticafont timesfont symbolfont
1153>> Marker: dotmarker<T> plusmarker<T> crossmarker<T> circlemarker<T>
1154 fcirclemarker<T> boxmarker<T> fboxmarker<T> trianglemarker<T>
1155 ftrianglemarker<T> starmarker<T> fstarmarker<T>
1156 with <T> = 1 3 5 7 .. 15 , Example fboxmarker5 , plusmarker9 ...
1157>> ArrowMarker: basicarrow<T> trianglearrow<T> ftrianglearrow<T>
1158 arrowshapedarrow<T> farrowshapedarrow<T>
1159 with <T> = 5 7 .. 15 , Example trianglearrow7 ...
1160>> ColorTables: defcmap grey32 invgrey32 colrj32 colbr32
1161 grey128 invgrey128 colrj128 colbr128
1162 red32cm green32cm blue32cm yellow32cm
1163 orange32cm cyan32cm violet32cm
1164 midas_pastel midas_heat midas_rainbow3 midas_bluered
1165 midas_bluewhite midas_redwhite
1166 multicol16 multicol64
1167 revcmap : This flag reverses ColorMap indexing
1168--- For image displays:
1169>> ZoomFactors zoomxN zoomx1 zoomx2 zoomx3 ...
1170 zoom/N zoom/2 zoom/3 zoom/4 ...
1171>> imagecenter=ix,iy -> Position the image in widget
1172>> lut=ltyp,min,max -> Sets LUT type and min/max for image display
1173 (ltyp=lin/log/sqrt/square)
1174>> image axes configuration: invx invy exchxy
1175>> Axes / Axe labels / LogScale / xylimits / defdrrect
1176 See setaxesatt command
1177>> stat/nostat or stats/nostats -> Toggle statistic display flag
1178>> title/notitle or tit/notit -> Toggle Auto AddTitle flag
1179>> DisplayWindow: next same win stack inset
1180 Related commands: setaxesatt setinsetlimits
1181\end{verbatim}
1182\piacommand{imagcmap2eps} \label{imagcmap2eps}
1183\begin{verbatim}
1184imagcmap2eps: Current Image+ColorMap To EncapsulatedPostScript
1185Usage: imagcmap2eps EPSFileName
1186\end{verbatim}
1187\piacommand{imagcmap2ps} \label{imagcmap2ps}
1188\begin{verbatim}
1189w2ps: Current Image+ColorMap To PostScript
1190Usage: imagcmap2ps
1191\end{verbatim}
1192\piacommand{newwin} \label{newwin}
1193\begin{verbatim}
1194To Create a New Graphic window, with zones
1195 Window size can be specified
1196 Usage: newwin [nx ny [sizeX sizeY]]
1197 Related commands: zone
1198\end{verbatim}
1199\piacommand{psclosefile} \label{psclosefile}
1200\begin{verbatim}
1201psclosefile: close current postscript file
1202Usage: w2psclosefile
1203\end{verbatim}
1204\piacommand{psgetfilename} \label{psgetfilename}
1205\begin{verbatim}
1206psgetfilename: Prints current PostScript file name
1207Usage: psgetfilename
1208\end{verbatim}
1209\piacommand{pssetfilename} \label{pssetfilename}
1210\begin{verbatim}
1211pssetfilename: Sets current PostScript file name
1212Usage: pssetfilename FileName
1213\end{verbatim}
1214\piacommand{setaxelabels} \label{setaxelabels}
1215\begin{verbatim}
1216Set the X and Y axis labels for the current 2D graphic object
1217
1218 Usage: setaxelabels xLabel yLabel [ColorFntAtt]
1219 Related commands: settitle addtext graphicatt
1220\end{verbatim}
1221\piacommand{setaxesatt} \label{setaxesatt}
1222\begin{verbatim}
1223To set default axes attributes
1224 Usage: setaxesatt att_list
1225Color/Line/Font attributes and axes attributes
1226>> Axes: axesnone stdaxes=defaxes=boxaxes boxaxesgrid
1227 fineaxes fineaxesgrid centeredaxes finecenteredaxes
1228 centeredaxesgrid finecenteredaxesgrid
1229 grid nogrid labels nolabels
1230 ticks noticks minorticks nominorticks
1231 extticks intticks extintticks
1232 nbticks=X_NTicks,Y_NTicks
1233 tickslen=MajTickLenFrac,MinTickLenFrac
1234>> Axe labels font size: fixedfontsize/autofontsize=fszf
1235 autofontsize=fsizef: Font size computed automatically
1236 fixedfontsize: Use font size attribute (BaseDrawer)
1237>> LogScale : linx liny logx logy -> Lin/Log Scales for 2D plots
1238>> xylimits=xmin,xmax,ymin,ymax -> Forces X-Y limits in 2-D plots
1239>> defdrrect=xmin,xmax,ymin,ymax -> Defines drawing rectangle 2-D plots
1240 The rectangle is defined as a fraction of the widget size
1241
1242\end{verbatim}
1243\piacommand{setinsetlimits} \label{setinsetlimits}
1244\begin{verbatim}
1245Define the display rectangle for drawers added as insets
1246 over existing graphic objects - limits expressed as fraction
1247 graphic object size (0. .. 1.) Xmax at right, YMax top. Usage: setinsetlimits xmin xmax ymin ymax
1248 Related commands: graphicatt /inset
1249\end{verbatim}
1250\piacommand{settitle} \label{settitle}
1251\begin{verbatim}
1252Set the title string (top title / bottom title) for the current graphic object
1253 Usage: settitle TopTitle [BottomTitle] [fontAtt]
1254 Related commands: addtext graphicatt
1255\end{verbatim}
1256\piacommand{stacknext} \label{stacknext}
1257\begin{verbatim}
1258Displays the next widget on stack window
1259 Usage: stacknext
1260\end{verbatim}
1261\piacommand{w2eps} \label{w2eps}
1262\begin{verbatim}
1263w2eps: Current Window To EncapsulatedPostScript
1264Usage: w2eps EPSFileName
1265\end{verbatim}
1266\piacommand{w2ps} \label{w2ps}
1267\begin{verbatim}
1268w2ps: Current Window To PostScript
1269Usage: w2ps
1270\end{verbatim}
1271\piacommand{zone} \label{zone}
1272\begin{verbatim}
1273To Divide the Graphic window
1274 Usage: zone [nx=1 ny=1]
1275 Related commands: newwin
1276\end{verbatim}
1277\subsection{Obj. Display} \label{ObjZZDisplay}
1278\noindent
1279\piacommand{contour} \label{contour}
1280\begin{verbatim}
1281Creates and displays a ContourDrawer
1282 Usage: contour objectName [graphic_att/specific_opt]
1283 Specific Options
1284 ncont=[number of contours (automatic levels) ]
1285 niv/lev=[values for contours, separated by ',']
1286 lstep=[nomber,first_value,increment for contours ]
1287 bspline : use bspline algo for contour
1288 3spl : use cubic spline algo for contour
1289 labon : put labels for contours
1290\end{verbatim}
1291\piacommand{disp} \label{disp}
1292\begin{verbatim}
1293Displays an object
1294 Usage: disp nameobj [graphic_attributes]
1295 Related commands: surf nt2d nt3d vecplot
1296\end{verbatim}
1297\piacommand{gfd2d} \label{gfd2d}
1298\begin{verbatim}
1299Displays Points (X-Y) with error-bars from a GeneralFit Data
1300 Usage : gfd2d nameobj numvarx erreur=(x y xy) [graphic_attributes]
1301 Related commands: gfd3d nt2d nt3d
1302 ----- OBSOLETE: utilisez nt2d -----
1303\end{verbatim}
1304\piacommand{gfd3d} \label{gfd3d}
1305\begin{verbatim}
1306Displays 3D-Points (X-Y-Z) with error-bars from a GeneralFit Data
1307 Usage : gfd3d nameobj numvarx numvary erreur=(x y z xy xz yz xyz) [graphic_attributes]
1308 Related commands: gfd2d nt2d nt3d
1309 ----- OBSOLETE: utilisez nt3d -----
1310\end{verbatim}
1311\piacommand{imag} \label{imag}
1312\begin{verbatim}
1313Displays an object as an image
1314 Usage: imag nameobj [graphic_attributes]
1315 Related commands: disp surf nt2d nt3d vecplot
1316\end{verbatim}
1317\piacommand{nt2d} \label{nt2d}
1318\begin{verbatim}
1319Displays Points (X-Y) [with error-bar / Weight / Label ] from an NTuple
1320 Usage : nt2d nameobj varx vary [errx erry wt label graphic_attributes]
1321 Related commands: disp surf nt3d gfd2d vecplot
1322\end{verbatim}
1323\piacommand{nt2dvec} \label{nt2dvec}
1324\begin{verbatim}
1325Creates and displays a flow chart from ntuple variables
1326 Usage: nt2dvec x y vx vy [graphic_att]
1327\end{verbatim}
1328\piacommand{nt3d} \label{nt3d}
1329\begin{verbatim}
1330Displays 3D-Points (X-Y-Z) [with error-bars / Weight / Label ] from an NTuple
1331 Usage : nt3d nameobj varx vary varz [errx erry errz wt label graphic_attributes]
1332 Related commands: disp surf nt2d gfd3d
1333\end{verbatim}
1334\piacommand{ntcont} \label{ntcont}
1335\begin{verbatim}
1336Creates and displays a ContourDrawer (from a NTuple)
1337 Usage: ntcont NTupleName varx vary varz [graphic_att/specific_opt]
1338 specific options
1339 ncont=[number of contours (automatic levels) ]
1340 niv/lev=[values for contours, separated by ',']
1341 lstep=[nomber,first_value,increment for contours ]
1342 bspline : use bspline algo for contour
1343 3spl : use cubic spline algo for contour
1344 labon : put labels for contours
1345\end{verbatim}
1346\piacommand{surf} \label{surf}
1347\begin{verbatim}
1348Displays an object as a 3D surface
1349 Usage: surf nameobj [graphic_attributes]
1350 Related commands: disp nt2d nt3d vecplot
1351\end{verbatim}
1352\piacommand{vecplot} \label{vecplot}
1353\begin{verbatim}
1354Displays Points (X-Y) with coordinates defined by two vectors
1355 Usage : vecplot nameVecX nameVecY [graphic_attributes]
1356 Related commands: disp nt2d
1357\end{verbatim}
1358\subsection{Object Management} \label{ObjectZManagement}
1359\noindent
1360\piacommand{cd} \label{cd}
1361\begin{verbatim}
1362Change current directory
1363 Usage: cd [dirname]
1364\end{verbatim}
1365\piacommand{copy} \label{copy}
1366\begin{verbatim}
1367Copy objects (Alias cp)
1368 Usage: copy name_from name_to
1369 Related commands: cp new...
1370\end{verbatim}
1371\piacommand{cp} \label{cp}
1372\begin{verbatim}
1373Copy objects (Alias copy)
1374 Usage: cp name_from name_to
1375 Related commands: copy new...
1376\end{verbatim}
1377\piacommand{del} \label{del}
1378\begin{verbatim}
1379Deletes an object (Alias: rm)
1380 Usage: del nameobj [nameobj2 ...]
1381 Related commands: rm delobjs rename
1382\end{verbatim}
1383\piacommand{delobjs} \label{delobjs}
1384\begin{verbatim}
1385Delete a set of objects with names matching a pattern (x?y*)
1386 Usage: delobjs nameobjpattern
1387
1388 Related commands: del rename
1389\end{verbatim}
1390\piacommand{listdirs} \label{listdirs}
1391\begin{verbatim}
1392Prints the list of directories
1393 Usage: listdirs [patt=*]
1394 patt : * , ?
1395\end{verbatim}
1396\piacommand{listobjs} \label{listobjs}
1397\begin{verbatim}
1398Prints the list of objects (Alias: ls)
1399 Usage: listobjs [patt=*]
1400 patt : /*/x?y* ...
1401\end{verbatim}
1402\piacommand{mkdir} \label{mkdir}
1403\begin{verbatim}
1404Create a directory
1405 Usage: mkdir dirname [true]
1406 if second argument==true, the directory's KeepOld attribute is set to true
1407\end{verbatim}
1408\piacommand{mv} \label{mv}
1409\begin{verbatim}
1410Rename an object (Alias: rename)
1411 Usage: mv nameobj namenew
1412 Related commands: rename del delobjs
1413\end{verbatim}
1414\piacommand{pwd} \label{pwd}
1415\begin{verbatim}
1416Prints current directory
1417 Usage: pwd
1418\end{verbatim}
1419\piacommand{rename} \label{rename}
1420\begin{verbatim}
1421Rename an object (Alias: mv)
1422 Usage: rename nameobj namenew
1423 Related commands: mv del delobjs
1424\end{verbatim}
1425\piacommand{rm} \label{rm}
1426\begin{verbatim}
1427Deletes an object (Alias: del)
1428 Usage: rm nameobj [nameobj2 ...]
1429 Related commands: del delobjs rename
1430\end{verbatim}
1431\piacommand{rmdir} \label{rmdir}
1432\begin{verbatim}
1433Removes an empty directory
1434 Usage: remove dirname
1435\end{verbatim}
1436\piacommand{setdiratt} \label{setdiratt}
1437\begin{verbatim}
1438Sets directory attributes
1439 Usage: setdiratt dirname KeepOldFlag(=true/false)
1440 KeepOldFlag=true Object with the same name is moved to old
1441 when adding objects
1442\end{verbatim}
1443\subsection{Objects} \label{Objects}
1444\noindent
1445\piacommand{line2nt} \label{line2nt}
1446\begin{verbatim}
1447Fills (append) an NTuple from the line content
1448 Usage: line2nt ntname col0 col1 ...
1449 Related commands: newnt line2vec ntline2var ntcol2var
1450\end{verbatim}
1451\piacommand{line2vec} \label{line2vec}
1452\begin{verbatim}
1453Creates a vector from the line
1454 Usage: line2vec vecname v0 v1 v2 ...
1455 Related commands: newvec line2nt
1456\end{verbatim}
1457\piacommand{newgfd} \label{newgfd}
1458\begin{verbatim}
1459Creates GeneralFit Data object
1460 Usage: newgfd nvar nalloc [errx(0/1)]
1461 Related commands: newh1d newh2d newprof[e] newnt
1462\end{verbatim}
1463\piacommand{newh1d} \label{newh1d}
1464\begin{verbatim}
1465Creates a 1D histogramm
1466 Usage: newh1d name xmin xmax nbin
1467 Related commands: newh2d newprof[e] newnt newgfd
1468\end{verbatim}
1469\piacommand{newh2d} \label{newh2d}
1470\begin{verbatim}
1471Creates a 2D histogramm
1472 Usage: newh2d name xmin xmax nbinx ymin ymax nbiny
1473 Related commands: newh1d newprof[e] newnt newgfd
1474\end{verbatim}
1475\piacommand{newmtx} \label{newmtx}
1476\begin{verbatim}
1477Creates (and optionaly fills) a matrix
1478 Usage: newmtx name sizeX(Col) sizeY(Lines) [f(i,j) [dopt] ]
1479 Related commands: newvec
1480\end{verbatim}
1481\piacommand{newnt} \label{newnt}
1482\begin{verbatim}
1483Creates a ntuple
1484 Usage: newnt name v1 v2 v3 .. vn
1485 newnt name nvar
1486 Related commands: newh1d newh2d newprof[e] newgfd
1487\end{verbatim}
1488\piacommand{newprof} \label{newprof}
1489\begin{verbatim}
1490Creates a profile histogramm
1491 Usage: newprof name xmin xmax nbin [ymin ymax]
1492 Errors represent the data spread in the X bin
1493 Related commands: newh1d newh2d newprofe newnt newgfd
1494\end{verbatim}
1495\piacommand{newprofe} \label{newprofe}
1496\begin{verbatim}
1497Creates a profile histogramm
1498 Usage: newprofe name xmin xmax nbin [ymin ymax]
1499 Errors represent the error on the data mean in the X bin
1500 Related commands: newh1d newh2d newprof newnt newgfd
1501\end{verbatim}
1502\piacommand{newvec} \label{newvec}
1503\begin{verbatim}
1504Creates (and optionaly fills) a vector
1505 Usage: newvec name size [f(i) [dopt] ]
1506 Related commands: newmtx line2vec
1507\end{verbatim}
1508\piacommand{ntcol2var} \label{ntcol2var}
1509\begin{verbatim}
1510Object NTupleInterface column to an interpreter variable
1511 Usage: ntline2var objname column_number varname [LoopParam start:end[:step] ]
1512 Related commands: vec2var ntline2var
1513\end{verbatim}
1514\piacommand{ntline2var} \label{ntline2var}
1515\begin{verbatim}
1516Object NTupleInterface line to an interpreter variable
1517 Usage: ntline2var objname line_number varname
1518 Related commands: vec2var ntcol2var
1519\end{verbatim}
1520\piacommand{vec2var} \label{vec2var}
1521\begin{verbatim}
1522Vector content to an interpreter variable varname = 'v0 v1 v2 ...'
1523 Usage: line2vec vecname varname [LoopParam start:end[:step] ]
1524 Related commands: line2vec ntline2var
1525\end{verbatim}
1526\subsection{PIACmd} \label{PIACmd}
1527piapp interpreter (class PIACmd) additional builtin commands
1528 \\[2mm] \noindent
1529\piahelpitem{exitpiapp} \label{exitpiapp}
1530\begin{verbatim}
1531To end the piapp session
1532\end{verbatim}
1533\piahelpitem{helpwindow} \label{helpwindow}
1534\begin{verbatim}
1535To display the Help window
1536\end{verbatim}
1537\subsection{SkyMapCmd} \label{SkyMapCmd}
15384 Pi spherical, local maps manipulation commands
1539and spherical harmonics analysis Ylm.
1540 This is mainly Based on SOPHYA SkyMap and Samba modules.
1541 \\[2mm] \noindent
1542\piacommand{alm2cl} \label{alm2cl}
1543\begin{verbatim}
1544Project alm to cl
1545 Usage: alm2cl alm cl
1546\end{verbatim}
1547\piacommand{alm2map} \label{alm2map}
1548\begin{verbatim}
1549Generate SkyMap map(double) from Alm
1550 Usage: alm2map almmat map(double) nside
1551 (see command settypemap)
1552\end{verbatim}
1553\piacommand{cl2llcl} \label{cl2llcl}
1554\begin{verbatim}
1555Project cl to l*(l+1)*cl
1556 Usage: cl2llcl cl llcl
1557\end{verbatim}
1558\piacommand{cl2map} \label{cl2map}
1559\begin{verbatim}
1560Generate SkyMap map(double) from Cl
1561 Usage: cl2map clvec map(double) nside [fwhm]
1562 (see command settypemap)
1563\end{verbatim}
1564\piacommand{clmean} \label{clmean}
1565\begin{verbatim}
1566Compute mean for a cl vector
1567 Usage: clmean cl imin,imax [meanvarname]
1568 imin,imax = compute between these indices
1569 meanvarname = variable name to store mean
1570\end{verbatim}
1571\piacommand{clmult} \label{clmult}
1572\begin{verbatim}
1573Multiply a cl by a constant
1574 Usage: clmult cl val
1575\end{verbatim}
1576\piacommand{clop} \label{clop}
1577\begin{verbatim}
1578operation on a cl
1579 Usage: clop cl(double) op1 cl1(double) [op2 cl2(double)] [op2 cl3(double)] [...]
1580 Do "cl op1= cl1", "cl op2=cl2", ...
1581 where op = +,-,*,/
1582\end{verbatim}
1583\piacommand{clrebin} \label{clrebin}
1584\begin{verbatim}
1585rebin a cl into an ntuple
1586 Usage: clrebin cl ntuple nbin,bin0
1587 nbin: rebin by nbin
1588 bin0: begin rebinning at bin bin0 (def=0)
1589\end{verbatim}
1590\piacommand{crmapmask} \label{crmapmask}
1591\begin{verbatim}
1592Create a map mask(double) (nside) between latitudes lat1,lat2 longitudes lon1,lon2
1593 Usage: crmapmask mapmsk(double) nside lat1,lat2 lon1,lon2 [valmsk,valnomsk]
1594 mask pixels between [lat1,lat2] ([-90,90] in degrees)
1595 and [lon1,lon2] ([0,360[ in degrees)
1596 (for no mask "!")
1597 valmsk=value to be written into masked pixels (def=0)
1598 valnomsk=value to be written into unmasked pixels (def=1)
1599 (see command settypemap)
1600\end{verbatim}
1601\piacommand{crmaskfrmap} \label{crmaskfrmap}
1602\begin{verbatim}
1603Create a map mask(double) (nside) relative to an other map(double) pixels values
1604 Usage: crmaskfrmap mapmsk(double) nside map(double) v1,v2 [valmsk,valnomsk]
1605 mask if v1<mapmsk(i)<v2
1606 valmsk=value to be written into masked pixels (def=0)
1607 valnomsk=value to be written into unmasked pixels (def=1)
1608\end{verbatim}
1609\piacommand{map2alm} \label{map2alm}
1610\begin{verbatim}
1611SkyMap map(double) to Alm
1612 Usage: map2alm map(double) almmat [lmax] [niter]
1613 lmax: if <=0 or "!" use default (3*nside-1)
1614 niter: number of iterations (<=0 or def=3)
1615\end{verbatim}
1616\piacommand{map2cl} \label{map2cl}
1617\begin{verbatim}
1618SkyMap map(double) to Cl
1619 Usage: map2cl map(double) clvec [lmax] [niter]
1620 lmax: if <=0 or "!" use default (3*nside-1)
1621 niter: number of iterations (<=0 or def=3)
1622\end{verbatim}
1623\piacommand{map2double} \label{map2double}
1624\begin{verbatim}
1625Convert a float map to a double map
1626 Usage: map2double map(float)
1627\end{verbatim}
1628\piacommand{map2float} \label{map2float}
1629\begin{verbatim}
1630Convert a double map to a float map
1631 Usage: map2float map(double)
1632\end{verbatim}
1633\piacommand{map2local} \label{map2local}
1634\begin{verbatim}
1635Project a map(double) into a local map(double)
1636 Usage: map2local map(double) localmap(double) nx,ny angleX,angleY phi0,theta0 [x0,y0] [angle]
1637 nx,ny: number of pixels in x(col),y(row) direction
1638 X-axis==phi, Y-axis==theta
1639 angleX,angleY: total angle aperture in x,y direction (degrees)
1640 phi0,theta0: define origin in phi,theta (degrees)
1641 x0,y0: map phi0,theta0 to pixel x0,y0 ("!" or def=middle of the localmap)
1642 angle: angle (degrees) of rotation between x-axis of map-coordinate system
1643 and the tangent to parallel on the sphere (def: 0.)
1644\end{verbatim}
1645\piacommand{map2map} \label{map2map}
1646\begin{verbatim}
1647Convert a map(double) into an other map type
1648 Usage: map2map map(double) type [nside]
1649 type= H for Healpix
1650 T for ThetaPhi
1651 if nside <=1 use nside from map
1652\end{verbatim}
1653\piacommand{mapcover} \label{mapcover}
1654\begin{verbatim}
1655Print the covering of a map(double)
1656 Usage: mapcover map(double) v1,v2 [varname]
1657 v1,v2: good pixels have v1<=val<=v2 (def=0.99,1.01)
1658 (use default (0.99,1.01): "!")
1659 $varname: percent of sky covering
1660\end{verbatim}
1661\piacommand{mapmult} \label{mapmult}
1662\begin{verbatim}
1663Multiply a map(double) by a constant
1664 Usage: mapmult map(double) cste
1665\end{verbatim}
1666\piacommand{mapop} \label{mapop}
1667\begin{verbatim}
1668operation on a map(double)
1669 Usage: mapop map(double) op1 map1(double) [op2 map2(double)] [op2 map3(double)] [...]
1670 Do "map op1= map1", "map op2=map2", ...
1671 where op = +,-,*,/
1672\end{verbatim}
1673\piacommand{maproj} \label{maproj}
1674\begin{verbatim}
1675Project a map(double) into an other one
1676 Usage: maproj map(double) mapproj(double) [nside]
1677 Create mapproj(nside) and project map into mapproj
1678 (use "maproj map mapproj" to make a copy)
1679\end{verbatim}
1680\piacommand{mapstat} \label{mapstat}
1681\begin{verbatim}
1682Statistics from a map(double)
1683 Usage: mapstat map(double) [msk(double)] [meanvarname] [sigmavarname]
1684 msk = mask sphere used as weight
1685 if msk(i)<=0 do not use that pixel
1686 if msk(i)>0 use that pixel with weight msk(i)
1687 msk = "!" means no mask sphere
1688 meanvarname = variable name to store mean
1689 sigmavarname = variable name to store sigma
1690 ("!" means do not store)
1691\end{verbatim}
1692\piacommand{maskmap} \label{maskmap}
1693\begin{verbatim}
1694Mask a map(double) with a mask map(double)
1695 Usage: maskmap map msk
1696 operation is map(i) *= msk(theta,phi)
1697\end{verbatim}
1698\piacommand{settypemap} \label{settypemap}
1699\begin{verbatim}
1700Set le type de map(double) par default
1701 Usage: settypemap type
1702 type= H for Healpix (default)
1703 T for ThetaPhi
1704\end{verbatim}
1705\piacommand{typemap} \label{typemap}
1706\begin{verbatim}
1707Imprime le type de map
1708 Usage: typemap map
1709\end{verbatim}
1710\subsection{SophyaCmd} \label{SophyaCmd}
1711\noindent
1712\piacommand{mollgrid} \label{mollgrid}
1713\begin{verbatim}
1714Creates a spherical coordinate grid in Molleweide projection
1715 Usage: mollgrid [Nb_Parallel Nb_Meridien graphic_att]
1716\end{verbatim}
1717\piacommand{mollgridsph} \label{mollgridsph}
1718\begin{verbatim}
1719Creates a spherical coordinate grid in Molleweide projection
1720 Usage: mollgridsph NameSphericalMap [Nb_Parallel Nb_Meridien graphic_att]
1721\end{verbatim}
1722\piacommand{powerspec} \label{powerspec}
1723\begin{verbatim}
1724FFT on a vector -> Plots power spectrum
1725 Usage: fftp vecName vecFFT [graphic_att]
1726\end{verbatim}
1727\subsection{pawCmd} \label{pawCmd}
1728\noindent
1729\piacommand{h/cadd} \label{hZcadd}
1730\begin{verbatim}
1731Add a constant to an histogram, a vector or a matrix
1732 h/cadd namehisto val
1733 Related commands: h/cmult h/oper
1734\end{verbatim}
1735\piacommand{h/cmult} \label{hZcmult}
1736\begin{verbatim}
1737Multiply an histogram, a vector or a matrix by a constant
1738 h/cmult namehisto val
1739 Related commands: h/cadd h/oper
1740\end{verbatim}
1741\piacommand{h/copy} \label{hZcopy}
1742\begin{verbatim}
1743Copy content of object1 into object2
1744 objects are Vector,Matrix,Histo,Histo2D
1745 h/copy namefrom nametocopy [i1[:i2]] [j1[:j2]] [ic1[:jc1]]
1746 copy obj1Dfrom(i1->i2) into obj1Dto(ic1->)
1747 copy obj2Dfrom(i1,j1->i2,j2) into obj2Dto(ic1,jc1->)
1748 Warning: elements from i1 to i2 included are copied
1749 If obj1Dto does not exist, is is created with size i2-i1+1
1750 or obj2Dto with size i2-i1+1,j2-j1+1
1751 The adressed content of obj?Dfrom is overwritten
1752 The non-adressed content of obj?Dfrom is left unchanged
1753 Related commands: copy
1754\end{verbatim}
1755\piacommand{h/deriv} \label{hZderiv}
1756\begin{verbatim}
1757Derivate a 1D histogram
1758 h/deriv nameh1d
1759 Related commands: h/integ v/integ v/deriv
1760\end{verbatim}
1761\piacommand{h/err} \label{hZerr}
1762\begin{verbatim}
1763Set Histo,Histo2D error to function of bin content value
1764 h/err namehisto expr_func
1765 Related commands: h/set/err
1766\end{verbatim}
1767\piacommand{h/get\_vec} \label{hZgetZvec}
1768\begin{verbatim}
1769Get content of histogram 1D profile or 2D into vector (matrix)
1770 h/get_vec nameh1d namevector [cont,err2,absc] [proj]
1771 h/get_vec nameh2d namematrix [cont,err2,absc]
1772 cont : get histogramme content
1773 err2 : get histogramme error^2
1774 absc : get histogramme low bin abscissa (1D only)
1775 proj :
1776 show : show available projections for Histo2D
1777 px : get X projection
1778 py : get Y projection
1779 bx n : get X band number n
1780 by n : get Y band number n
1781 sx n : get X slice number n
1782 sy n : get Y slice number n
1783 Related commands: h/put_vec
1784\end{verbatim}
1785\piacommand{h/integ} \label{hZinteg}
1786\begin{verbatim}
1787Integrate a 1D histogram
1788 h/integ nameh1d [norm]
1789 norm<=0 means no normalisation (def norm=1)
1790 Related commands: h/deriv v/integ v/deriv
1791\end{verbatim}
1792\piacommand{h/oper} \label{hZoper}
1793\begin{verbatim}
1794Operation on histograms vectors or matrices
1795 h/oper @ h1 h2 hres
1796 hres = h1 @ h2 with @ = (+,-,*,/)
1797 For vectors and matrices, operations are elements by elements
1798 Related commands: h/cadd h/cmult
1799\end{verbatim}
1800\piacommand{h/plot/2d} \label{hZplotZ2d}
1801\begin{verbatim}
1802Specific plot for 2D histogrammes
1803 h/plot/2d nameh2d show : infos on 2D histogramme
1804 h/plot/2d nameh2d h [dopt] : plot 2D histogramme
1805 h/plot/2d nameh2d px [dopt] : plot X projection
1806 h/plot/2d nameh2d py [dopt] : plot Y projection
1807 h/plot/2d nameh2d bx n [dopt] : plot X band number n
1808 h/plot/2d nameh2d by n [dopt] : plot Y band number n
1809 h/plot/2d nameh2d sx n [dopt] : plot X slice number n
1810 h/plot/2d nameh2d sy n [dopt] : plot Y slice number n
1811 n < 0 means Show Info
1812\end{verbatim}
1813\piacommand{h/put\_vec} \label{hZputZvec}
1814\begin{verbatim}
1815Put content of vector (matrix) into content of histogram 1D or 2D
1816 h/put_vec nameh1d namevector [cont,err2]
1817 h/put_vec nameh2d namematrix [cont,err2]
1818 cont : put into histogramme content
1819 err2 : put into histogramme error^2
1820 Related commands: h/get_vec
1821\end{verbatim}
1822\piacommand{h/rebin} \label{hZrebin}
1823\begin{verbatim}
1824Rebin a 1D histogram or profile
1825 h/rebin nameh1d nbin
1826\end{verbatim}
1827\piacommand{h/set/cont} \label{hZsetZcont}
1828\begin{verbatim}
1829Set Histo,Histo2D content for range of bins or range of values
1830 h/set/cont namehisto setvalue i1[:i2] [j1[:j2]]
1831 set content to setvalue for bin range i1:i2 j1:j2
1832 h/set/cont namehisto setvalue v v1:v2
1833 set content to setvalue for content values range v1:v2
1834 h/set/cont namehisto setvalue e e1:e2
1835 set content to setvalue for error values range v1:v2
1836 Related commands: h/set/err
1837\end{verbatim}
1838\piacommand{h/set/err} \label{hZsetZerr}
1839\begin{verbatim}
1840Set Histo,Histo2D errors for range of bins or range of values
1841 h/set/err namehisto setvalue i1[:i2] [j1[:j2]]
1842 set error to setvalue for bin range i1:i2 j1:j2
1843 h/set/err namehisto setvalue v v1:v2
1844 set error to setvalue for content values range v1:v2
1845 h/set/err namehisto setvalue e e1:e2
1846 set error to setvalue for error values range v1:v2
1847 Related commands: h/set/cont
1848\end{verbatim}
1849\piacommand{n/plot} \label{nZplot}
1850\begin{verbatim}
1851Plot NTuple variables a la paw (alias n/pl)
1852 n/plot nameobj.x_exp [cut] [w_exp] [loop] [gratt]
1853 n/plot nameobj.y_exp%x_exp [cut] [loop] [gratt]
1854 n/plot nameobj.z_exp%y_exp%x_exp [cut] [loop] [gratt]
1855 for default use ! , loop=i1[:i2[:di]]
1856 Related commands: plot2dw plot3d
1857\end{verbatim}
1858\piacommand{n/proj} \label{nZproj}
1859\begin{verbatim}
1860Project NTuple in histogram (1D or 2D) a la paw
1861 n/proj nameproj nameobj.x_exp [cut] [w_exp] [loop] [gratt]
1862 n/proj nameproj nameobj.y_exp%x_exp [cut] [w_exp] [loop] [gratt]
1863 for default use ! , loop=i1[:i2[:di]]
1864 Related commands: projh1d projh2d projprof exptovec
1865\end{verbatim}
1866\piacommand{n/scan} \label{nZscan}
1867\begin{verbatim}
1868Scan NTuple a la paw
1869 n/scan nameobj[.exp1%exp2%exp3] cut loop
1870 [-f:filename] [list_of_variables]
1871 loop : iev1[:iev2[:diev]] or !
1872 cut : cut expression or 1. or !
1873 list_of_variables : default is all variables
1874 : var1 var2 var3 ... varn
1875 : var1 : var2 (from var1 to var2)
1876 : : var2 (from first variable to var2)
1877 : var1 : (from var1 to last variable)
1878 ex: "v1 : v3 v7 v4 : v6 v2 v9 :"
1879 exp1%exp2%exp3 :
1880 if given add exp1,exp2,exp3 to the variable list
1881 -f:filename : write into "filename", Default is to stdout
1882\end{verbatim}
1883\piacommand{reset} \label{reset}
1884\begin{verbatim}
1885Reset histograms vectors or matrix
1886 reset nameobj
1887\end{verbatim}
1888\piacommand{v/deriv} \label{vZderiv}
1889\begin{verbatim}
1890Derivate a TVector / vector
1891 v/deriv namevec [deriv_option]
1892 deriv_option -1 replace v[i] with v[i]-v[i-1]
1893 0 replace v[i] with (v[i+1]-v[i-1])/2 (default)
1894 +1 replace v[i] with v[i+1]-v[i]
1895 Related commands: h/integ h/deriv v/integ
1896\end{verbatim}
1897\piacommand{v/integ} \label{vZinteg}
1898\begin{verbatim}
1899Integrate a TVector / vector
1900 v/integ namevec [norm]
1901 norm<=0 means no normalisation (def norm=0)
1902 Related commands: h/integ h/deriv v/deriv
1903\end{verbatim}
Note: See TracBrowser for help on using the repository browser.