help text of commands

.: . path
  Source a insh file.
alias: alias [name[=value]]
  With no arguments, print the list of aliases in the form alias name='value'.
  Otherwise, an alias is defined for each name whose value is given.
  Example:
    alias x='echo hello'
    alias
    x
basename: basename path
  Return the file name portion of a path.
  Example:
    basename /a/b/c.d  # return c.d
cat: cat path
  Print a file.
cd: cd [path]
  Change the current directory to path. Without argument it goes in ${HOME}
  on UNIXes (including CYGWIN) and ${USERPROFILE} on Windows from a DOS prompt.
compgen: compgen [-cbae]
  -c list all aliases, builtins and other commands.
  -b list all builtins.
  -a list all aliases.
  -e list all environment variables.
cp: cp source target
  Copy the contents of source file in the target file.
  If target is ., a file with name being the source base name will be created
  in the current directory.
date: date
  Print date and time.
dirname: dirname path
  Return the directory portion of a path.
  Example:
    dirname /a/b/c.d  # return /a/b
echo: [-n] [arg ...]
  Output the args.
  If -n is specified, the trailing newline is suppressed.
eval: eval [args]
  Read args as input to the shell and execute the resulting command.
exit: exit
  Causes a not sourced file to exit.
  In interactives mode, it stops the shell.
export: export [name[=value]] 
  name is marked for automatic export to the environment.
  If no name is given, a list of all names that are exported
  is printed.
  Example:
    a=b
    export a
    export a=b
    export
grep: grep what path
  Print lines in file 'path' with 'what' in them.
head: head  [-n uint] path
  Display first lines of a file.
  -n uint, number of lines to be displayed.
help: help [command]
  Display informations about a command.
helps: helps [-doxygen]
  Print the help text of known commands.
  -doxygen permits to print at some doxygen format in a helps.h file.
history: history [-c] [n]
  Display the history list with line numbers.
  Argument of n says to list only the last n lines.
  The -c option causes the history list to be
  cleared by deleting all of the entries.
mkdir: mkdir [-p] name
  Create directory name.
  -p permits to create intermediate directories if needed.
  Example:
    mkdir my_dir
    mkdir -p dir_0/dir_1/my_dir
print_args: print_args [args]
  Print the arguments. It helps debugging string manipulations in insh.
printenv: printenv [name]
  The printenv utility prints out the names and values of the variables in the environment,
  with one name/value pair per line.  If name is specified, only its value is printed.
  Example:
    printenv
    printenv HOME
pwd: pwd
    Print the current working directory.
return: return
  Causes a sourced file to exit.
rm: rm [-R] paths
  Remove the files specified by paths.
  -R if a path is a directory, remove it with all its content.
  Example:
    touch file_1 file_2
    rm file_1 file_2
    rm -R dir_1
seq: seq [first last]
  Print numbers from first to last.
  Example:
    seq 1 10
    seq 10 0
set: set [-+v,-+x,-+n,-+d]
  -v print shell input lines as they are read.
  -x print commands and their arguments as they are executed.
  -n read commands but do not execute them.
  -d pass in debug mode.
  Using + rather than - causes these flags to be turned off.
  Without options, all shell variables are printed.
  Example:
    set -v
    set +v
    set
string_replace: string_replace old new string
  Replace occurences of old by new in string.
  Example:
    # the below should print 'hello world... what the hell?'
    string_replace xy ll 'hexyo world... what the hexy?'
suffix: suffix path
  Return the suffix portion of a path.
  Example:
    suffix /a/b/c.d  # return d
sys_device_has_stop_app_button: sys_device_has_stop_app_button
  Return true if the device has a button (or gesture) to stop the current application, false if none.
  Android and iOS have a button to stop the current application (or a gesture to do that).
  Example:
    sys_device_has_stop_app_button
sys_os: sys_os
  Return OS type. It is defined in inlib/platform/os().
  It could be:
    iOS,Android,emscripten,Windows_NT,Darwin,Linux,CYGWIN,OSF1.
  Example:
    sys_os
system: system command
  Pass command to the C ::system() function.
  Note that a command with arguments must be passed as one string.
  Example:
    system ls
    system 'ls -al'
tail: tail [-n uint] path
  Display the last part of a file.
  -n uint, number of lines to be displayed.
time: time command
  Execute command and print the real time spent executing it.
touch: touch paths
  The touch utility sets the modification and access times of files.
  If any file does not exist, it is created with default permissions.
  Example:
    touch file_1 file_2
type: type [-t] name [name ...]
  For each name, indicate how it would be interpreted if used as a command name.

  If the -t option is used, it outputs a single word which is one of
  [alias, builtin, compiled, file, unfound] if the name is an alias, shell builtin,
  other compiled command, a file or is unfound.
unalias: unalias [-a] name
  Remove name from the list of defined aliases.
  -a removes all aliases.
unique: unique [args]
  Remove duplicates in args and print result.
unset: unset variable
  Remove the corresponding variable.
app_clear_doc_dir: app_clear_doc_dir
  Clear the document directory of the app.
app_color_value: app_color_value [-r,-g,-b,-a,-rgba] colorname
  Print the rgba of a color given its name.
  -r to print only the red value (in [0,1]).
  -g to print only the green value (in [0,1]).
  -b to print only the blue value (in [0,1]).
  -a to print only the alpha value (in [0,1]).
  -rgb to print only red, green, blue.
  Example:
    app_color_value red
    app_color_value -r red
    app_color_value -rgb red
app_dir: app_dir [-res,-doc,-out,-tmp,-start]
  Print the application [resource,document,output,startup,temporary] directory.
  If no option given, print all of them in this order.
  Example:
    app_dir
    app_dir -res.
app_doc_dir: app_doc_dir
  Print the application document directory.
  Example:
    app_doc_dir
app_hits_fill: app_hits_fill [-histo,-reset] collection
  Example:
    app_hits_fill -reset -histo=edep WCPMT
app_open: app_open [-doc,-res,-doc_res] path
  Attempt to open a file. The known file types depend of the "openers" declared to the app.
  If no directory is given in path, the -doc_res option permits to search a file first
  in the document directory declared to the app, and then in the app (internal) resource directory.
  -res for the resource directory only, -doc for the document directory only.
  See also:
    app_res_dir
    app_doc_dir
app_openers: app_openers [-exts]
  List operners known by the application. -exts permits to list the known file extensions.
app_out_dir: app_out_dir
  Print the application output directory.
  Example:
    app_out_dir
app_res_dir: app_res_dir
  Print the application resource directory.
  Example:
    app_res_dir
app_start_dir: app_start_dir
  Print the application startup directory.
  Example:
    app_start_dir
app_tmp_dir: app_tmp_dir
  Print the application temporary directory.
  Example:
    app_tmp_dir
app_version: app_version
  Print the application version.
app_vis_beam_and_target: app_vis_beam_and_target
  Visualize beam and the target.
  Example:
    app_vis_beam_and_target
app_vis_digis_collection: app_vis_digis_collection collection
  Example:
    app_vis_digis_collection WCDigitizedCollection
app_vis_hits_collection: app_vis_hits_collection collection
  Example:
    app_vis_hits_collection WCPMT
app_vis_trajectories_end_direction: app_vis_trajectories_end_direction
  Example:
    app_vis_trajectories_end_direction
app_windowing: app_windowing
  Print the windowing system of the application.
  It could be [Cocoa,Windows,X11,UIKit,Android,offscreen,web].
calc: calc [formula] [variable values]
  Expression evaluator.
  Example:
    calc 2+2
    calc cos(x) 3.14
    calc x/y 4 2
camera_pitch: camera_pitch [-deg,-degree] value
  Rotate the camera around the left-right/x axis.
  If specifying -deg or -degree, the value is taken in degrees.
  Example:
    camera_pitch 0.52
    camera_pitch -deg 30
camera_reset: camera_reset
  Reset camera parameters.
  It is usefull if being lost in space.
camera_roll: camera_roll [-deg,-degree] value
  Rotate the camera around the direction of view axis.
  If specifying -deg or -degree, the value is taken in degrees.
  Example:
    camera_roll 0.52
    camera_roll -deg 30
camera_rotate: camera_rotate [-x,-y,-z] [-at_focal] [-deg,-degree] [-angle=angle]
  Rotate the camera around an axis of the given angle.
  If -deg or -degree is specified, the angle is in degree (default is then radian).
  If -at_focal is given, the center of rotation if the focal point, else
  it is the current camera position.
  -x or -y or -z specifies the axis of rotation (one must be specified).
  The frame follows the usual OpenGL convention : x axis points to the right,
  y axis points to the up direction and the z axis is pointing off the screen.
  Example:
    camera_rotate -z -deg -angle=-20  # to roll by -20 degrees.
camera_set_da: camera_set_da value
  Set the rotation step factor in radians (default 0.017).
camera_set_ds: camera_set_ds value
  Set the zoom step factor (default 0.99).
camera_set_dx: camera_set_dx value
  Set the translation step factor (default 0.01).
camera_set_focal: camera_set_focal value
  Set the camera focal length (default 1).
camera_set_orientation: camera_set_orientation [-degree] [schema]
  If schema 'x y z angle' is given, set camera.orientation to:
    rotf(vec3f(x,y,z),angle).
  If schema '-[xyz][xyz][xyz] angle_1 angle_2 angle 3' is given,
  set camera.orientation with a rotf built with:
     rotf r = rotf(<first axis>,<first angle>);
     r *= rotf(<second axis>,<second angle>);
     r *= rotf(<third axis>,<third angle>);
  If first specifying -degree, the angles are taken in degrees.
  Examples:
    # 2*pi/3=2.094 along vec3f(-1,-1,-1):
    camera_set_orientation -1 -1 -1 2.094
    # 30 degrees along z:
    camera_set_orientation -degree 0 0 1 30
    # -2.35 radian along y, then 0.2 along x and then -0.2 along z:
    camera_set_orientation -yxz -2.35 0.2 -0.2
camera_set_ortho: camera_set_ortho height
  Replace the current camera by an orthographic camera of given height.
  Example:
    camera_set_ortho 4
camera_set_perspective: camera_set_perspective angle
  Replace the current camera by a perspective camera with angle (in radians) height_angle.
  Example:
    camera_set_perspective 0.785  # pi/4.
camera_set_position: camera_set_position x y z
  Set camera.position to be x,y,z.
  Example:
    camera_set_position 0 0 10
camera_set_zfar: camera_set_zfar value
  Set the camera zfar (default 10).
  zfar is the distance toward the backward cut plan.
camera_set_znear: camera_set_znear value
  Set the camera znear (default 1).
  znear is the distance toward the forward cut plan.
camera_start_anim: camera_start_anim [-cycle_secs=secs] anim
  Start a camera animation. The anim argument could be :
    move_rotate_right
    move_rotate_left
    move_rotate_up
    move_rotate_down
    move_roll_plus
    move_roll_minus
    move_translate_right
    move_translate_left
    move_up
    move_down
    move_forward
    move_backward
    move_zoom_in
    move_zoom_out
    move_rotate_around_focal_right
    move_rotate_around_focal_left
    move_rotate_around_focal_up
    move_rotate_around_focal_down
    move_roll_around_focal_plus
    move_roll_around_focal_minus
    move_zoom_in_out
    move_zoom_in_out_rot
    move_curve
  For move_zoom_in_out, move_zoom_in_out_rot and move_curve, the -cycle_secs option
  permits to set the cycle time in seconds (it is 10 secs by default).
  Use camera_stop_anim to stop the animation.
camera_stop_anim: camera_stop_anim,
  If any on, stop a camera animation.
camera_swap_kind: camera_swap_kind
  Swap camera between ortho and perspective.
camera_translate_position: camera_translate_position x y z
  Translate the camera.position by x,y,z.
  Example:
    camera_translate_position 10 20 30
camera_view_all: camera_view_all
  Arrange the camera so that all the scene elements are viewed.
camera_yaw: camera_yaw [-deg,-degree] value
  Rotate the camera around the up axis.
  If specifying -deg or -degree, the value is taken in degrees.
  Example:
    camera_yaw 0.52
    camera_yaw -deg 30
camera_zoom: camera_zoom factor
  Zoom in or out camera.
  Example:
    camera_zoom 0.99  # is a zoom in.
    camera_zoom 1.01  # is a zoom out.
cloud_create: cloud_create [-classes,-class,-no_warn,-title] managed_name
  Create a named and managed cloud.
  If an object with same managed name already exist it is deleted.
  -classes print the available classes.
  -class=string class of the object to create (default is c1d).
  -no_warn to not warn in case of overwriting an existing object.
  -title=string title of the cloud (default is '').
  Example:
    cloud_create -classes
    cloud_create my_cloud
    cloud_create -class=c1d -title='my cloud' c_1
cloud_fill: cloud_fill [-x,-y,-z,-w] managed_name
  Fill cloud.
  -w=real weight of the fill (default is 1).
  -x=real x coordinate (default is 0).
  -x=random name of a managed random generator object.
  -y=real y coordinate (default is 0).
  -y=random name of a managed random generator object.
  -z=real z coordinate (default is 0).
  -z=random name of a managed random generator object.
  -entriesx=uint number of fill to do if using random managed objects.
  For a c1d -x is needed.
  For a c2d -x,-y are needed.
  For a c3d -x,-y,-z are needed.
  Example:
    cloud_create c_1
    cloud_ls
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    cloud_fill -x=`random_shoot r_1` c_1
    cloud_print c_1
cloud_ls: cloud_ls
  List managed clouds.
  Example:
    cloud_ls
cloud_plot: cloud_plot [-infos_name,-ref] name
  Plot named managed cloud.
  -infos_name=string string to be put in the 'Name' entry of the infos box.
  -ref if specified, a reference (then not a copy) of the cloud is passed
  to the plotter. Must be used with care; the cloud must exist whilst the plotter
  is using it.
  Example:
    cloud_create -class=c2d c
    cloud_ls
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    numbers=`seq 1 10000`
    for i in ${numbers} ; do
      x=`random_shoot r_1`
      y=`random_shoot r_1`
      cloud_fill -x=${x} -y=${y} c
    done
    cloud_fill -entries=10000 -x=r_1 -y=r_1 c
    cloud_print c
    cloud_plot c
cloud_print: cloud_print [-header,-hprint,-[rms,mean][_x,_y_z]] managed_name
  Print cloud at the csv format given its name.
  -header to print the csv header only.
  -mean/-rms for 1D cloud, print axis mean/rms value.
  -mean_x,-rms_x for 2,3D cloud, print x axis mean/rms value.
  -mean_y,-rms_y for 2,3D cloud, print y axis mean/rms value.
  -mean_z,-rms_z for 3D cloud, print z axis mean/rms value.
  Example:
    cloud_create my_cloud
    cloud_ls
    cloud_fill -x=0.5 my_cloud
    cloud_print my_cloud
    cloud_print -header my_cloud
    cloud_print -mean my_cloud
cloud_remove: cloud_remove managed_name
  Remove managed cloud.
  -all remove all objects.
  Example:
    cloud_ls
    cloud_create c_1
    cloud_ls
    cloud_remove c_1
    cloud_ls
    cloud_remove -all
cloud_reset: cloud_reset [managed_name]
  Reset content of a managed cloud.
  Example:
    cloud_create c
    cloud_fill -x=0.5 c
    cloud_print c
    cloud_reset c
    cloud_print c
cpp_sizeof_long: cpp_sizeof_long
  Print sizeof(long).
cpp_sizeof_long_long: cpp_sizeof_long_long
  Print sizeof(long long).
cpp_sizeof_off_t: cpp_sizeof_off_t
  Print sizeof(off_t).
cpp_sizeof_void_star: cpp_sizeof_void_star
  Print sizeof(void*).
event_stop_anim: event_stop_anim
  Stop the looping on events animation.
fit_result_plot: fit_result_plot name
  Have a named fit result in the infos box of the current plotter.
  See the help of the histo_fit command for a full example.
function_create: function_create [-script] [managed_name]
  Create a scripted managed function. The function is added in the 'functions' object
  of the current object manager.
  If no name is given, the known functions (scripted or not) are listed.
  -script=string the script of the scripted function.
  If the named function already exists, its script is updated.
  A scripted function uses a simple C instruction interpreter to evaluate a value.
  Example:
    function_create -script='exp(cos(10*x))' my_func
function_plot: function_plot [-infos_name,-xmin,-xmax,-steps,-script] name
  Plot named function.
  -infos_name=string string to be put in the 'Name' entry of the infos box.
  -xmin=real plotter x axis min value (default is -1).
  -xmax=real plotter x axis max value (default is 1).
  -steps=uint number of steps when evaluating the function (default is 100).
  You can use the completion to get the known function names.
  Example:
    function_plot cos
    function_create -script='exp(cos(10*x))' my_func
    function_plot my_func
function_print: function_print managed_name
  Print informations about a named function.
  Example:
    function_create -script='exp(cos(10*x))' my_func
    function_print my_func
function_value: function_value [-x] managed_name
  Print the value of a one dimensional named function.
  -x=real the x input value to the function.
  Example:
    function_create -script='exp(cos(10*x))' my_func
    function_value -x=0 my_func  # should print 2.71828
g4_apply_command: g4_apply_command command
  Execute a Geant4 command.
  Example:
    g4_apply_command '/run/beamOn 1'
g4_beam_on: g4_beam_on [-number,-sleep]
  Do a G4RunManager::BeamOn(number).
  -number=uint number of events to produce (default 1).
  -sleep=uint sleep time, in millisec, between events (default 0).
  Example:
    g4_beam_on  # produce one event.
    g4_beam_on -number=10 -sleep=100
g4_event_start_anim: g4_event_start_anim [-start,-number,-bof,-sleep]
  Loop 'number' of time doing G4RunManager::DoEventLoop(1,0,-1).
  -number=uint do it number times (default 1).
  -sleep=uint time, in msec, to sleep between each event (default 0).
  Use event_stop_anim to stop looping.
  Example:
    g4_event_start_anim
    g4_event_start_anim -number=100 -sleep=100
g4_field_manager_ls: g4_field_manager_ls
  Print the list of G4FieldManagers.
  Example:
    g4_field_manager_ls
g4_lv_ls: g4_lv_ls
  Print the list of G4LogicalVolumes.
  Example:
    g4_lv_ls
g4_lv_set_material: g4_lv_set_material logical_volume material
  Set material of a logical volume.
  Example:
    g4_lv_set_material absorber copper
  See also:
    g4_lv_ls
    g4_material_ls
g4_material_list: g4_material_ls
  Print the list of G4Materials.
  Example:
    g4_material_ls
g4_output: g4_output enable/disable
  Enable, disable Geant4 output.
  Example:
    g4_output enable
    g4_apply_command '/control/verbose 2'
    g4_apply_command '/run/verbose 2'
    g4_beam_on
    g4_output disable
    g4_beam_on
g4_particle_ls: g4_particle_ls
  Print the list of particle names.
  Example:
    g4_particle_ls
g4_pv_ls: g4_pv_ls
  Print the list of G4PhysicalVolumes.
  Example:
    g4_pv_ls
g4_pythia_version: g4_pythia_version
  Print Pythia version.
  Print 'none' if app not built with Pythia.
  Example:
    g4_pythia_version
g4_read_gdml: g4_read_gdml file
  Read a gdml file and put its content as the run manager geometry.
  Example:
    g4_read_gdml `add_res_dir`/barrel.gdml
    g4_pv_ls
g4_scene_add_geo_volume: g4_scene_add_geo_volume [-min_depth,-max_depth,-volume_depth,-atb,-colormap] [pv]
  Add a G4PhysicalVolume (pv) tree representation in the static scene.
  Each shape is represented by a inlib::sg::polyhedron.
  If no pv name is given, the top 'world volume' is taken.
g4_version: g4_version
  Print Geant4 version.
  Example:
    g4_version
g4_vis_geometry: g4_vis_geometry
  Visualize the Geant4 geometry.
g4_vis_primary_vertices: g4_vis_primary_vertices
g4_vis_trajectories: g4_vis_trajectories
gui_disable_anim: gui_disable_anim
  Disable animations.
gui_enable_anim: gui_enable_anim
  Enable animations.
gui_exec_main_menu_item: gui_exec_main_menu_item menu_item_label
  Given its label, find a menu item in the
  current main menu and execute its callback.
  Example:
    gui_exec_main_menu_item exit
gui_has_mail_panel: gui_has_mail_panel
  Print true if GUI has a mail panel, false if not.
gui_has_open_panel: gui_has_open_panel
  Print true if GUI has an open file panel, false if not.
gui_hide_camera_menu: gui_hide_camera_menu
  Hide the camera menu items.
gui_hide_console: gui_hide_console
  Hide the upper left console text.
gui_hide_main_menu: gui_hide_main_menu
  Hide the main menu and show the scene.
gui_hide_meta_zone: gui_hide_meta_zone
  Hide the light blue area at the bottom of the window that permits
  to switch between scene mode and main menu mode. Note that this
  area is anyway still active.
gui_mail_file: gui_mail_file [-subject,-message] file
  If supported, open a mail panel to send a file.
  -subject=string mail subject. (default is 'app_name export')
  -message=string mail message. (default is 'sent from app_name app')
  Example:
    doc_dir=`app_dir -doc`
    gui_mail_file ${doc_dir}/out.png
gui_menu_files: gui_menu_files
  Open a inlib::sg::file_chooser and 'app_open' the choosen file.
  Example:
    gui_menu_files
gui_open_panel: gui_open_panel
  If supported, open a modal file chooser panel and get a file path.
  Example:
    echo `gui_open_panel`
gui_push_back_item: gui_push_back_item
  If being in a submenu of the main menu, return to the parent menu.
gui_push_entries: gui_push_entries [-script,-string,-bool,-uint,-int,-double,-opts,-not_editable,-combo_string]
  Show a entries widget.
  -string=string of the form -string='label' or -string='label:default' to set a string entry.
  -bool=string of the form -bool='label:[false,true]' to set a boolean entry.
  -uint=string of the form -uint='label:default not signed number' to set a unsigned int entry.
  -int=string of the form -int='label:default number' to set a int entry.
  -double=string of the form -double='label:default real' to set a double entry.
  -opts=string of the form -opts='label:default:[items:]' to set an option strings entry.
  -combo_string=string of the form -combo_string='label:default:[items:]' to set an option strings entry,
  but without enforcing the default to be in the item list.
  -not_editable=string of the form -not_editable='label:value' to set a not editable entry.
  -script=string permits to set a 'ok' insh callback. Within the ok script,
  you can use the 'inlib_sg_entries_value_[num]' insh variables to retrieve each value
  of the entries.
  Example:
    gui_push_entries -script='echo ${inlib_sg_entries_value_2}' -string='entry 0' -string='entry 1:hello' -opts='items:item 2:item 1:item 2' -uint='cols:1' -double='mean:-1' -bool='clear:true'
    gui_show_main_menu
gui_push_home: gui_push_home
  Show the top list items in the main menu.
gui_push_keyboard: gui_push_keyboard [-script]
  Show a keyboard widget.
  Example:
    gui_push_keyboard -script='echo ${inlib_sg_keyboard_value}'
    gui_show_main_menu
gui_push_list: gui_push_list [label script]
  Show a list menu.
  A list of pairs (label,script) must be provided.
  Example:
    gui_push_list 'item 1' 'echo item 1' 'item 2' 'echo item 2'
    gui_show_main_menu
gui_push_list_items: gui_push_list_items [-item]
  Show a list menu.
  A list of items, with -item='label:image_file:script', must be provided.
  Example:
    gui_push_list_items -item='about:icon.jpg:about.insh' -item='exit:application_exit.jpg:gui_set_to_exit'
    gui_show_main_menu
gui_push_scroll_infos: gui_push_scroll_infos [left right]
  Show a scroll infos widget.
  A list of pairs (left,right) strings must be provided.
  Example:
    gui_push_scroll_infos 'left 1' 'right 1' 'left 2' 'right 2'
    gui_show_main_menu
gui_scroll_text: gui_scroll_text [strings]
  Show strings in a scrolling text widget.
  Example:
    gui_scroll_text line_1 line_2 line_3 line_4 line_5 line_6
    gui_show_main_menu
gui_set_console_layout: gui_set_console_layout [width] [height] [scale]
  Set the console width and/or height. -scale can set an extra scaling factor.
  Width and height are in normal window coordinates (in [0,1]).
  Example:
    gui_set_console_layout -width=0.5 -height=0.06 -scale=1.2
    gui_set_console_layout -width=0.5  # half window width.
    gui_set_console_layout -scale=2
    gui_set_console_layout  # reset default layout (width=0.3, height=0.05, scale=1) 
gui_set_picking_mode: gui_set_picking_mode
  When in scene mode, pass the cursor/touching in picking mode.
  It permits to pick an object and have a contextual popup on it.
gui_set_to_exit: gui_set_to_exit
  Raise the application exit flag.
gui_set_viewing_mode: gui_set_viewing_mode
  When in scene mode, pass the cursor/touching in viewing mode.
  It permits to move the camera with the mouse/touches.
gui_show_camera_menu: gui_show_camera_menu
  Show the camera menu items.
gui_show_colors: gui_show_colors
  Show default colors.
  Example:
    gui_show_colors
    gui_show_main_menu
gui_show_console: gui_show_console
  Show the upper left console text.
gui_show_main_menu: gui_show_main_menu
  Show the main menu.
gui_show_styles: gui_show_styles
  Show styles.
  Example:
    gui_show_styles
    gui_show_main_menu
gui_text: gui_text [strings]
  Show strings in a text widget.
  Example:
    gui_text line_1 line_2 line_3
    gui_show_main_menu
gui_warn: gui_warn [-warn] [message]
  Show a message.
  -warn to have a red background.
  Example:
    gui_warn 'hello insh'
    gui_warn -warn 'critical situation'
histo_create: histo_create [-classes,-class,-no_warn,-title,-[x,y,z]bins,-[x,y,z]min,-[x,y,z]max] managed_name
  Create a named and managed histogram.
  If an object with same managed name already exist it is deleted.
  According to the wanted class, various booking arguments can be passed.
  -classes print the available classes.
  -no_warn to not warn in case of overwriting an existing object.
  -title=string title of the histogram (default is '').
  -class=string class of the object to create (default is h1d).
  -[x,y,z]bins=uint number of [x,y,z] bins (default is 100).
  -[x,y,z]min=real [x,y,z] min (default is 0).
  -[x,y,z]max=real [x,y,z] max (default is 1).
  Example:
    histo_create -classes
    histo_create my_histo
    histo_create -class=h1d -title='my histo' -xbins=10 -xmin=-5 -xmax=5 h_1
histo_fill: histo_fill [-x,-y,-z,-w] managed_name
  Fill histogram.
  -w=real weight of the fill (default is 1).
  -x=real x coordinate (default is 0).
  -x=random name of a managed random generator object.
  -y=real y coordinate (default is 0).
  -y=random name of a managed random generator object.
  -z=real z coordinate (default is 0).
  -z=random name of a managed random generator object.
  -entriesx=uint number of fill to do if using random managed objects.
  For a h1d -x is needed.
  For a h2d -x,-y are needed.
  For a h3d -x,-y,-z are needed.
  For a p1d -x,-y are needed.
  For a p2d -x,-y,-z are needed.
  Example:
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_1
    histo_ls
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    histo_fill -x=`random_shoot r_1` h_1
    histo_print h_1
histo_fill_random: histo_fill_random [-function,-entries,-weight] [managed_name]
  Fill random an histogram from a function.
  -entries=uint number of entries (default is 0).
  -weight=real weight of the fill (default is 1).
  Example:
    function_create -script='exp(cos(10*x))' my_func
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_1
    histo_ls
    histo_fill_random -function=my_func -entries=10000 h_1
    histo_print h_1
histo_fit: histo_fit [-function,-parameters,-fit_result_name,-verbose] managed_name
  Fit a named histogram with a managed scripted function.
  -function=string name of the scripted function used to do the fit.
  -parameters=string fuction parameters to fit from the histogram data.
  A parameter is 'name:start:step:min:max' and -parameters is a dot-colon list of them.
  See below for an example on a gaussian function.
  -fit_result_name=string if given, the result of the fit is deposited on a managed fit result object.
  A named fit result can be shown in the infos box of the current plotter with the fit_result_plot command.
  -verbose to have verbosity for this command.
  Example:
    histo_create -no_warn -class=h1d -title='gaussian distribution' -xbins=100 -xmin=-5 -xmax=5 h_rg
    random_create -no_warn -class=rgaussd -mean=0.5 -std_dev=1 rg
    histo_fill -x=rg -entries=10000 h_rg
    function_create -script='gauss(x,g_scale,g_mean,g_sigma)' ff
    #function_print ff
    # one param = name:start:step:min:max
    # params = param_1;param_2;...
    params='g_scale:300:0.01:0:0'
    params="${params};g_mean:0:0.01:0:0"
    params="${params};g_sigma:2:0.01:0:0"
    opts=
    #opts="${opts} -verbose"
    opts="${opts} -fit_result_name=fr"
    histo_fit ${opts} -function=ff -parameters=${params} h_rg
    # plotting:
    plots_create
    plots_show
    function_print ff
    histo_plot h_rg
    function_plot ff
    fit_result_plot fr
    plotter_set_field x_axis_automated false
    plotter_set_field x_axis_min -5
    plotter_set_field x_axis_max  5
histo_ls: histo_ls
  List managed histograms.
  Example:
    histo_ls
histo_plot: histo_plot [-infos_name,-ref] name
  Plot named managed histogram.
  -infos_name=string string to be put in the 'Name' entry of the infos box.
  -ref if specified, a reference (then not a copy) of the histogram is passed
  to the plotter. Must be used with care; the histogram must exist whilst the plotter
  is using it.
  Example:
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_1
    histo_ls
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    numbers=`seq 1 10000`
    for i in ${numbers} ; do
      x=`random_shoot r_1`
      histo_fill -x=${x} h_1
    done
    histo_print h_1
    histo_plot h_1
histo_plot_offscreen: histo_plot_offscreen [-file,-format] [managed_name]
  Plot offscreen histograms in one or more files.
  If no name is given, plot all of them (if they are plottable).
  -file=string output file (default is out.ps).
  -format=string file format (default is ps).
  If -format is given but -file is not given, output file is out.(format extension).
  In case of 'no name', a file is created per grid of 'cols*rows' plots; in such
  a case file names are of the form 'file'_(index).(format extension).
  -cols=uint number of grid columns in case of 'no name' (default is 1).
  -rows=uint number of grid rows in case of 'no name' (default is 1).
  If available when building the app, -format could be inzb_png or inzb_jpeg.
  -formats print the available formats.
  -no_warn to not warn in case of a not plottable object.
  Example:
    histo_plot_offscreen -formats
    
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_1
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    numbers=`seq 1 10000`
    for i in ${numbers} ; do
      x=`random_shoot r_1`
      histo_fill -x=${x} h_1
    done
    
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_2
    random_create -class=rbwd -gamma=1 -std_dev=1 r_2
    for i in ${numbers} ; do
      x=`random_shoot r_2`
      histo_fill -x=${x} h_2
    done
    histo_ls
    
    histo_plot_offscreen h_1  # write in out.ps.
    histo_plot_offscreen -file=my.ps h_1
    histo_plot_offscreen -format=inzb_png h_1  #write out.png
    histo_plot_offscreen -format=inzb_jpeg -file=my.jpeg h_1
    
    histo_plot_offscreen -cols=2 -rows=2
    ls
histo_print: histo_print [-header,-hprint,-[rms,mean][_x,_y_z]] managed_name
  Print histogram at the csv format given its name.
  -header to print the csv header only.
  -hprint print summary as hbook hprint did.
  -mean/-rms for 1D histo, print axis mean/rms value.
  -mean_x,-rms_x for 2,3D histo, print x axis mean/rms value.
  -mean_y,-rms_y for 2,3D histo, print y axis mean/rms value.
  -mean_z,-rms_z for 3D histo, print z axis mean/rms value.
  Example:
    histo_create my_histo
    histo_ls
    histo_fill -x=0.5 my_histo
    histo_print my_histo
    histo_print -header my_histo
    histo_print -hprint my_histo
    histo_print -mean my_histo
histo_remove: histo_remove managed_name
  Remove managed histogram.
  -all remove all objects.
  Example:
    histo_ls
    histo_create h_1
    histo_ls
    histo_remove h_1
    histo_ls
    histo_remove -all
histo_reset: histo_reset [managed_name]
  Reset content of a managed histogram.
  Example:
    histo_create h
    histo_fill -x=0.5 h
    histo_print h
    histo_reset h
    histo_print h
histo_write: histo_write [-file,-format] [managed_name]
  Write histogram in a file.
  If no name is given, then all histograms are written.
  -file=string output file (default is out.csv).
  -format=string file format (default is csv).
  If -format is given but -file is not given, output file is out.(format extension).
  -formats print the available formats.
  Example:
    histo_write -formats
    histo_create -xbins=20 -xmin=-5 -xmax=5 h_1
    histo_ls
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    numbers=`seq 1 10000`
    for i in ${numbers} ; do
      x=`random_shoot r_1`
      histo_fill -x=${x} h_1
    done
    histo_print h_1
    histo_write      # write in out.csv.
    histo_write h_1  # write in out.csv.
    histo_write -file=my.csv h_1
    histo_write -format=root # write in out.root
    histo_write -format=root -file=my.root h_1
    ls
ls: ls [option] directory
  list directory contents.
  If no directory is given, the current directory is listed.
  By default the dotted files are not listed, use -a to list all files.
  Use -l to list with a long format.
node_add_in: node_add_in [-parent,-copy] name
  Add a named managed node in a managed parent node.
  The parent node is assumed to derived from inlib::sg::group.
  -copy a copy is done. Else the sg::node is transfered into the parent and is no more managed.
  Example:
    node_create -class=inlib::sg::cube my_cube
    node_create -class=inlib::sg::separator my_sep
    node_add_in -parent=my_sep my_cube
node_create: node_create [-classes,-no_warn,-class,-field=value] managed_name
  Create a named and managed inlib::sg::node.
  Note that the node is not put under a viewer scene graph.
  It is deposited under the 'object manager' which is intended to
  keep track of various objects not necessarily visualisable by themsleves
  as random generators or histograms.
  If an object with same managed name already exist it is deleted.
  -no_warn to not warn in case of overwriting an existing object.
  -class=string class of the node to create (default is inlib::sg::cube).
  -classes print the available classes.
  -field=value set the value of a field of the created node.
  See scene_add_managed_object to visualize the created node.
  Example:
    node_create -classes
    node_create  my_cube # create a cube named my_cube.
    node_create -class=inlib::sg::sphere -radius=2 my_sphere
node_get_field: node_get_field [-field,-fields] name
  Get value of a field of a named managed node.
  -fields to print the list of fields.
  -field=string field to get.
  Example:
    node_create -class=inlib::sg::cube my_cube
    node_get_field -fields my_cube
    node_get_field -field=inlib::sg::cube.width my_cube
node_ls: node_ls
  List managed nodes.
  Example:
    node_ls
node_matrix_set: node_matrix_set [-translate,-rotate,-scale] name
  Set a named managed inlib::sg::matrix node.
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    node_create -class=inlib::sg::matrix my_matrix
    node_matrix_set -translate='0 -300 0' -rotate='1 0 0 1.570796' -scale=2 my_matrix
node_set_field: node_set_field [-fields,-field,-value] name
  Set value of a field of a named managed node.
  -fields to print description of node fields.
  -field=string field to set.
  -value=[string,number] value to set.
  Example:
    node_create -class=inlib::sg::cube my_cube
    node_set_field -fields my_cube
    node_set_field -field=inlib::sg::cube.width -value=100 my_cube
    node_set_field -field=width -value=100 my_cube
node_write_to_paper: node_write_to_paper [-out,-scale,-format] name
  Produce an output file for a named managed node.
  -out=string output file (default is out.ps).
  -scale permits to scale the viewport; it allows to have a better rendering for freetype fonts.
  -format permits to choose the output format and the tool to produce the file.
  If 'guessed', which is the default, the format is choosen/deduced from the file extension.
  For example for out.png, the format will be inzb_png.
  The known formats are:
    inzb_[ps,png,jpeg] : pixmap of the scene is put in a PostScript, png or jpeg file
  by using the inlib::sg::zb_action.
    gl2ps_[eps,ps,pdf,svg,tex,pdg] : primitives of the scene (vector graphices) is put in an
  encapsulated PostScript, PostScript, PDF, SVG, LaTeX or PDG file by using gl2ps.
  If 'guessed' is used as format, then according to the file extension, the tool used is:
    .ps, .eps: inzb_ps
    .png : inzb_png
    .jpg, .jpeg: inzb_jpeg
    .pdf, .svg, .pgf, .tex: gl2ps_[pdf,svg,pgf,tex]
  Example:
    node_create -class=inlib::sg::sphere my_sphere
    node_write_to_paper my_sphere  # produce a out.ps PostScript file in current directory.
    node_write_to_paper -out=out.png -format=inzb_png -scale=2 my_sphere
  See also:
    app_out_dir
omanager_ls: omanager_ls
  List managed objects.
  Example:
    omanager_ls
omanager_remove: omanager_remove [-all] managed_name
  Remove a managed object.
  -all remove all managed objects.
  Example:
    omanager_ls
    random_create rg  # create a rgaussd named rg
    omanager_ls
    omanager_remove rg
    omanager_ls
    random_create rg  # create a rgaussd named rg
    omanager_remove -all
    omanager_ls
particle_print: particle_print [-cut] fields
  If no fields are given, list all them.
  -cut permit to do selection in particles.
  Example:
    particle_print
    particle_print -cut=code==11 name mass charge  # print name, mass and charge of electron.
    particle_print -cut=name=="'~mu_L+'" code mass charge  # print pid, mass and charge of ~mu_L+.
paw_set_camera: paw_set_camera
  Set an ortho camera to have a similar plot viewing as PAW.
  Example:
    paw_set_camera
pdg: pdg [-version, -names, -pids, -ls, -pids_ls] [pids] [names]
  If no argument given, list all pdg (particle data group) table.
  If a list of integers or strings are given, particles with pdg_code (pid)
  or name are searched and printed.
  -names print particle names on one column.
  -pids print pdg_codes on one column.
  -ls print particle names by using a unix ls like format.
  -pids_ls print particle pdg_codes by using a a unix ls like format.
  -version print the pdg file used to get data.
  Example:
    pdg -ls
    pdg e+
    pdg 12 nu_e_bar
physical_constant: physical_constant [what]
  Print value of 'what' as defined in inlib::edep::physical_constants.
  If no arguments given, print known physical_constants.
  Most of them are extracted from the Particle Data Book :
    Phys. Rev. D  volume 50 3-1 (1994) page 1233
  HEP coherent Physical Constants; the basic units are :
    millimeter              (millimeter)
    nanosecond              (nanosecond)
    Mega electron Volt      (MeV)
    positron charge         (eplus)
    degree Kelvin           (kelvin)
    the amount of substance (mole)
    luminous intensity      (candela)
    radian                  (radian)
    steradian               (steradian)
  Example:
    physical_constant
    physical_constant c_light
  See also:
    unit
plots_clear: plots_clear
  Clear all plotters.
plots_create: plots_create
  Create/reset the plotarea.
  Example:
    plots_create
plots_current_to_one: plots_current_to_one
  Have the current plotter in a 1x1 grid.
plots_map_viewer: plots_map_viewer
  Set scene ready for full window plotting.
  Deprecated: plots_map_viewer replaces plots_full_window.
  Example:
    plots_map_viewer
    plots_set_layout -viewer  # same as the upper.
plots_get_field: plots_get_field [-fields] field
  Get value of a field of the inlib::sg::plots node.
  -fields to print only the list of fields.
  Example:
    plots_get_field -fields
    plots_get_field inlib::sg::plots.cols
    plots_get_field cols
plots_hide: plots_hide
  Hide the scene plotting area.
plots_map_viewer: plots_map_viewer
  Set scene ready for full window plotting.
  Deprecated: plots_map_viewer replaces plots_full_window.
  Example:
    plots_map_viewer
    plots_set_layout -viewer  # same as the upper.
plots_next: plots_next
  Set the current plotter to be the next one in the grid.
  If at end (bottom right plotter) current plotter is set to be the upper left one.
  Example:
    plots_set_grid 2 2  # then four plotters. Current plotter is the top left one.
    plots_next  # set current to top right.
    plots_set_current_plotter 3  # set current to bottom right.
    plots_next  # set to top left.
plots_set_adjust: plots_set_adjust [viewer,PAW]
  Without arguments, it prints the current adjust type.
  If 'viewer' is given, the sg::plots area maps the viewer area aspect ratio.
  If 'PAW' is given, the sg::plots area keeps its aspect ratio when window/viewer is resized.
  Example:
    plots_set_adjust
    plots_set_adjust viewer
    plots_set_adjust PAW
plots_set_current_plotter: plots_set_current_plotter index
  Set the current plotter given its index in the grid of the first sg::plots node found in the scene.
  index is in [0,number of plotters[.
  Example:
    plots_set_grid 2 2           # then four plotters.
    plots_set_current_plotter 3  # then the bottom right plotter will be the current one.
plots_set_field: plots_set_field field value
  Set a field in the current inlib::sg::plots node.
  Example:
    plots_set_grid 2 2           # then four plotters.
    plots_set_field border_visible true
    plots_set_field border_width 0.02
    plots_set_field border_height 0.02
  or:
    plots_set_field inlib::sg::plots.border_visible true
plots_set_grid: plots_set_grid cols rows [transfer]
  Set the grid of inlib::sg::plotters in the first inlib::sg::plots node found in the scene.
  The optional boolean transfer argument (false by default) says if the content of
  previous plotters are transfered in the plotter in the new grid.
  Example:
    plots_set_grid 2 2  # then four plotters are created.
    plots_set_grid 2 3 true
plots_set_layout: plots_set_layout [-tx,-ty,-sx,-sy,-defaults,-viewer] [tx,ty,sx,sy]
  If no arguments given, print the layout factors.
  If no options given, set the position and size of the first sg::plots node found in the scene.
  tx, ty, sx and sy are in normal window coordinates (in [0,1]).
  -tx only, print the x position.
  -ty only, print the y position.
  -sx only, print the x size.
  -sy only, print the y size.
  -defaults only, reset the layout factors to their defaults.
  -viewer, set factors to (0,0,1,1) so that the sg::plots maps the full viewer.
  Example:
    plots_set_layout 0.28 -0.28 0.4 0.4 # down right.
    plots_set_layout 0.3 0.35 0.3 0.2   # up right. defaults.
    plots_set_layout -defaults          # same as upper.
    plots_set_layout -viewer
plots_show: plots_show
  Show the scene plotting area.
plots_show_hide: plots_show_hide
  Show/hide the scene plotting area.
plots_toggle_border: plots_toggle_border
  Toggle the inlib::sg::plots border visibility.
plots_toggle_view_border: plots_toggle_view_border
  Toggle the current plotter border visibility within the inlib::sg::plots.
plots_touch_plotters: plots_touch_plotters
  Touch the plotters in order that they rebuild their scene.
  For example, it is used after having done a reset of a referenced histogram.
plotter_add_primitive: plotter_add_primitive
  Add a graphics primitive to the current plotter.
plotter_clear: plotter_clear [-bins,-points,-functions]
  Clear the current plotter.
  -bins to clear only the 'bins' plottables.
  -points to clear only the 'points' plottables.
  -functions to clear only the 'functions' plottables.
plotter_get_field: plotter_get_field [-fields] field
  Get value of a field of the current plotter node.
  -fields to print only the list of fields.
  Example:
    plotter_get_field -fields
    plotter_get_field inlib::sg::plotter.width
    plotter_get_field width  # in case of a direct (not inherited) field of inlib::sg::plotter.
plotter_list_styles: plotter_list_styles
  List available plotter styles.
  See also:
    style_load_file
plotter_print_customization: plotter_print_customization
  Print available plotter customization items.
plotter_print_style: plotter_print_style
  Print a plotter style.
  Example:
    plotter_print_style ROOT_default
  See also:
    style_load_file
plotter_reset_style: plotter_reset_style
  Reset the current plotter style.
plotter_set_field: plotter_set_field field value
  Set a field or style field in the current plotter.
  Field examples:
    title_automated, title, bins_style.0.color
    x_axis.divisions, x_axis.line_style.color
    background_style.back_color
  Example:
    plots_set_grid 2 2           # then four plotters.
    plots_set_current_plotter 3  # then the bottom right plotter will be the current one.
    plotter_set_field title_automated false
    plotter_set_field inlib::sg::plotter.title 'my title'
    plotter_set_field title 'my title'  # in case of a direct field of inlib::sg::plotter.
    plotter_set_field bins_style.0.color blue  # to set a style value.
plotter_set_style: plotter_set_style style
  Set the current plotter style.
  Example:
    plotter_set_style ROOT_default
    plotter_set_style hippodraw
  See also:
    plotter_list_styles
    style_load_file
png_diff: png_diff [-out] file1 file2
  Compare png images in file1, file2.
  If differences are found a diff.png is created with them.
  -out=string to change the name of the output file.
random_create: random_create [-classes,-class,-no_warn,] managed_name
  Create a named and managed random generator object.
  If an object with same managed name already exist it is deleted.
  -no_warn to not warn in case of overwriting an existing object.
  -class=string class of the object to create (default is rgaussd).
  -classes print the available classes.
  According to the wanted class, various arguments can be passed.
  If -class=rgaussd (random gauss):
  -mean=real mean value (default is 0).
  -std_dev=real standard deviation (default is 1).
  If -class=rbwd (random breit-wigner):
  -mean=real mean value (default is 0).
  -gamma=real gamma (default is 1).
  If -class=rbinomial:
  -n=uint (default is 1).
  -p=real (default is 0.5).
  If -class=rexpd:
  -rate=real (default is 1).
  If -class=rpoissd (random poisson):
  -mean=real (default is 1).
  Example:
    random_create -classes
    random_create r_gaussd # create a rgaussd named r_gaussd
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
random_shoot: random_shoot managed_name
  Get a random number from a named managed random object.
  Example:
    random_create -class=rgaussd -mean=0 -std_dev=1 r_1
    random_shoot r_1
render_manager_infos: render_manager_infos [name]
  Print render_manager informations about 'name'.
  If no arguments provided, print the available names.
  Example:
    render_manager_infos GL_VERSION
rroot_fs_read: rroot_fs_read -file [-managed_name] path
  Read an object in a CERN-ROOT file mounted on the file system.
  If successful, the object is managed in the default object manager.
  -file=string file managed name.
  -managed_name=string the managed name in the default object manager of the read object.
  If none is given, the key name of the object in file is taken.
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_mount `app_dir -res`/pawdemo.root
    omanager_ls  # pawdemo.root should be in the list.
    ls mount/pawdemo.root
    cd mount/pawdemo.root/NICE/NEVSKI
    ls
    cat h13  # to see h13 size,class,title.
    rroot_fs_read h13
    omanager_ls  # h13 should be in the list.
    # if having plotting commands:
    histo_plot h13
    plotter_set_style ROOT_default
rroot_geo_field: rroot_geo_field -geo volume field
  Get field value of a volume.
  -geo=string name of the managed geo_manager in the default object manager.
  Example:
    rroot_geo_field -geo=geo_manager wc rmax
rroot_geo_print: rroot_geo_print -geo [name]
  Without arguments, print the geo_volume names with their shape of the geo_manager.
  -geo=string name of the managed geo_manager in the default object manager.
  Else, print a named geo_volume informations.
  Example:
    # if aleph.root is in the res dir of the app:
    rroot_open -managed_name=_aleph `app_dir -res`/aleph.root
    rroot_ls   -file=_aleph
    rroot_read -file=_aleph aleph  #read the TGeoManager aleph object.
    omanager_ls  #you must see _aleph and aleph.
    rroot_geo_print -geo=aleph
    rroot_geo_print -geo=aleph BTUB
    rroot_geo_print -geo=aleph HCMA
rroot_geo_tree: rroot_geo_tree -geo
  Print the geoemtry tree infos.
  -geo=string name of the managed geo_manager in the default object manager.
  Example:
    # if aleph.root is in the res dir of the app:
    rroot_open -managed_name=_aleph `app_dir -res`/aleph.root
    rroot_read -file=_aleph aleph  #read the TGeoManager aleph object.
    rroot_geo_tree -geo=aleph
rroot_ls: rroot_ls -file [path]
  List content of a CERN-ROOT file managed in the default object manager.
  -file=string file managed name.
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_open -managed_name=pawdemo `app_dir -res`/pawdemo.root
    omanager_ls
    rroot_ls -file=pawdemo
rroot_mount: rroot_mount [-managed_name] path
  Mount a CERN-ROOT file on the local file system. The file is also opened and
  managed in the default object manager.
  -managed_name=string managed name. If none is given, the base_name of path is taken.
  The managed name is taken as the mounting point under the 'mount' directory. Note that
  the wanted mounting directory must be in a writable place.
  For each object in the file, a file with the same name is created
  containing its (size,class,title).
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_mount `app_dir -res`/pawdemo.root
    omanager_ls  # pawdemo.root should be in the list.
    ls mount/pawdemo.root
    cd mount/pawdemo.root/NICE/NEVSKI
    ls
    cat h13  # to see h13 size,class,title.
    rroot_fs_read h13
    omanager_ls  # h13 should be in the list.
    # if having plotting commands:
    histo_plot h13
    plotter_set_style ROOT_default
rroot_ntuple_project: rroot_ntuple_project [-histo] managed_name
  Project a managed named ntuple on a managed named histogram.
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_open -managed_name=pawdemo `app_dir -res`/pawdemo.root
    rroot_read -file=pawdemo STAFF/h10
    histo_create -class=h1d -title='CERN/Age' -xbins=80 -xmin=20 -xmax=100 h_age
    omanager_ls  # pawdemo, h10 and h_age should be in the list.
    rroot_ntuple_project -histo=h_age -x=Age h10
    # plotting:
    plots_create
    histo_plot h_age
rroot_open: rroot_open [-managed_name] path
  Open a CERN-ROOT file. The file is managed in the default object manager.
  -managed_name=string managed name. If none is given, the base_name of path is taken.
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_open -managed_name=pawdemo `app_dir -res`/pawdemo.root
    omanager_ls
    rroot_ls -file=pawdemo
rroot_read: rroot_read -file [-managed_name,path]
  Read an object in a CERN-ROOT file managed in the default object manager.
  If successful, the object is managed in the default object manager.
  -file=string file managed name.
  -managed_name=string the managed name in the default object manager of the read object.
  If none is given, the key name of the object in file is taken.
  Example:
    # if pawdemo.root is in the res dir of the app:
    rroot_open -managed_name=pawdemo `app_dir -res`/pawdemo.root
    rroot_ls -file=pawdemo NICE
    rroot_read -file=pawdemo NICE/h101
    omanager_ls  # h101 should be in the list.
    # if having plotting commands:
    histo_plot h101
    plotter_set_style ROOT_default
scene_add_axes: scene_add_axes [options]
  Add x,y,z axes in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the axes (default lightgrey).
  -[x,y,z]_title=string title of the [x,y,z] axis (default "[x,y,z]").
  -[x,y,z]_width=real width of the [x,y,z] axis (default 1).
  -[x,y,z]_min=real minimum value the [x,y,z] axis (default 0).
  -[x,y,z]_max=real maximum value the [x,y,z] axis (default 1).
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    scene_add_axes -color=red -translate='-300 -300 0' -rotate='1 0 0 1.570796' -scale=1 -x_width=600 -x_min=0 -x_max=600 -y_width=600 -y_min=0 -y_max=600 -z_width=600 -z_min=0 -z_max=600 
scene_add_axis: scene_add_axis [options]
  Add an inlib::sg::axis in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the axes (default lightgrey).
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  -field=value set the value of a field of the node.
  Example:
    fields=
    fields="${fields} -width=2"
    fields="${fields} -minimum_value=0"
    fields="${fields} -inlib::sg::axis.maximum_value=60"
    scene_add_axis -color=red ${fields}
scene_add_cone: scene_add_cone [options]
  Add a cone in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the cone (default lightgrey).
  -height=real height of the cone (default 1).
  -angle=real angle of the cone (default pi/4).
  Example:
    scene_add_cone -angle=0.5235 -height=10  # angle pi/6
scene_add_cube: scene_add_cube [options]
  Add a cube in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the cube (default lightgrey).
  -width=real width of the cube (default 1).
  -height=real height of the cube (default 1).
  -depth=real depth of the cube (default 1).
  Example:
    scene_add_cube
    scene_add_cube -width=2
scene_add_event_anim_stopper: scene_add_event_anim_stopper [-dynamic]
  Add a to_stop_event_anim_holder in the static scene graph.
  -dynamic to add in the dynamic scene graph.
scene_add_facet: scene_add_facet [options]
  Add a facet (square) in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the facet (square) (default lightgrey).
  -width=real width of the facet (square) (default 1).
  -height=real height of the facet (square) (default 1).
  -depth=real depth of the facet (square) (default 1).
  Example:
    scene_add_facet
    scene_add_facet -width=2
scene_add_insh_anim: scene_add_insh_anim [-file,-dynamic]
  Add an insh_anim node in the static scene graph.
  -file=string insh file sourced during the animation.
  -dynamic to add in the dynamic scene graph.
  WARNING, IMPORTANT, ACHTUNG, ATTENZIONE:
   You must NOT do a scene_clear_[static,dynamic] in an anim script because
  the insh_anim node is deposited in the [static,dynamic] scene graph.
  The variables insh_anim_[time_min,time_max,delay,time_begin,time_end] are defined at
  each time slice execution of the script.
scene_add_managed_object: scene_add_managed_object [-dynamic,-copy,-color,-scale,-rotate,-translate] name
  Add a named node found in the object manager in the viewer static scene graph.
  -dynamic to add in the dynamic scene graph.
  -copy a copy is done. Else the sg::node is transfered into the scene graph and is no more managed.
  -color=string color of the object (default lightgrey).
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    node_create -class=inlib::sg::sphere my_sphere
    scene_add_managed_object my_sphere
scene_add_markers: scene_add_markers [options] [x y z]
  Add markers in the static scene graph.
  Without argument, it prints the available styles.
  -dynamic to add in the dynamic scene graph.
  -placement=[static,dynamic,static_blend] the scene graph to add into (default dynamic).
  -style=string (default cross).
  -color=string color of the markers (default lightgrey).
  -size=real size (default 10) of markers.
  Example:
    scene_add_markers
    # add markers on corners of a triangle:
    scene_add_markers -style=star -size=20 -color=blue -1 0 0 1 0 0 0 1 0
scene_add_plots_clearer: scene_add_plots_clearer [-dynamic]
  Add a plots clearer in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  Example :
    scene_add_plots_clearer
scene_add_rroot_geo_volume: scene_add_rroot_geo_volume [-geo_manager,-min_depth,-max_depth,-modeling] volnam
  Add a rroot geo_volume representation in the static scene graph.
  By default the inlib::rroot::geo_volume is searched in the
  inlib::rroot::geo_manager named 'geo_manager' declared
  in the gui_viewer object manager.
  -geo_manager=string name of another geo_manager.
  -min_depth=uint min depth to search in the geometry tree (default is 0).
  -max_depth=uint max depth to search in the geometry tree (default is 0).
  -modeling=string [solid,wire_frame] (default is wire_frame).
  -dynamic to add in the dynamic scene graph.
  Example:
    # if aleph.root is in the res dir of the app:
    rroot_open -managed_name=_aleph `app_dir -res`/aleph.root
    rroot_read -file=_aleph aleph  #read the TGeoManager aleph object.
    scene_add_rroot_geo_volume -geo=aleph -min_depth=0 -max_depth=2 -color=yellow ALEF
scene_add_show_time_anim: scene_add_show_time_anim
  Add a show_time_anim node in the static scene graph.
  -dynamic to add in the dynamic scene graph.
scene_add_text_freetype: scene_add_text_freetype [options]
  Add a exlib::sg::text_freetype in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the cone (default lightgrey).
  Example:
    scene_add_text_freetype -text='hello world!
scene_add_vertices: scene_add_vertices [options] [x y z]
  Add a primitive in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -placement=[static,dynamic,static_blend] the scene graph to add into (default dynamic).
  -mode=[points,lines,line_loop,line_strip,triangles,triangle_strip,triangle_fan] (default points).
  Note that lines is for segments, and line_strip is for a polyline.
  -color=string color of the vertices (default lightgrey).
  -line_width=real line width (default 1) if relevant.
  -point_size=real point size (default 1) if relevant.
  Example: add a wire-frame square :
    scene_add_vertices -mode=line_strip -color=blue 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0
  Example: add a triangle :
    scene_add_vertices -mode=triangles -color=blue -1 0 0 1 0 0 0 1 0
scene_add_xy_grid: scene_add_xy_grid [options]
  Add a wire-frame grid in the static scene graph.
  -dynamic to add in the dynamic scene graph.
  -color=string color of the grid (default lightgrey).
  -line_width=real line width (default 1).
  -sx=real x size of each cell (default 0.1).
  -sy=real y size of each cell (default 0.1).
  -nx=uint x number of cells (default 10).
  -ny=uint y number of cells (default 10).
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    scene_add_xy_grid -color=red -line_width=1 -translate='0 -300 0' -rotate='1 0 0 1.570796' -sx=100 -nx=10 -sy=100 -ny=10
scene_blend_off: scene_blend_off
  Switch off the overall blending (and then transparency).
scene_blend_on: scene_blend_on
  Switch on the overall blending (and then transparency).
scene_bounding_box: scene_bounding_box
  Print the center and size of the scene bounding box.
  Example:
    scene_bounding_box
scene_clear: scene_clear
  Clear the gui_viewer overall scene.
scene_clear_dynamic: scene_clear_dynamic
  Clear the dynamic scene graph.
scene_clear_static: scene_clear_static
  Clear the static scene graph.
scene_clear_static_blend: scene_clear_static_blend
  Clear the static blend scene graph.
scene_clear_tmp: scene_clear_tmp
  Clear tmp nodes of the gui_viewer.
scene_count_points: scene_count_points
 Count number of points in the scene.
scene_create: scene_create [-radius]
  Create a scene graph structure ready for event display.
  In particular, beside the creation of a camera node, are created
  a 'static scene graph' used for example to deposit 'detector' representations,
  and also a 'dynamic scene graph' used to deposit 'event' representations.
  -radius=number used to set default camera setup (default 1).
  See also:
    scene_clear_static
    scene_clear_dynamic
scene_dynamic_to_vertices: scene_dynamic_to_vertices
  Transform the content of the dynamic scene graph to three inlib::sg::atb_vertices nodes;
  one containing the points, another the segments, and a last one with the triangles.
scene_light_off: scene_light_off
  Switch off the overall light.
scene_light_on: scene_light_on
  Switch on the overall light.
scene_read_bsg: scene_read_bsg [-file,-scale,-translate,-rotate]
  Read a bsg file and add its contents in the static scene graph.
  -file=string file at the bsg (binary scene graph) format. The file is searched first
  in the document directory of the application, then in its resource directory.
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -transtale='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    scene_read_bsg -file=avatar_plant.bsg -translate='460 -300 430' -rotate='0 1 0 -1.570796' -scale=0.03
scene_remove_manips: scene_remove_manips
  A node can be instrumented with a 'manip' permitting, for example,
  to displace it. This command remove 'manips' found in the scene.
scene_remove_nodes: scene_remove_nodes [-class]
  If -class=string, remove nodes of the given class name in the scene.
  Example:
    scene_remove_nodes -class=inlib::sg::cube
scene_send_dynamic: scene_send_dynamic
  Send dynamic scene graph to a viewer.
  A connection must be first established between the app and a viewer.
scene_send_static: scene_send_static
  Send static scene graph to a viewer.
  A connection must be first established between the app and a viewer.
scene_set_clear_color: scene_set_clear_color [color name] [colormap/color name] [#rrggbb] [r g b] [r g b a]
  Set the color of the background of the scene.
  It can be given by a common color name in the default colormap,
  by giving the name of a color in a known colormap, by giving an hexa encoding or by giving
  the three or four r,g,b,a (in [0,1]) of the color.
  See style_print_colormaps to print the known colormaps with their colors.
  Example:
    scene_set_clear_color lightgrey
    scene_set_clear_color ROOT/kMagenta+3
    scene_set_clear_color '#FFFF00'
    scene_set_clear_color 0.2 0.1 0.2
scene_set_layout: scene_set_layout [-translate,-rotate,-scale] 
  Set the overall layout matrix.
  -scale=real overall scale (default 1).
  -rotate='real real real real' overall rotation (default '0 0 1 0'). First
  three numbers specify the axis, the last one the angle in radians.
  -translate='real real real' overall translation (default '0 0 0').
  Scale, rotation, translation are applied in this order.
  Example:
    scene_set_layout -rotate='0 1 0 1.570796'
scene_smooth_off: scene_smooth_off
  Switch the overall shade model to flat.
scene_smooth_on: scene_smooth_on
  Switch the overall shade model to smooth.
scene_start_anim: scene_start_anim [-tim_min,-time_max,-delay,-end_begin]
  Start scene animation. It operates on all nodes in the scene inheriting sg::slice_anim
  as xyzt_anim, cone_anim, show_time_anim.
  -time_min=real event time start (in app specific unit) (default is 0).
  -time_max=real event time end (in app specific unit) (default is FLT_MIN).
  -delay=real user elapsed time of the anim in secs (default is 10).
  -end_begin=bool if true, start again at end (default is false).
  Example:
    scene_start_anim -tim_min=0 -time_max=20 -delay=10
    scene_start_anim -time_max=20
scene_static_to_vertices: scene_static_to_vertices
  Transform the content of the static scene graph to three inlib::sg::atb_vertices nodes;
  one containing the points, another the segments, and a last one with the triangles.
scene_write_dynamic_to_bsg: scene_write_dynamic_to_bsg [-out_dir] file
  Write the dynamic scene graph to a bsg (binary file format) file.
  If no directory is given in file, the -out_dir option permits to prepend the
  application output directory to file.
  Example:
    scene_write_dynamic_to_bsg -out_dir my_scene.bsg
  See also:
    app_out_dir
scene_write_static_to_bsg: scene_write_static_to_bsg [-out_dir] file
  Write the static scene graph to a bsg (binary file format) file.
  If no directory is given in file, the -out_dir option permits to prepend the
  application output directory to file.
  Example:
    scene_write_static_to_bsg -out_dir my_scene.bsg
  See also:
    app_out_dir
scene_write_to_bsg: scene_write_to_bsg [-out_dir] file
  Write the scene scene graph to a bsg (binary file format) file.
  If no directory is given in file, the -out_dir option permits to prepend the
  application output directory to file.
  Example:
    scene_write_to_bsg -out_dir my_scene.bsg
  See also:
    app_out_dir
scene_write_to_paper: scene_write_to_paper [-out_dir,-width,-height,-format,-show_console] file
  Produce an output file from the current scene.
  -out_dir permits to write the file in the output directory of the application.
  -width=uint set width of the viewport (default is viewer width).
  -height=uint set height of the viewport (default is viewer height).
  -show_console prints the name of the output file in the console.
  -format permits to choose the output format and the tool to produce the file.
  If 'guessed', which is the default, the format is choosen/deduced from the file extension.
  For example for out.png, the format will be inzb_png.
  The known formats are:
    inzb_[ps,png,jpeg] : pixmap of the scene is put in a PostScript, png or jpeg file
  by using the inlib::sg::zb_action.
    gl2ps_[eps,ps,pdf,svg,tex,pdg] : primitives of the scene (vector graphices) is put in an
  encapsulated PostScript, PostScript, PDF, SVG, LaTeX or PDG file by using gl2ps.
  If 'guessed' is used as format, then according to the file extension, the tool used is:
    .ps, .eps: inzb_ps
    .png : inzb_png
    .jpg, .jpeg: inzb_jpeg
    .pdf, .svg, .pgf, .tex: gl2ps_[pdf,svg,pgf,tex]
  Example:
    scene_write_to_paper out.jpeg  # produce a out.jpeg file in current directory by using inzb_jpeg.
    scene_write_to_paper -out_dir -format=inzb_png -scale=2 out.png
    scene_write_to_paper -format=gl2ps_pdf out.pdf
    scene_write_to_paper -format=guessed -show_console out.pgf
  See also:
    app_out_dir
style_append: style_append [-key=value] name
  Append arguments of the form [-key=value] to an existing named style.
  Example:
    style_create -color=white  my_style
    style_append -show_name=true -text_scale=5 -at_end=false my_style
    style_print my_style
  See also:
    style_create
style_create: style_create [-key=value] name
  Create a named style. If one already exist, it is overwritten.
  A style is a list of string pairs (key,value).
  Given arguments of the form [-key=value] are added to the create style as pairs of (key,value)
  Example:
    style_create -color=white -show_name=true -text_scale=5 -at_end=false primary.default
    style_create -color=red    trajectory.default
    style_create -color=yellow trajectory.e+
    style_create -color=yellow trajectory.e-
    style_create -color=blue   trajectory.gamma
    style_ls
  See also:
    style_remove
    style_ls
style_load_file: style_load_file [-doc_res,-res,-doc] path
  Load a XML style file.
  If no directory is given in path, the -doc_res option permits to search a file first
  in the document directory declared to the app, and then in the app (internal) resource directory.
  -res for the resource directory only, -doc for the document directory only.
  See also:
    app_dir
style_ls: style_ls
  List styles.
  Example:
    style_create -color=white my_style
    style_ls
  See also:
    style_create
    style_remote
style_print: style_print [-sep] name
  Print a named style. (key,value) are print with the form 'key=value'.
  -sep=string to change the separator (default is '=').
  Example:
    style_create -color=white  my_style
    style_print my_style
  See also:
    style_create
style_print_colormaps: style_print_colormaps
  Print the known colormaps.
style_remove: style_remove name
  Remove a named style.
  Example:
    style_create -color=white my_style
    style_ls
    style_remove my_style
    style_ls
  See also:
    style_create
    style_ls
sys_file_sep: sys_file_sep
  Print the file separator. It is / on UNIX and \ on Windows.
sys_home_dir: sys_home_dir
  Print the home directory.
sys_is_little_endian: sys_is_little_endian
  Print 1 is system is little endian, 0 if not.
sys_path_sep: sys_path_sep
  Print the path separator. It is : on UNIX and ; on Windows.
tput: tput [cols,lines]
  Print terminal width or height.
  Example:
    tput cols
    tput lines
unit: unit [what]
  Print value of 'what' as defined in inlib::edep::units.
  If no arguments given, print known units.
  HEP coherent system of Units; the basic units are:
    millimeter              (millimeter)
    nanosecond              (nanosecond)
    Mega electron Volt      (MeV)
    positron charge         (eplus)
    degree Kelvin           (kelvin)
    the amount of substance (mole)
    luminous intensity      (candela)
    radian                  (radian)
    steradian               (steradian)
  Example:
    unit
    unit mm    # it should print 1
    unit m     # it should print 1000
    unit eplus # it should print 1
web_get_file: web_get_file [-out] url
  Get url and put the content in the doc dir.
  -out=string to give an output file name.
  If no -out is given, it is assumed that url finishes with
  the name of a file, which is then taken as output file name.
  WARNING : on wasm, the request is asynchronous.
window_render: window_render
  Enforce an immediate rendering of the window.
window_to_jpeg: window_to_jpeg [-hide_camera_menu] [path]
  Produce a jpeg file from the displayed window contents.
  If no path is given, a out.jpeg file is produced in the output directory of the application.
  -hide_camera_menu permits to hide the camera menu panel before writing.
  Note that no alpha channel is written in the jpeg, if you want it, use the window_to_png command.
  Example:
    window_to_jpeg out.jpeg  # to produce an out.jpeg in the current directory
  See also:
    app_out_dir
    window_to_png
window_to_png: window_to_png [-hide_camera_menu] [-bpp] [path]
  Produce a png file from the displayed window contents.
  If no path is given, a out.png file is produced in the output directory of the application.
  -hide_camera_menu permits to hide the camera menu panel before writing.
  -bpp permits to choose to produce three or four bytes per pixel (rgb or rgba).
  It is four by default. It permits to save transparency/blending in the png.
  Example:
    window_to_png -bpp=3 out.png  # to produce an out.png in the current directory
  See also:
    app_out_dir