Changeset 3043 in Sophya for trunk/SophyaLib/Manual


Ignore:
Timestamp:
Aug 7, 2006, 3:18:43 PM (19 years ago)
Author:
ansari
Message:

doc piapp, section 3 (graphique) completee et ajout fichiers .eps figures - Reza 06/08/2006

Location:
trunk/SophyaLib/Manual
Files:
11 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Manual/piahelp.tex

    r3041 r3043  
    716716\piacommand{readfits} \label{readfits}
    717717\begin{verbatim}
    718 readfits: Read all HDU's of a fits file
    719 Usage: readfits nameobj/pattern FileName
    720 (use FitsManager) .... See also  scanfits writefits fitsadapt
     718readfits: Read one or all HDU's of a fits file
     719Usage: readfits FileName [num_hdu]
     720 num_hdu=1,..,NbHDU (uses FitsManager)
     721See also  scanfits writefits fitsadapt
    721722\end{verbatim}
    722723\piacommand{saveall} \label{saveall}
     
    749750\begin{verbatim}
    750751scanfits: scan fits files and print information on each HDU
    751 Usage: scanfits FileName [slev=0 ... 3]
     752Usage: scanfits FileName [slev=0...3]
    752753slev=1,3: header keywords , slev=2,3: try to read each HDU
     754See also: readfits writefits fitsadapt
    753755\end{verbatim}
    754756\piacommand{vecfrascii} \label{vecfrascii}
     
    762764writefits: Write objects to a fits file
    763765Usage: writefits nameobj/pattern FileName
    764 (use FitsManager) .... See also scanfits readfits fitsadapt
     766See also: scanfits readfits fitsadapt
    765767\end{verbatim}
    766768\subsection{Fitting} \label{Fitting}
  • trunk/SophyaLib/Manual/piapp.tex

    r3041 r3043  
    386386%%%%%%%%%% Section 3: Graphiques
    387387\newpage
    388 \section{Interactive graphics}
    389 Display of objects in piapp are managed by {\bf PIDrawers} and three
    390 main viewers:
    391 
     388\section{Interactive graphics}
     389%%%
     390\subsection{Display commands}
     391Many objects managed by piapp have a default graphic representation. The
     392{\bf disp} command  \myppageref{disp} can be used to display the object, while
     393other commands like {\bf surf} \myppageref{surf} , {\bf imag}
     394or {\bf contour} \myppageref{contour} will try to force a given graphic representation. \\
     395Data from table like objects can be plotted using commands like {\bf nt2d}
     396\myppageref{nt2d} or {\bf nt3d} \myppageref{nt3d}. Most objects in piapp
     397can also be manipulated like table for plotting purposes, using commands
     398like  {\bf plot2d} \myppageref{plot2d} , {\bf plot3d} \myppageref{plot3d}
     399or {\bf n/plot}  \myppageref{nZplot}. These commands are described in section
     400\ref{tableplot}. \\
     401Commands producing a graphic output have usually an optional argument called
     402{\tt graphic\_attributes} or {\tt gr\_att}. This argument provide a flexible and easy
     403way to change and customise the output graphic, as discussed in the paragraph below.
     404The piapp graphics can be exported in postscript (.ps) or encapsulated postscript
     405(.eps) format. The commands {\bf w2ps} \myppageref{w2ps} and
     406 {\bf w2eps} \myppageref{w2eps} as well the menu  \menubar{PostScript} can
     407 be used to export graphics. \\[1mm]
     408The examples below illustrates the usage of some piapp graphic commands.
     409\begin{enumerate}
     410\item Image display
     411\begin{verbatim}
     412#  Open a PPF file containing topographic data for france
     413#  as a TMatrix<short> 1332x1548
     414openppf francetopo.ppf
     415#  Display the matrix, whit a zoom factor, lut and color map
     416disp francetopo 'zoom/3 lut=lin,-700,800 colbr128 win'
     417w2eps francetopo.eps
     418\end{verbatim}
     419\begin{center}
     420\includegraphics[width=13cm]{francetopo.eps}
     421\end{center}
     422
     423\item Simple 2D graphics with vector displays
     424\begin{verbatim}
     425#  Create and initialize two vectors - prevent display : nodisp
     426Cmd> newvec vva 100 sin(x/10.+0.7)+cos(x/7.+1.4)*1.26 nodisp
     427Cmd> newvec vvb 100 sin(x/10.)+cos(x/7.)*1.34 nodisp
     428#  Set axe drawing options
     429Cmd> setaxesatt 'font=times,bold,16 minorticks tickslen=0.02,0.012'
     430#  Display the two vectors, with different graphic attributes
     431Cmd> disp vva 'red line=solid,2 notitle'
     432#  Define a title for the graphic
     433Cmd> settitle 'Example-1: 2 vectors'  ' ' 'font=times,bolditalic,18'
     434Cmd> disp vvb 'blue marker=box,7 same'
     435#  Save the graphic into an eps file
     436Cmd> w2eps gr2vec.eps
     437\end{verbatim}
     438% \begin{figure}[ht!]
     439\begin{center}
     440\includegraphics[width=12cm]{gr2vec.eps}
     441% \label{g22vec}
     442\end{center}
     443%%%
     444\item Creating a comparison chart using {\bf bargraph}
     445\begin{verbatim}
     446#  Representation du PNB (en $, 2003) pour quelques pays
     447set pays ( Allemagne Espagne France Italie Pays-Bas Suisse UK USA )
     448set pnbh ( 22670 14430 22010 18960 23960 37930 25250 35060 )
     449setaxesatt 'font=times,bold,16'
     450bargraph pnbh pays - 'blue horizontalbars nofill packfrac=0.65 font=helvetica,bold,14'
     451setaxelabels 'PNB / Hab , $ 2003' ' ' 'font=times,bold,16'
     452w2eps pnbargraph.eps
     453\end{verbatim}
     454\begin{center}
     455\includegraphics[width=12cm]{pnbbargraph.eps}
     456\end{center}
     457%%%
     458\item Displaying a matrix as a surface
     459\begin{verbatim}
     460openppf demo.ppf mtx1
     461setaxesatt 'font=time,bold,16'
     462surf mtx1 'colbr128 line=solid,1 grey'
     463w2eps surfcol.eps
     464\end{verbatim}
     465\begin{center}
     466\includegraphics[width=13cm]{surfcol.eps}
     467\end{center}
     468
     469\end{enumerate}
     470
     471%%%%%%%%%%
     472\subsection{Graphic objects in piapp}
     473The piapp graphics is handled by the {\bf PI} \footnote {http://www.sophya.org/PI} library,
     474which provide a large variety of 2D representations,
     475few 3D graphics and powerful image display. \\
     476Currently, all graphic representations, except for image displays, are handled
     477through {\bf PIDrawers} which are managed by a viewer. A viewer can
     478manage several {\bf PIDrawers} objects which correspond then to a multilayer
     479graphic display. The viewers are also responsible for managing user
     480interactions. \\
     481Image displays are handled through a specific viewer
     482{\bf  PIImage} which is also capable of managing PIDrawer objects
     483for multi-layer 2D overlay vector graphics. \\[2mm]
     484%%
     485Main piapp/PI graphic viewers, windows and drawer objects:
    392486\begin{itemize}
    393 \item[\bul]  PIScDrawWdg: Handler of 2-D drawers with interactive zoom
    394 (see {\bf PIScDrawWdg} \myppageref{PIScDrawWdg} for more information.
    395 \item[\bul] PIImage: Manages display of a 2-D array (P2DArrayAdapter) as an image
    396 and controls a zoom widget, as well as a global image view widget, and
    397 a color map view widget. (see {\bf PIImage} \myppageref{PIImage} for
    398  more information.
    399 \item[\bul] PIDraw3DWdg: handler of 3-D drawers with interacive rotation
    400 and zoom. (see {\bf PIDraw3DWdg} \myppageref{PIDraw3DWdg} for more information.
    401 \end{itemize}
    402 
    403 \par
     487\item[\bul]  The {\bf PIScDrawWdg} handles a set of  of 2-D drawers, managing
     488the 2D coordinate  system and interactive zoom. The axes drawing is
     489handled by a specialised drawer, number 0, which also manages various added
     490graphic elements (text \ldots). The list of various mouse and
     491keyboard actions is described in the reference section, under {\bf PIScDrawWdg} \myppageref{PIScDrawWdg} title. In particular, mouse-button-2 can be used
     492to zoom on a particular part, {\tt $<$Alt$>$A} activates the coordinates
     493and axes manipulation window ({\bf PIAxesTools}) and   {\tt $<$Alt$>$G}
     494activates the PIDrawer graphic attributes control window ({\bf PIDrawerTools}).
     495%%%
     496\item[\bul] The {\bf PIDraw3DWdg}  handles a set of of 3-D drawers, managing
     497interactive camera/object rotation (mouse-button-2) and zoom (mouse-button-2).
     498{\tt $<$Alt$>$G} to display/activate  the PIDrawer graphic attributes
     499control window ({\bf PIDrawerTools}).
     500See {\bf PIDraw3DWdg} \myppageref{PIDraw3DWdg} for a complete list of mouse
     501and keyboard actions.
     502Drawer 0 handles axes drawing and graphic elements.
     503%%%
     504\item[\bul] The display of 2-D arrays $A(i,j)$ as an image is managed by
     505the {\bf PIImage} viewer/widget. The PI library interface  {\bf P2DArrayAdapter} is used
     506to represent a generic 2-D array. The array values are converted into an index, converted
     507itself into a color by the use of a color-map or color-table {\bf PIColorMap}.
     508$$ \mathrm{LUT:} A(i,j) \longrightarrow idx(i,j) \hspace{5mm} \mathrm{ColorMap:}
     509 idx(i,j) \longrightarrow col(i,j) $$
     510Currently index range is 0...255 with color-map having 32 or 128 distinct colors.
     511PIImage viewers  controls a zoom widget, as well as a global image view widget, and
     512a color map view widget. A specific image control window can be activated using
     513 {\tt $<$Alt$>$O}.  See {\bf PIImage} \myppageref{PIImage} for
     514a complete list of mouse and keyboard actions. A base drawer (number 0) can handle
     515axes drawing and added graphic elements.
     516%%%
     517\item[\bul] {\bf Windows}
     518The viewers described above are displayed in differnt kind of windows.
     519The graphic option {\tt next,win,same,stack} can be used to control the way the
     520type of windows used. Graphic windows can be divided into several zones
     521(Command {\bf zone} \myppageref{zone}).
    404522Refer to the command reference section on windows ({\bf Windows}
    405523\myppageref{Windows})
    406524for information on the different type of windows used by piapp
    407525and their properties.
     526%%%
     527\item[\bul] {\bf PIDrawer} Graphical representation of most objects in piapp is
     528handled through objects inheriting from the PIDrawer class. A base drawer
     529(PIElDrawer, number 0) associated to all three above viewers manages the axes drawing
     530as well as the added graphic elements (text, arrow, \ldots). A drawer management menu
     531can be activated using {\tt $<$Alt$>$D}. This menu can be used to move and resize
     532drawers, or to display a window for changing drawers graphic attributes.
     533\end{itemize}
    408534
    409535\par
     
    411537change view properties of differents viewers and drawers.
    412538\begin{itemize}
    413 \item[] PIDrawerTools (see page \myppageref{secdrwtools})
    414 \item[] PIAxesTools (see page \myppageref{secaxestools})
    415 \item[] PIImageTools (see page \myppageref{secimagetools})
    416 \item[] PIHisto2DTools (see page \myppageref{sech2dtools})
    417 \item[] PIContourTools (see page \myppageref{secconttools})
     539\item[] {\bf PIDrawerTools} activated using {\tt $<$Alt$>$G} or
     540\menubar{Tools/Show DrawerTools} on any viewer (see page \myppageref{secdrwtools})
     541\item[] {\bf PIAxesTools} activated using {\tt $<$Alt$>$A} or
     542\menubar{Tools/Show AxeTools} on PIScDrawWdg (see page \myppageref{secaxestools})
     543\item[] {\bf PIImageTools} activated using {\tt $<$Alt$>$O} or
     544\menubar{Tools/Show ImageTools} on PIImage
     545(see page \myppageref{secimagetools})
     546\item[] {\bf PIHisto2DTools} activated using {\tt $<$Alt$>$O} or through the PIDrawerTools
     547for an active PIHisto2D drawer. (see page \myppageref{sech2dtools})
     548\item[] {\bf PIContourTools}  activated using {\tt $<$Alt$>$O} or through the PIDrawerTools
     549for an active PIContourDrawer  drawer.  (see page \myppageref{secconttools})
    418550\end{itemize}
     551These control tools are briefly described in appendix.
     552
     553%%%%%%%%%%
     554\subsection{Graphic attributes}
     555Graphic attributes are specified as a set of space separated strings. Use
     556quotes to group them into a single argument parsed by the command
     557interpreter. The options are decoded by the different objects handling the
     558graphic (viewer widget, drawer, axe drawer). \\
     559The complex decoding scheme
     560is usually transparent for piapp users. However, there is an ambiguity when
     561specifying some of the axes attributes, such as color or the font used for
     562drawing the axes. The command {\bf setaxesatt}  (\myppageref{setaxesatt})
     563should thus be used to specify generic graphic attributes (color, font, line type). \\
     564for axes.
     565\begin{itemize}
     566\item[\bul]  The {\bf PIScDrawWdg} viewer options: \\
     567\begin{verbatim}
     568>> To define the 2D axes limits (in user coordinates)
     569   xylimits=xmin,xmax,ymin,ymax 
     570>>  To define the default drawing rectangle, in fraction of widget size
     571  defdrrect=x1,x2,y1,y2  (default: x1=y1=0.1  x2=y2=0.9)
     572>> Axes flags :
     573  linx  logx  liny logy
     574>> To change the background color (default=white)
     575  wbgcol=colname
     576 
     577\end{verbatim}
     578%%%
     579\item[\bul]  The {\bf PIDraw3DWdg} viewer options: \\
     580\begin{verbatim}
     581>> To define the 3D box limits :
     582  xyzlimits=xmin,xmax,ymin,ymax,zmin,zmax
     583  limit3dbox=xmin,xmax,ymin,ymax,zmin,zmax
     584>> Autoscaling flags (rescaling of X/Y or X/Y/Z axes)
     585  autoscale3dbox  / noautoscale3dbox
     586  autoscalexy3dbox / noautoscalexy3dbox
     587  autoscalez3dbox / noautoscalez3dbox
     588>> To change the background color (default=white)
     589  wbgcol=colname
     590 
     591\end{verbatim}
     592%%%
     593\item[\bul]  The {\bf PIImage} viewer options: \\
     594\begin{verbatim}
     595>> Define display zoomfactor
     596  zoomxFact     (zoomx2 zoomx3 ... zoomx9 ...)
     597  zoom/Fact  (zoom/2 zoom/3 ... )
     598>> LUT (look-up table) definition (pixel value to index conversion)
     599  lut=type,min,max   (type=lin/log/sqrt/square)
     600>> Define color table and reversing color indexing flag
     601  ColTableName     revcmap
     602  ==> Standard tables with 32 distinct colors:
     603          grey32  invgrey32 colrj32  colbr32  colrv32 
     604  ==> Standard tables with 128 distinct colors:
     605          grey128  invgrey128  colrj128  colbr128
     606  ==> Shades of red/green/blue ...
     607           red32cm  green32cm  blue32cm  yellow32cm
     608           orange32cm cyan32cm violet32cm
     609  ==> Some of MIDAS color tables :
     610          midas_pastel  midas_heat  midas_rainbow3
     611          midas_bluered  midas_bluewhite  midas_stairs8
     612          midas_stairs9 midas_staircase midas_color
     613          midas_manycol  midas_idl14  midas_idl15
     614  ==> Other tables
     615          multicol16 multicol64
     616>> Viewed center position (image/array coordinates)
     617  imagecenter=xc,yc 
     618>> Array axes to window axes mapping flags
     619  invx  invy  exchxy
     620>> To change the background color (default=black)
     621  wbgcol=colname
     622 
     623\end{verbatim}
     624%%%
     625\item[\bul]  The {\bf PIGraphicAtt} Generic graphic attributes (color/font/line \ldots)
     626decoded by all drawers: \\
     627\begin{verbatim}
     628>>> color=ColorName - fgcolor=ColorName - bgcolor=ColorName
     629   ColorName: black white grey red blue green yellow
     630              magenta cyan turquoise navyblue orange
     631              siennared purple  limegreen gold violet
     632              violetred blueviolet darkviolet skyblue
     633              royalblue forestgreen orangered brown
     634>>> line=DashType,LineWidth 
     635   DashType: solid, dash, dotted, dashdotted   Width: 1,2,...
     636>>> font=FontName,FontAtt,FontSize 
     637   FontName: courier, helvetica, times, symbol   
     638   FontAtt: roman, bold, italic, bolditalic 
     639   FontSize: 6,8,10,12... (pts) - integer
     640>>> marker=MarkerType,MarkerSize (MarkerSize: integer 3,5,7...
     641   MarkerType: dot, plus, cross, circle, fcircle, box, fbox
     642               triangle, ftriangle, star, fstar
     643>>> arrow=ArrowType,ArrowSize (ArrowSize: integer 3,5,7...
     644   ArrowType: basic, triangle, ftriangle,
     645              arrowshaped, farrowshaped
     646>>> ColorTables: defcmap  grey32  invgrey32  colrj32  colbr32
     647                grey128  invgrey128  colrj128  colbr128
     648                red32cm  green32cm  blue32cm  yellow32cm
     649                orange32cm cyan32cm violet32cm
     650                midas_pastel midas_heat midas_rainbow3 midas_bluered
     651                midas_bluewhite midas_redwhite
     652                multicol16 multicol64
     653>   revcmap : This flag reverses ColorMap indexing
     654------- Old style graphic att ----------
     655>> Lines:  defline normalline thinline thickline dashedline thindashedline
     656           thickdashedline dottedline thindottedline thickdottedline
     657>> Font Att: deffontatt normalfont boldfont italicfont bolditalicfont 
     658             smallfont smallboldfont smallitalicfont smallbolditalicfont
     659             bigfont bigboldfont bigitalicfont bigbolditalicfont
     660             hugefont  hugeboldfont hugeitalicfont hugebolditalicfont
     661>> Font Names: deffont courierfont helveticafont timesfont symbolfont 
     662>> Marker: dotmarker<S>  plusmarker<S>  crossmarker<S> circlemarker <S>
     663           fcirclemarker<S> boxmarker<S> fboxmarker<S> trianglemarker<S>
     664           ftrianglemarker<S>  starmarker<S>  fstarmarker<S>
     665   with <S> = 1 3 5 7 9 , Example fboxmarker5 , plusmarker9 ...
     666   
     667\end{verbatim}
     668%%%%
     669\item[\bul]  The {\bf PIElDrawer} decodes axe drawing attributes: \\
     670\begin{verbatim}
     671 >> Axe and grid configuration flags:
     672   axesnone  stdaxes defaxes
     673   boxaxes boxaxesgrid fineaxes fineaxesgrid
     674   centeredaxes finecenteredaxes centeredaxesgrid
     675   finecenteredaxesgrid  grid/nogrid
     676 >> Centered axes position: axescenter=xc,yc
     677 >> Axe ticks/labels (h=horizontal/x, v=vertical/y):
     678   labels/nolabels  hlabels/nohlabels vlabels/novlabels
     679   ticks/noticks minorticks/nominorticks
     680   extticks/intticks/extintticks nbticks=X_NbTicks,Y_NbTicks
     681   tickslen=MajorTickLenFrac,MinorTickLenFraC
     682 >> Axe label font size:
     683    autofontsize=FontSizeFrac fixedfontsize
     684 >> Up/Down title: title tit notitle notit
     685    ... Color/Font/line attributes :
     686   
     687\end{verbatim}
     688\item[\bul]  The {\bf PINTuple} handles most 2D plotting : \\
     689\begin{verbatim}
     690  sta,stat,stats:            activate   statistic display
     691  nsta,nstat,nostat,nostats: deactivate statistic display
     692  statposoff=OffsetX,OffsetY : Position offset for Stats drawing
     693      as a fraction of total size
     694  connectpoints: The points are connected by a line
     695  noconnectpoints (this is the default)
     696  colorscale/nocolorscale (Use color scale for weight)
     697  sizescale/sizescale=nbins/nosizescale (Use marker size for weight)
     698   (and usual color/line/marker/... attribute decoding)
     699   
     700\end{verbatim}
     701%%%
     702\item[\bul]  {\bf PIHisto} and {\bf PIHisto2D} handle1D and 2D histograms display. \\
     703The following options are recognised by PIHisto: \\
     704\begin{verbatim}
     705  sta,stat,stats:            activate   statistic display
     706  nsta,nstat,nostat,nostats: deactivate statistic display
     707  err / noerr,nerr : draw, do not draw error bars
     708  autoerr : draw error bars if Marker drawing requested OR Profile histo
     709  fill / nofill,nfill : fill, do not fill bars with selected color
     710  statposoff=OffsetX,OffsetY : Position offset for Stats drawing
     711       as a fraction of total size
     712\end{verbatim}
     713The following options are recognised by PIHisto2D: \\
     714\begin{verbatim}
     715- sta,stat,stats:            activate   statistic display
     716  nsta,nstat,nostat,nostats: deactivate statistic display
     717- h2disp=typ[,fracpts]: choose display type
     718    typ=var: variable size boxes
     719    typ=hbk: "a la hbook2"
     720    typ=img: image like (use "h2col" for color map)
     721    typ=pts: point clouds (fracpts=max possible fraction
     722             of used pixels per bin [0,1])
     723- h2scale=lin/log[,logscale]: choose linear or logarithmic scale
     724- h2dyn=[hmin][,hmax]: choose histogramme range for display
     725- use general key to define color table (ex: grey32,midas_heat,...)
     726            (see general graphicatt description)
     727- use key "revcmap" to reverse color table
     728- h2frac=[fmin][,fmax]: choose sub-range display [0,1]
     729
     730\end{verbatim}
     731%%%%
     732\item[\bul]  The {\bf PINTuple3D} and {\bf PISurfaceDrawer}
     733handles basic 3D plotting and can decode the common 3D box options: \\
     734\begin{verbatim}
     735  X/Y,Z axis rescaling option (-> cubic 3D box) 
     736  rescale=autoscale/ norescale=noautoscale : X/Y and Z axis
     737  rescalexy=autoscalexy / norescalexy=noautoscalexy : X/Y  axis
     738  rescalexy=autoscalexy / norescalexy=noautoscalexy : Z axis
     739\end{verbatim}
     740The  PINTuple3D decodes in addition the following options:
     741\begin{verbatim}
     742 connectpoints: The points are connected by a line
     743  noconnectpoints (this is the default)
     744  colorscale/nocolorscale (Use color scale for weight)
     745  sizescale/sizescale=nbins/nosizescale (Use marker size for weight)
     746 
     747\end{verbatim} 
     748\item[\bul]  {\bf PIBarGraph} options : \\
     749\begin{verbatim}
     750 ---- PIBarGraph options help info :
     751  fill/nofill: set bar fill option
     752  horizontalbars/verticalbars: set bar orientation
     753  packfrac=value : set bar packing fraction (0..1)
     754  barvaluelabel/nobarvaluelabel: Use/Don't use bar value as labels
     755 --- + Usual colr/line/font  attribute decoding ...
     756 \end{verbatim}
     757\end{itemize}
     758
    419759
    420760%%%%%%%%%%%%%%% Section 4 :   I/O
     
    434774\newpage
    435775\section{Tables and interactive analysis}
     776\label{tableplot}
    436777
    437778%%%%%%%%%%%%%%% Section 6 :  command interpreter
     
    465806An application level set of variables is also managed
    466807by Commander, through redefinition of \\
    467 {\tt Commander::GetVarApp() / GetVarApp() \ldots } methods.
     808{\tt Commander::GetVarApp() / GetVarApp() \ldots } methods.  \\
    468809The {\bf PIACmd} in piapp redefines the {\tt GetVarApp() }
    469810in order to provide an easy access to some of objects attributes or methods,
    470 managed by {\bf NamedObjMgr}.
     811managed by {\bf NamedObjMgr} (See below).
    471812
    472813\begin{itemize}
     
    526867
    527868\par
    528 When brackets are used, the priority level between interpreter variables
    529 and application level variable is changed. If vname exist at the application level,
    530 {\tt \${vname} }  is replaced by its value, even if an interpreter variable with the
    531 same name has been defined. For some classes managed by NamedObjMgr,
    532 PIACmd provide acces to some of the attributes of the object by
    533 {\tt \${objname.attname} }. This mechanism has been implemented in particular for
    534 TArrays, TMatrix/TVector, Histograms, NTuples and DataTables.
    535 \par
    536 Environment variables can simply be accessed by {\tt \$varenvname}.
    537 However, env. variables have the lowest priority.
    538 Interpreter's variables have the highest priority in the substitution, followed
    539 by the application level variables.
    540869
    541870\item[\rond] {\bf Special variables }
     
    548877\item {\tt \$1 \$2 \$3} ....  : Arguments  (for scripts and .pic files (exec))
    549878\end{itemize}
     879
     880\item[\rond] {\bf Objects/Application level variables} \\
     881For some classes managed by NamedObjMgr,
     882PIACmd provide acces to some of the attributes of the object by
     883{\tt \${objname.attname} }. This mechanism has been implemented in particular for
     884TArrays, TMatrix/TVector, Histograms, NTuples and DataTables.
     885In addition, when brackets  are used ($\${vname}$), the priority level between interpreter variables
     886and application level variable is changed. If {\tt vname} exist at the application level,
     887{\tt \${vname} }  is replaced by its value, even if an interpreter variable with the
     888same name has been defined.
     889\begin{verbatim}
     890# -------- Example with a Vector
     891piapp[1] newvec va 12
     892piapp[2] echo $va
     893TVector<d>(12) (nr=12, nc=1)
     894# ------- An undefined attribute, such as ? might be
     895#           used to get list of valid attributes
     896piapp[3] echo ${va.?}
     897TMatrix.Att: rank size/nelts nrow/nrows ncol/ncols sum
     898#  Compound names, in the form  name.att must be inclosed in braces {name.att}
     899piapp[4] echo ${va.size}
     90012
     901# -------- Example with an histogram
     902piapp[8] newh1d his 0. 20. 40
     903piapp[10] echo ${his.?}
     904Histo1D: nbin binw mean sigma over under nentries ndata
     905                 xmin xmax vmin vmax imin imax
     906piapp[11] echo ${his.nbin}
     90740
     908\end{verbatim}
     909
     910\item[\rond] {\bf Environment variables} can simply be accessed by {\tt \$varenvname}.
     911However,  the environment variables have the lowest priority during substitution.
     912Interpreter's variables have the highest priority, followed
     913by the application level variables.
     914
    550915\end{itemize}
    551916 
     917
    552918\subsection{Control structures}
    553919
     
    7071073{\bf PIImage} (\myppageref{PIImage}). The PIDrawerTools can be activated
    7081074either using {\tt Alt<G>} on a PIScDrawWdg,PIDraw3DWdg,PIImage,
    709 or through the menu {\bf Tools/Show DrawerTools}.
    710 A given drawer can be selected through the DrawerId selector.
     1075or through the \menubar{Tools/Show DrawerTools}.
     1076A given drawer can be selected through the DrawerId selector (+ / - buttons)
    7111077
    7121078\vspace*{5mm}
    7131079\begin{figure}[ht!]
    7141080\begin{center}
    715 \includegraphics[width=7cm]{piapp_drwtools.eps}
     1081\includegraphics[width=8cm]{piapp_drwtools.eps}
    7161082\caption{PIDrawerTools}
    7171083\label{figdrwtools}
    7181084\end{center}
    7191085\end{figure}
    720 \newpage
    7211086%%%%
    7221087\subsection{AxesTools} \index{AxesTools}
     
    7271092The PIAxesTools can be activated
    7281093either using {\tt Alt<A>} on a PIScDrawWdg or through
    729 the menu {\bf Tools/Show AxesTools}.
     1094the \menubar{Tools/Show AxesTools}.
    7301095
    7311096\vspace*{5mm}
     
    7381103\end{figure}
    7391104%%%%%
    740 \section{ImageTools} \index{ImageTools}
     1105\subsection{ImageTools} \index{ImageTools}
    7411106\label{secimagetools}
    7421107The {\bf PIImageTools}, shown in the figure \ref{figimgtools} can be used to
    7431108manipulate a display of type image. Image display are handled by the
    7441109{\bf PIImage} (\myppageref{PIImage}). The PIImageTools can be activated
    745 either using {\tt Alt<O>} on a PIImage, or through the menu
    746 {\bf Tools/Show ImageTools}.
     1110either using {\tt Alt<O>} on a PIImage, or through the
     1111\menubar{Tools/Show ImageTools}.
    7471112
    7481113\vspace*{5mm}
Note: See TracChangeset for help on using the changeset viewer.