Create single entry nexus files for scans with instrument state in 1D arrays indexed by scan point.
Use putslab and sics data objects to grow arrays. r1725 | ffr | 2007-03-27 08:04:19 +1000 (Tue, 27 Mar 2007) | 3 lines
This commit is contained in:
committed by
Douglas Clowes
parent
6921d0426c
commit
d49a7be3bb
@@ -1,6 +1,7 @@
|
|||||||
#----------------- NXmonitor
|
#----------------- NXmonitor
|
||||||
mmode=/$(entryName),NXentry/monitor,NXmonitor/SDS mode -type NX_CHAR
|
mmode=/$(entryName),NXentry/monitor,NXmonitor/SDS mode -type NX_CHAR
|
||||||
mpreset=/$(entryName),NXentry/monitor,NXmonitor/SDS preset -type NX_FLOAT32
|
mpreset=/$(entryName),NXentry/monitor,NXmonitor/SDS preset -type NX_FLOAT32
|
||||||
mdata=/$(entryName),NXentry/monitor,NXmonitor/SDS data -type NX_INT32
|
dcounts=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS \
|
||||||
|
data -type NX_FLOAT32 -LZW -rank 1 -dim {-1} -attr {signal,1}
|
||||||
mdistance=/$(entryName),NXentry/monitor,NXmonitor/SDS distance -type NX_FLOAT32 -attr {units,metre}
|
mdistance=/$(entryName),NXentry/monitor,NXmonitor/SDS distance -type NX_FLOAT32 -attr {units,metre}
|
||||||
dlayout=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS layout -type NX_CHAR
|
dlayout=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS layout -type NX_CHAR
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ scanvar_longname=xxx
|
|||||||
|
|
||||||
#----------------NXdata ------------------------------------------------
|
#----------------NXdata ------------------------------------------------
|
||||||
|
|
||||||
scandata=/$(entryName),NXentry/scan_data,NXdata/NXVGROUP
|
scandata=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||||
scanvertaxis=/$(entryName),NXentry/vertical_axis,NXdata/NXVGROUP
|
scanvertaxis=/$(entryName),NXentry/vertical_axis,NXdata/NXVGROUP
|
||||||
scanvar=/$(entryName),NXentry/scan_variable,NXdata/SDS $(scanvar_name) -type NX_FLOAT32 -attr {units,$(scanvar_units)} -attr {long_name,$(scanvar_longname)}
|
scanvar=/$(entryName),NXentry/data,NXdata/SDS $(scanvar_name) -type NX_FLOAT32 -attr {units,$(scanvar_units)} -attr {long_name,$(scanvar_longname)} -rank 1 -dim {-1} -attr {axis,1}
|
||||||
scanstep=/$(entryName),NXentry/scan_step,NXdata/SDS value -type NX_FLOAT32 -attr {units,degree} -attr {long_name,stepsize}
|
scanstep=/$(entryName),NXentry/scan_step,NXdata/SDS value -type NX_FLOAT32 -attr {units,degree} -attr {long_name,stepsize}
|
||||||
#histogram=/$(entryName),NXentry/histogram,NXdata/NXVGROUP
|
#histogram=/$(entryName),NXentry/histogram,NXdata/NXVGROUP
|
||||||
#scanvar=/$(entryName),NXentry/$(scan_variable),NXdata/NXVGROUP
|
#scanvar=/$(entryName),NXentry/$(scan_variable),NXdata/NXVGROUP
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
# with filename
|
# with filename
|
||||||
|
|
||||||
MakeNXScript
|
MakeNXScript
|
||||||
|
sicsdatafactory new nxscript_data
|
||||||
|
|
||||||
proc getVal {msg} {
|
proc getVal {msg} {
|
||||||
return [string trim [lindex [split $msg =] 1 ] ]
|
return [string trim [lindex [split $msg =] 1 ] ]
|
||||||
@@ -67,11 +68,11 @@ proc det_height_arr {active_height_mm row_zero dim0} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc hmm_save {nxobj entryname} {
|
proc hmm_save {nxobj entryname point} {
|
||||||
global dradius ndect angsep;
|
global dradius ndect angsep;
|
||||||
set dim0 [SplitReply [hmm configure dim0]];
|
set dim0 [SplitReply [hmm configure dim0]];
|
||||||
set dim1 [SplitReply [hmm configure dim1]];
|
set dim1 [SplitReply [hmm configure dim1]];
|
||||||
putcommon $nxobj $entryname;
|
putcommon $nxobj $entryname $point;
|
||||||
putcrystal $nxobj;
|
putcrystal $nxobj;
|
||||||
putmonitor $nxobj;
|
putmonitor $nxobj;
|
||||||
putsample $nxobj;
|
putsample $nxobj;
|
||||||
@@ -88,52 +89,64 @@ proc hmm_save {nxobj entryname} {
|
|||||||
$nxobj makelink scanvertaxis dvaxis
|
$nxobj makelink scanvertaxis dvaxis
|
||||||
}
|
}
|
||||||
|
|
||||||
proc hmm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep start_time} {
|
proc hmm_addnxscanentry {nxobj entryname point scanVariable scanVarPos scanVarStep start_time} {
|
||||||
$nxobj puttext estart $start_time
|
$nxobj puttext estart $start_time
|
||||||
$nxobj updatedictvar scan_variable $scanVariable
|
$nxobj updatedictvar scan_variable $scanVariable
|
||||||
|
|
||||||
set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]]
|
set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]]
|
||||||
$nxobj updatedictvar scanvar_name $scanVariable
|
$nxobj updatedictvar scanvar_name $scanVariable
|
||||||
$nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]]
|
#TODO $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]]
|
||||||
|
$nxobj updatedictvar scanvar_units "unknown"
|
||||||
$nxobj updatedictvar scanvar_longname $scanVariable
|
$nxobj updatedictvar scanvar_longname $scanVariable
|
||||||
$nxobj putfloat scanvar $scanVar_value
|
nxscript_data clear
|
||||||
$nxobj putfloat scanstep $scanVarStep
|
nxscript_data putfloat 0 $scanVar_value
|
||||||
|
$nxobj putslab scanvar [list $point] [list 1] nxscript_data
|
||||||
|
# $nxobj putfloat scanstep $scanVarStep
|
||||||
|
|
||||||
hmm_save $nxobj $entryname;
|
hmm_save $nxobj $entryname $point;
|
||||||
$nxobj puttext eend [sicstime];
|
$nxobj puttext eend [sicstime];
|
||||||
}
|
}
|
||||||
|
|
||||||
#TODO Refactor: Add bm_save command and use it here.
|
proc bm_save {nxobj entryname point} {
|
||||||
proc bm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep start_time} {
|
|
||||||
global dradius ndect angsep;
|
global dradius ndect angsep;
|
||||||
$nxobj updatedictvar scan_variable $scanVariable;
|
# $nxobj updatedictvar scan_variable $scanVariable;
|
||||||
putcommon $nxobj $entryname
|
putcommon $nxobj $entryname $point
|
||||||
putcrystal $nxobj
|
putcrystal $nxobj
|
||||||
putmonitor $nxobj
|
putmonitor $nxobj $point
|
||||||
putsample $nxobj
|
putsample $nxobj
|
||||||
|
$nxobj puttext dlayout point
|
||||||
|
$nxobj makelink scandata dcounts
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO Refactor: Add bm_save command and use it here.
|
||||||
|
proc bm_addnxscanentry {nxobj entryname point scanVariable scanVarPos scanVarStep start_time} {
|
||||||
|
$nxobj puttext estart $start_time
|
||||||
|
|
||||||
set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]]
|
set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]]
|
||||||
$nxobj updatedictvar scanvar_name $scanVariable
|
$nxobj updatedictvar scanvar_name $scanVariable
|
||||||
#TODO $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]]
|
#TODO $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]]
|
||||||
$nxobj updatedictvar scanvar_units "unknown"
|
$nxobj updatedictvar scanvar_units "unknown"
|
||||||
|
|
||||||
$nxobj updatedictvar scanvar_longname $scanVariable
|
$nxobj updatedictvar scanvar_longname $scanVariable
|
||||||
$nxobj putfloat scanvar $scanVar_value
|
nxscript_data clear
|
||||||
$nxobj putfloat scanstep $scanVarStep
|
nxscript_data putfloat 0 $scanVar_value
|
||||||
|
$nxobj putslab scanvar [list $point] [list 1] nxscript_data
|
||||||
|
bm_save $nxobj $entryname $point
|
||||||
|
# $nxobj putfloat scanstep $scanVarStep
|
||||||
# Add thetamin and stth to tharr(i)
|
# Add thetamin and stth to tharr(i)
|
||||||
# $nxobj puttext dtype He-3 position sensitive detector, tube active length=335+/-5mm, tube diameter=25.4 +/- 0.8mm
|
# $nxobj puttext dtype He-3 position sensitive detector, tube active length=335+/-5mm, tube diameter=25.4 +/- 0.8mm
|
||||||
# $nxobj puttext ddesc 128 He-3 proportional counter detector tubes (GE Energy Reuter Stokes Inc. item=RS-P4-0814-217)
|
# $nxobj puttext ddesc 128 He-3 proportional counter detector tubes (GE Energy Reuter Stokes Inc. item=RS-P4-0814-217)
|
||||||
# $nxobj putfloat dradius $dradius
|
# $nxobj putfloat dradius $dradius
|
||||||
$nxobj puttext estart $start_time
|
|
||||||
#TODO add dtype ddesc
|
#TODO add dtype ddesc
|
||||||
$nxobj puttext dlayout point
|
|
||||||
$nxobj makelink scandata mdata
|
|
||||||
$nxobj puttext eend [sicstime];
|
$nxobj puttext eend [sicstime];
|
||||||
}
|
}
|
||||||
|
|
||||||
proc putmonitor {nxobj} {
|
proc putmonitor {nxobj point} {
|
||||||
$nxobj puttext mmode [string trim [lindex [split [bm getmode] =] 1]]
|
$nxobj puttext mmode [string trim [lindex [split [bm getmode] =] 1]]
|
||||||
$nxobj putfloat mpreset [string trim [lindex [split [bm getpreset] =] 1]]
|
$nxobj putfloat mpreset [string trim [lindex [split [bm getpreset] =] 1]]
|
||||||
$nxobj putint mdata [string trim [lindex [split [bm getcounts] =] 1]]
|
# $nxobj putint mdata [string trim [lindex [split [bm getcounts] =] 1]]
|
||||||
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [SplitReply [bm getcounts]]
|
||||||
|
$nxobj putslab dcounts [list $point] [list 1] nxscript_data
|
||||||
$nxobj putfloat mdistance [SplitReply [bmon_distance]]
|
$nxobj putfloat mdistance [SplitReply [bmon_distance]]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,7 +181,7 @@ proc putcrystal {nxobj} {
|
|||||||
$nxobj puttext ctype [SplitReply [crystal_type]]
|
$nxobj puttext ctype [SplitReply [crystal_type]]
|
||||||
$nxobj putfloat clambda [SplitReply [crystal_wavelength_A]]
|
$nxobj putfloat clambda [SplitReply [crystal_wavelength_A]]
|
||||||
}
|
}
|
||||||
proc putcommon {nxobj entryName} {
|
proc putcommon {nxobj entryName point} {
|
||||||
$nxobj updatedictvar entryName $entryName
|
$nxobj updatedictvar entryName $entryName
|
||||||
$nxobj puttext etitle [getVal [Title]]
|
$nxobj puttext etitle [getVal [Title]]
|
||||||
$nxobj puttext iname [getVal [Instrument]]
|
$nxobj puttext iname [getVal [Instrument]]
|
||||||
@@ -180,42 +193,54 @@ proc putcommon {nxobj entryName} {
|
|||||||
$nxobj puttext sname OPAL
|
$nxobj puttext sname OPAL
|
||||||
$nxobj puttext stype Reactor Neutron Source
|
$nxobj puttext stype Reactor Neutron Source
|
||||||
$nxobj puttext sprobe Neutron
|
$nxobj puttext sprobe Neutron
|
||||||
putsamplemotors $nxobj
|
putsamplemotors $nxobj $point
|
||||||
putslitmotors $nxobj
|
putslitmotors $nxobj $point
|
||||||
putmonomotors $nxobj
|
putmonomotors $nxobj $point
|
||||||
}
|
}
|
||||||
|
|
||||||
proc putsamplemotors {nxobj} {
|
proc putsamplemotors {nxobj point} {
|
||||||
foreach motor { som schi sphi sx sy stth } {
|
foreach motor { som schi sphi sx sy stth } {
|
||||||
$nxobj updatedictvar mot_name $motor;
|
$nxobj updatedictvar mot_name $motor;
|
||||||
$nxobj updatedictvar mot_long_name $motor;
|
$nxobj updatedictvar mot_long_name $motor;
|
||||||
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
||||||
$nxobj putfloat nxsample_mot [getVal [$motor] ];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [$motor] ]
|
||||||
|
$nxobj putslab nxsample_mot [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
# sth is a virtual motor
|
# sth is a virtual motor
|
||||||
$nxobj putfloat sth [getVal [sth ]];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [sth ]]
|
||||||
|
$nxobj putslab sth [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
proc putmonomotors {nxobj} {
|
proc putmonomotors {nxobj point} {
|
||||||
foreach motor { mom mchi mphi mx my mtth } {
|
foreach motor { mom mchi mphi mx my mtth } {
|
||||||
$nxobj updatedictvar mot_name $motor;
|
$nxobj updatedictvar mot_name $motor;
|
||||||
$nxobj updatedictvar mot_long_name $motor;
|
$nxobj updatedictvar mot_long_name $motor;
|
||||||
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
||||||
$nxobj putfloat nxcrystal_mot [getVal [$motor] ];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [$motor] ]
|
||||||
|
$nxobj putslab nxcrystal_mot [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
# mth is a virtual motor
|
# mth is a virtual motor
|
||||||
$nxobj putfloat mth [getVal [mth ]];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [mth ]]
|
||||||
|
$nxobj putslab mth [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
proc putslitmotors {nxobj} {
|
proc putslitmotors {nxobj point} {
|
||||||
foreach motor {ss1u ss1d ss1l ss1r ss2u ss2d ss2l ss2r } {
|
foreach motor {ss1u ss1d ss1l ss1r ss2u ss2d ss2l ss2r } {
|
||||||
$nxobj updatedictvar mot_name $motor;
|
$nxobj updatedictvar mot_name $motor;
|
||||||
$nxobj updatedictvar mot_long_name $motor;
|
$nxobj updatedictvar mot_long_name $motor;
|
||||||
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
$nxobj updatedictvar mot_units [SplitReply [$motor units]];
|
||||||
$nxobj putfloat nxfilter_mot [getVal [$motor] ];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [$motor] ]
|
||||||
|
$nxobj putslab nxfilter_mot [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
foreach motor {ss1vg ss1vo ss1hg ss1ho ss2vg ss2vo ss2hg ss2ho } {
|
foreach motor {ss1vg ss1vo ss1hg ss1ho ss2vg ss2vo ss2hg ss2ho } {
|
||||||
$nxobj putfloat $motor [getVal [$motor] ];
|
nxscript_data clear
|
||||||
|
nxscript_data putfloat 0 [getVal [$motor] ]
|
||||||
|
$nxobj putslab $motor [list $point] [list 1] nxscript_data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,8 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
|
|
||||||
set scanVarPos [expr {$scanVarStart + $point * $scanVarStep} ];
|
set scanVarPos [expr {$scanVarStart + $point * $scanVarStep} ];
|
||||||
nxreopenfile;
|
nxreopenfile;
|
||||||
$nxentryCmd nxscript scan_[format "%05d" $point] $scanVariable $scanVarPos $scanVarStep $scan_pt_start_time;
|
# $nxentryCmd nxscript scan_[format "%05d" $point] $scanVariable $scanVarPos $scanVarStep $scan_pt_start_time;
|
||||||
|
$nxentryCmd nxscript entry1 $point $scanVariable $scanVarPos $scanVarStep $scan_pt_start_time;
|
||||||
nxclosefile;
|
nxclosefile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,21 +2,21 @@ mot_name=xxx
|
|||||||
mot_units=xxx
|
mot_units=xxx
|
||||||
mot_long_name=xxx
|
mot_long_name=xxx
|
||||||
#--------------- NXmonochromator
|
#--------------- NXmonochromator
|
||||||
nxcrystal_mot=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
nxcrystal_mot=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS $(mot_name) -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||||
#XXX add units command to configurable virtual motors.
|
#XXX add units command to configurable virtual motors.
|
||||||
mth=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS mth -type NX_FLOAT32 -attr {units,degrees} -attr {long_name,mono_theta}
|
mth=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS mth -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,degrees} -attr {long_name,mono_theta}
|
||||||
#--------------- NXsample
|
#--------------- NXsample
|
||||||
nxsample_mot=/$(entryName),NXentry/sample,NXsample/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
nxsample_mot=/$(entryName),NXentry/sample,NXsample/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -rank 1 -dim {-1} -attr {long_name,$(mot_long_name)}
|
||||||
#XXX add units command to configurable virtual motors.
|
#XXX add units command to configurable virtual motors.
|
||||||
sth=/$(entryName),NXentry/sample,NXsample/SDS sth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,sth}
|
sth=/$(entryName),NXentry/sample,NXsample/SDS sth -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,degree} -attr {long_name,sth}
|
||||||
# Slit motors
|
# Slit motors
|
||||||
nxfilter_mot=/$(entryName),NXentry/slits,NXfilter/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
nxfilter_mot=/$(entryName),NXentry/slits,NXfilter/SDS $(mot_name) -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||||
#XXX add units command to configurable virtual motors.
|
#XXX add units command to configurable virtual motors.
|
||||||
ss1vg=/$(entryName),NXentry/slits,NXfilter/SDS ss1vg -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss1vg}
|
ss1vg=/$(entryName),NXentry/slits,NXfilter/SDS ss1vg -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss1vg}
|
||||||
ss1vo=/$(entryName),NXentry/slits,NXfilter/SDS ss1vo -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss1vo}
|
ss1vo=/$(entryName),NXentry/slits,NXfilter/SDS ss1vo -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss1vo}
|
||||||
ss1hg=/$(entryName),NXentry/slits,NXfilter/SDS ss1hg -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss1hg}
|
ss1hg=/$(entryName),NXentry/slits,NXfilter/SDS ss1hg -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss1hg}
|
||||||
ss1ho=/$(entryName),NXentry/slits,NXfilter/SDS ss1ho -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss1ho}
|
ss1ho=/$(entryName),NXentry/slits,NXfilter/SDS ss1ho -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss1ho}
|
||||||
ss2vg=/$(entryName),NXentry/slits,NXfilter/SDS ss2vg -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss2vg}
|
ss2vg=/$(entryName),NXentry/slits,NXfilter/SDS ss2vg -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss2vg}
|
||||||
ss2vo=/$(entryName),NXentry/slits,NXfilter/SDS ss2vo -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss2vo}
|
ss2vo=/$(entryName),NXentry/slits,NXfilter/SDS ss2vo -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss2vo}
|
||||||
ss2hg=/$(entryName),NXentry/slits,NXfilter/SDS ss2hg -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss2hg}
|
ss2hg=/$(entryName),NXentry/slits,NXfilter/SDS ss2hg -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss2hg}
|
||||||
ss2ho=/$(entryName),NXentry/slits,NXfilter/SDS ss2ho -type NX_FLOAT32 -attr {units,mm} -attr {long_name,ss2ho}
|
ss2ho=/$(entryName),NXentry/slits,NXfilter/SDS ss2ho -type NX_FLOAT32 -rank 1 -dim {-1} -attr {units,mm} -attr {long_name,ss2ho}
|
||||||
|
|||||||
Reference in New Issue
Block a user