##NXDICT-1.0
#----------------------------------------------------------------------------
# NeXus dictionary file for the SINQ instrument FOCUS
#
# DO NOT EDIT WHEN YOU DO NOT KNOW WHAT YOU ARE DOING!
# This file determines the placement of data items in the Focus NeXus 
# data file. Your data may not be readable if this file is messed up.
#
# Mark Koennecke, November 1998
#----------------------------------------------------------------------------
# FOCUS may have several detector banks and variable time binning. In order
# to cope with that, we use NXDICT's text replacement feature and define
# these things
timebin = 512
bank = bank1
noofdetectors=150
#---------- NXentry level
etitle=/entry1,NXentry/SDS title -type DFNT_CHAR -rank 1 -dim {132} 
estart=/entry1,NXentry/SDS start_time -type DFNT_CHAR -rank 1 -dim {132} 
eend=/entry1,NXentry/SDS end_time -type DFNT_CHAR -rank 1 -dim {132} 
#----------------- NXinstrument
iname=/entry1,NXentry/FOCUS,NXinstrument/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
#----------------- NXsource
sname=/entry1,NXentry/FOCUS,NXinstrument/SINQ,NXsource/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
stype=/entry1,NXentry/FOCUS,NXinstrument/SINQ,NXsource/SDS type -type DFNT_CHAR \
      -rank 1 -dim {132}
#----------------- Chopper
cname=/entry1,NXentry/FOCUS,NXinstrument/disk_chopper,NXchopper/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
crot=/entry1,NXentry/FOCUS,NXinstrument/disk_chopper,NXchopper/SDS \
       rotation_speed -attr {units,rpm}
cratio=/entry1,NXentry/FOCUS,NXinstrument/disk_chopper,NXchopper/SDS \
       ratio 
#---------------- Be-filter
bname=/entry1,NXentry/FOCUS,NXinstrument/be_filter,NXfilter/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
bstatus=/entry1,NXentry/FOCUS,NXinstrument/be_filter,NXfilter/SDS status \
        -type DFNT_INT32 
#--------------- flight path
fltype=/entry1,NXentry/FOCUS,NXinstrument/flight_path,NXfilter/SDS selection \
        -type DFNT_CHAR -rank 1 -dim {132} 
fllength=/entry1,NXentry/FOCUS,NXinstrument/flight_path,NXfilter/SDS length 
#-------------- Monochromator
mname=/entry1,NXentry/FOCUS,NXinstrument/monochromator,NXmonochromator/SDS name \
      -type DFNT_CHAR -rank 1 -dim {132}
mtheta=/entry1,NXentry/FOCUS,NXinstrument/monochromator,NXmonochromator/SDS \
       theta
mttheta=/entry1,NXentry/FOCUS,NXinstrument/monochromator,NXmonochromator/SDS \
       two_theta
mlambda=/entry1,NXentry/FOCUS,NXinstrument/monochromator,NXmonochromator/SDS \
       lambda -attr {units,Angstroem}
menergy=/entry1,NXentry/FOCUS,NXinstrument/monochromator,NXmonochromator/SDS \
       energy -attr {units,meV}
#-------------fermi-chopper
fcname=/entry1,NXentry/FOCUS,NXinstrument/fermi_chopper,NXchopper/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
fcrot=/entry1,NXentry/FOCUS,NXinstrument/fermi_chopper,NXchopper/SDS \
       rotation_speed -attr {units,rpm}
fcphase=/entry1,NXentry/FOCUS,NXinstrument/fermi_chopper,NXchopper/SDS \
       phase -attr {units,degree}
fcdist=/entry1,NXentry/FOCUS,NXinstrument/fermi_chopper,NXchopper/SDS \
       distance -attr {units,mm}
#------------- counter
cnmode=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS count_mode \
       -type DFNT_CHAR -rank 1 -dim {30}
cnpreset=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS preset \
         -attr {units,countsOrseconds}
cntime=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS time \
         -attr {units,seconds}
cnmon1=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS monitor \
         -type DFNT_INT32 -attr {units,counts}
cnmon2=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS beam_monitor \
         -type DFNT_INT32 -attr {units,counts}
cnmon3=/entry1,NXentry/FOCUS,NXinstrument/counter,NXmonitor/SDS proton_beam_monitor \
         -type DFNT_INT32 -attr {units,counts}
#-------------- detector bank 
dname=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS type \
       -type DFNT_CHAR -rank 1 -dim {132}
dtheta=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS theta \
       -rank 1 -dim {$(noofdetectors)} -attr {axis,1} -attr {units,degree}
dtime=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS time_binning \
      -rank 1 -dim {$(timebin)} -attr {axis,2} -attr {units,us}
dcounts=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS counts \
      -type DFNT_INT32 -LZW -rank 2 -dim {$(noofdetectors),$(timebin)} \
      -attr {signal,1}
dsums=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS summed_counts \
      -rank 1 -dim {$(noofdetectors)} -type DFNT_INT32
ddist=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS distance \
       -rank 1  -attr {units,mm}
ddelay=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS delay \
       -rank 1  -attr {units,us}
delastic=/entry1,NXentry/FOCUS,NXinstrument/$(bank),NXdetector/SDS  \
       elastic_peak_position -attr {units,detectors}
#--------------- Sample
saname=/entry1,NXentry/sample,NXsample/SDS name -type DFNT_CHAR \
      -rank 1 -dim {132}
senvir=/entry1,NXentry/sample,NXsample/SDS environment -type DFNT_CHAR \
      -rank 1 -dim {132}
stemp=/entry1,NXentry/sample,NXsample/SDS temperature -attr {units,K}
sdist=/entry1,NXentry/sample,NXsample/SDS distance -attr {units,mm}
saangle=/entry1,NXentry/sample,NXsample/SDS angle -attr {units,degree}
#--------------- data
dana=/entry1,NXentry/$(bank),NXdata/NXVGROUP

