# Root (ie /) only provides the starting point for traversing the instrument dictionary. #set instrument_name [string trim [lindex [split [instrument] =] 1]] set instrument_name instrument # / { # children {commands graphics instrument experiment } # property {data true control true nxsave true klass NXentry} # } # / Must be the first node in the list set instrument_dictionary [subst { entry { sobj {@any entry} privilege spy datatype @none property {data true control false nxsave false klass NXentry type part} } commands { sobj {macro command} privilege spy datatype @none property {data false control true nxsave false klass @none type commandset} } graphics { sobj {@any graphics} privilege spy datatype @none property {data true control true nxsave false klass @none type graphset} } instrument { sobj {@any instrument} privilege spy datatype @none property {data true control true nxsave false klass NXinstrument type instrument} } instrument/parameters { privilege spy sobj {@any parameter} datatype @none property {data true control true nxsave true klass NXparameter type part} } instrument/parameters/derived_parameters { privilege spy sobj {@any derived_parameter} datatype @none property {data true control true nxsave true klass NXderived_parameter type part} } instrument/aperture { privilege spy sobj {@any aperture} datatype @none property {data true control true nxsave false klass NXaperture type part} } instrument/attenuator { privilege spy sobj {@any attenuator} datatype @none property {data true control true nxsave false klass NXattenuator type part} } instrument/beam_stop { privilege spy sobj {@any beam_stop} datatype @none property {data true control true nxsave false klass NXbeam_stop type part} } instrument/bending_magnet { privilege spy sobj {@any bending_magnet} datatype @none property {data true control true nxsave false klass NXbending_magnet type part} } instrument/crystal { privilege spy sobj {@any crystal} datatype @none property {data true control true nxsave false klass NXcrystal type part} } instrument/disk_chopper { privilege spy sobj {@any disk_chopper} datatype @none property {data true control true nxsave false klass NXdisk_chopper type part} } instrument/fermi_chopper { privilege spy sobj {@any fermi_chopper} datatype @none property {data true control true nxsave false klass NXfermi_chopper type part} } instrument/filter { privilege spy sobj {@any filter} datatype @none property {data true control true nxsave false klass NXfilter type part} } instrument/flipper { privilege spy sobj {@any flipper} datatype @none property {data true control true nxsave false klass NXflipper type part} } instrument/guide { privilege spy sobj {@any guide} datatype @none property {data true control true nxsave false klass NXguide type part} } instrument/insertion_device { privilege spy sobj {@any insertion_device} datatype @none property {data true control true nxsave false klass NXinsertion_device type part} } instrument/mirror { privilege spy sobj {@any mirror} datatype @none property {data true control true nxsave false klass NXmirror type part} } instrument/moderator { privilege spy sobj {@any moderator} datatype @none property {data true control true nxsave false klass NXmoderator type part} } instrument/polarizer { privilege spy sobj {@any polarizer} datatype @none property {data true control true nxsave false klass NXpolarizer type part} } instrument/positioner { privilege spy sobj {@any positioner} datatype @none property {data true control true nxsave false klass NXpositioner type part} } instrument/source { privilege spy sobj {@any source} datatype @none property {data true control true nxsave false klass NXsource type part} } instrument/velocity_selector { privilege spy sobj {@any velocity_selector} datatype @none property {data true control true nxsave false klass NXvelocity_selector type part} } instrument/detector { privilege spy sobj {@any detector} datatype @none property {data true control true nxsave false klass NXdetector type part} } instrument/collimator { privilege spy sobj {@any collimator} datatype @none property {data true control true nxsave false klass NXcollimator type part} } instrument/monochromator { privilege spy sobj {@any monochromator} datatype @none property {data true control true nxsave false klass NXmonochromator type part} } instrument/slits { privilege spy sobj {@any aperture} datatype @none property {data true control true nxsave false klass NXfilter type part} } sample { privilege spy sobj {@any sample @any environment} datatype @none property {data true control true nxsave false klass NXsample type part} } monitor { privilege spy sobj {@any monitor} datatype @none property {data true control true nxsave false klass NXmonitor type part} } data { privilege spy sobj {@any data} datatype @none property {data true control false nxsave false klass NXdata type part datatype UNKNOWN currentfiletype UNKNOWN} } event_data { privilege spy sobj {@any event_data} datatype @none property {data true control false nxsave false klass NXevent_data type part datatype UNKNOWN currentfiletype UNKNOWN} } user { privilege spy sobj {@any user} datatype @none property {data true control true nxsave false klass NXuser type part} } process { privilege spy sobj {@any process} datatype @none property {data true control true nxsave false klass NXprocess type part} } characterization { privilege spy sobj {@any characterization} datatype @none property {data true control true nxsave false klass NXcharacterization type part} } experiment { privilege spy sobj {@any experiment} datatype @none property {data true control true nxsave false klass NXnote type part} } instrument/status { privilege spy sobj {@any plc} datatype @none property {data false control true nxsave false klass @none type part} } data/data_set { privilege spy datatype @none property {data true control false nxsave false klass @none type nxvgroup nxalias data_set link @none} } data/axis_1 { privilege spy datatype @none property {data true control false nxsave false klass @none type nxvgroup nxalias axis_1 link @none} } data/axis_2 { privilege spy datatype @none property {data true control false nxsave false klass @none type nxvgroup nxalias axis_2 link @none} } data/axis_3 { privilege spy datatype @none property {data true control false nxsave false klass @none type nxvgroup nxalias axis_3 link @none} } data/axis_4 { privilege spy datatype @none property {data true control false nxsave false klass @none type nxvgroup nxalias axis_4 link @none} } }]