source: sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/Vx_NexusFromIgor.ipf @ 1074

Last change on this file since 1074 was 1062, checked in by srkline, 5 years ago

many changes to the VCALC code and a few changes to the main code to get the units consistent, and centimeters everywhere possible. The real space distance array and the non-linear calibrations are still defined and calculated in mm. This can hopefully be changed in the future. Some constants in the data file will need to be updated to cm, such as the T/B setback, which has been confirmed to be 41.0 cm

File size: 109.7 KB
Line 
1#pragma rtGlobals=3             // Use modern global access method and strict wave access.
2
3
4//////////////////////////////
5//////////////////////////////
6//
7// This is NOT used anymore - as of FEB 2017
8//
9//
10//- but may still be used in the future. I need somenthing like this
11// to be able to write a full Nexus file from Igor, but I still don't know the best way to
12// do the setup to match the "real" NICE-generated file structure. Modifying the DataFolderTree.ipf
13// to generate the NewDataFolder and Make statements may be a reliable way to reproduce the correct
14// structure from NICE, with the exception that NOT EVERY field is written out from NICE, depending
15// on the experiment setup!!!
16//
17// AUG 2015
18// NOV 2015
19//
20//////////////////////////////
21//////////////////////////////
22
23// FUTURE -- of the many issues (which may all be superceded by the JS file,
24// the detector dimensions (nPix) are incorrrect, and are better set as globals.
25
26
27//
28// this is a test of the "new" VSANS file structure that is supposed to be
29// NeXus compliant. It doesn't have the NICE logs, but has everything that I
30// can think of here.
31//
32
33//
34//      To properly generate a Nexus file with attributes, using Pete Jemain's procedures:
35//
36//      Generating the "current" Igor macros:
37//      - From the outlines, make a copy of the outline, and export some of the selected
38//      columns to be able to:
39//      1) Make all of the waves and folders
40//      2) Add attributes (only) to the existing tree
41//      3) Fill the tree with simulation values
42//      (still don't know here how to not lose the "=VCALC_getWavelength" statements
43//      and similar assignments. these are not part of the outline)
44//
45//
46//
47//      Generate the data file:
48//      1) Set down the folder structure:               H_Setup_SANS_Structure()
49//      2) Write in the attributes:                             H_FillSANS_Attributes()
50//      3) Fill with simulated data:                    H_FillSANS_wSim()
51//
52//      There is now a SANS_file folder which contains everything, but is not "aware"
53//      of any of references that Pete's gateway needs.
54//
55//      4) Save the folder to HDF5:                             Save_VSANS_file()
56//      attributes are not saved, but the tree is correct
57//      5) Load back in to generate xref:               H_HDF5Gate_ReadTest()
58//      no attributes loaded, but HDF5___xref is generated
59//      6) From the loaded folder, save xref:   Save_HDF5___xref()
60//      save it to disk
61//      7) Copy the reference to SANS_file:             Copy_HDF5___xref()
62//      load it from disk, and copy it to the folder
63//      8) Save the folder using the gateway:   H_HDF5Gate_WriteVSANS()
64//      now, the Nexus file is saved with attributes
65//
66
67
68
69//
70// lays out the tree and fills with dummy values
71//
72Proc H_Setup_VSANS_Structure()
73       
74        Abort "Don't use this function - H_Setup_VSANS_Structure"
75       
76        Variable n=100
77        Variable tubes=48       
78
79NewDataFolder/O/S root:VSANS_file               
80        Make/O/T/N=1    file_name       = "VSANSTest.h5"
81        Make/O/T/N=1    file_time       = "2015-02-28T08:15:30-5:00"
82        Make/O/T/N=1    facility        = "NCNR"
83        Make/O/T/N=1    NeXus_version   = "Nexus 0.0"
84        Make/O/T/N=1    hdf_version     = "hdf5.x"
85        Make/O/T/N=1    file_history    = "history log"
86        NewDataFolder/O/S root:VSANS_file:entry1               
87                Make/O/T/N=1    title   = "title of entry1"
88                Make/O/D/N=1    experiment_identifier   = 684636
89                Make/O/T/N=1    experiment_description  = "description of expt"
90                Make/O/T/N=1    entry_identifier        = "S22-33"
91                Make/O/T/N=1    definition      = "NXsas"
92                Make/O/T/N=1    start_time      = "2015-02-28T08:15:30-5:00"
93                Make/O/T/N=1    end_time        = "2015-02-28T08:15:30-5:00"
94                Make/O/D/N=1    duration        = 300
95                Make/O/D/N=1    collection_time = 300
96                Make/O/T/N=1    run_cycle       = "S22-23"
97                Make/O/T/N=1    data_directory  = "[VSANS_VSANS]"
98                Make/O/T/N=1    program_name    = "runPoint={stuff}"
99                NewDataFolder/O/S root:VSANS_file:entry1:user           
100                        Make/O/T/N=1    name    = "Dr. Pi"
101                        Make/O/T/N=1    role    = "evil scientist"
102                        Make/O/T/N=1    affiliation     = "NIST"
103                        Make/O/T/N=1    address = "100 Bureau Drive"
104                        Make/O/T/N=1    telephoneNumber = "301-999-9999"
105                        Make/O/T/N=1    faxNumber       = "301-999-9999"
106                        Make/O/T/N=1    email   = "sans@nist"
107                        Make/O/I/N=1    facility_user_id        = 6937596
108                NewDataFolder/O/S root:VSANS_file:entry1:control               
109                        Make/O/T/N=1    mode    = "timer"
110                        Make/O/D/N=1    preset  = 555
111                        Make/O/D/N=1    integral        = 555
112                        Make/O/D/N=1    monitor_counts  = 666
113                        Make/O/D/N=1    monitor_preset  = 1e8
114                        //Make/O/T/N=1  type    = "monitor type"
115                        //Make/O/D/N=1  efficiency      = 0.01
116                        //Make/O/D/N=1  sampled_fraction        = 1
117                        Make/O/D/N=1    detector_counts = 100111222
118                        Make/O/D/N=1    detector_preset = 1e5
119                        Make/O/D/N=1    count_start     = 1
120                        Make/O/D/N=1    count_end       = 1
121                        Make/O/D/N=1    count_time      = 1
122                        Make/O/D/N=1    count_time_preset       = 1
123                //NewDataFolder/O/S root:VSANS_file:entry1:program_name //program_data 
124                        //Make/O/T/N=1  //data  = "program data"
125                        //Make/O/T/N=1  //description   = "acquisition"
126                        //Make/O/T/N=1  //file_name     = "NICE"
127                        //Make/O/T/N=1  //type  = "client"
128                NewDataFolder/O/S root:VSANS_file:entry1:sample         
129                        Make/O/T/N=1    description     = "My Sample"
130                        Make/O/D/N=1    group_id        = 12345
131                        //Make/O/T/N=1  //chemical_formula      = "C8H10N4O2"
132                        NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_1           
133                                Make/O/T/N=1    name    = "Sample temperature"
134                                Make/O/T/N=1    attached_to     = "block"
135                                Make/O/T/N=1    measurement     = "temperature"
136                                NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_1:value_log         
137                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
138                                        Make/O/D/N=(n)  nx_time = p
139                                        Make/O/D/N=(n)  value   = 2*p
140                        NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_2           
141                                Make/O/T/N=1    name    = "Sample temperature"
142                                Make/O/T/N=1    attached_to     = "block"
143                                Make/O/T/N=1    measurement     = "temperature"
144                                NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_2:value_log         
145                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
146                                        Make/O/D/N=(n)  nx_time = p
147                                        Make/O/D/N=(n)  value   = 3*p
148                        NewDataFolder/O/S root:VSANS_file:entry1:sample:electric_field         
149                                Make/O/T/N=1    name    = "electric meter"
150                                Make/O/T/N=1    attached_to     = "sample"
151                                Make/O/T/N=1    measurement     = "voltage"
152                                NewDataFolder/O/S root:VSANS_file:entry1:sample:electric_field:value_log               
153                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
154                                        Make/O/D/N=(n)  nx_time = 2*p
155                                        Make/O/D/N=(n)  value   = sin(p/10)
156                        NewDataFolder/O/S root:VSANS_file:entry1:sample:shear_field             
157                                Make/O/T/N=1    name    = "rheometer"
158                                Make/O/T/N=1    attached_to     = "sample"
159                                Make/O/T/N=1    measurement     = "stress"
160                                NewDataFolder/O/S root:VSANS_file:entry1:sample:shear_field:value_log           
161                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
162                                        Make/O/D/N=(n)  nx_time = p
163                                        Make/O/D/N=(n)  value   = cos(p/5)
164                        NewDataFolder/O/S root:VSANS_file:entry1:sample:pressure               
165                                Make/O/T/N=1    name    = "Sample pressure"
166                                Make/O/T/N=1    attached_to     = "pressure cell"
167                                Make/O/T/N=1    measurement     = "pressure"
168                                NewDataFolder/O/S root:VSANS_file:entry1:sample:pressure:value_log             
169                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
170                                        Make/O/D/N=(n)  nx_time = p
171                                        Make/O/D/N=(n)  value   = p/2
172                        NewDataFolder/O/S root:VSANS_file:entry1:sample:magnetic_field         
173                                Make/O/T/N=1    name    = "magnetic field (direction)"
174                                Make/O/T/N=1    attached_to     = "cryostat"
175                                Make/O/T/N=1    measurement     = "magnetic field"
176                                NewDataFolder/O/S root:VSANS_file:entry1:sample:magnetic_field:value_log               
177                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
178                                        Make/O/D/N=(n)  nx_time = p
179                                        Make/O/D/N=(n)  value   = 10*p
180                        SetDataFolder root:VSANS_file:entry1:sample             
181                        Make/O/D/N=1    changer_position        = 5
182                        Make/O/T/N=1    sample_holder_description       = "10CB"
183                        //Make/O/D/N=1  //mass  = 0.3
184                        //Make/O/D/N=1  //density       = 1.02
185                        //Make/O/D/N=1  //molecular_weight      = 194.19
186                        //Make/O/T/N=1  //description   = "My Sample"
187                        //Make/O/T/N=1  //preparation_date      = "2015-02-28T08:15:30-5:00"
188                        //Make/O/D/N=1  //volume_fraction       = 0.2
189                        //Make/O/D/N=1  //scattering_length_density     = 6.35e-6
190                        Make/O/D/N=1    thickness       = 0.1
191                        Make/O/D/N=1    rotation_angle  = 30
192                        Make/O/D/N=1    transmission    = 0.888
193                        Make/O/D/N=1    transmission_error      = 0.011
194                        //Make/O/D/N=1  //xs_incoh      = 5.5
195                        //Make/O/D/N=1  //xs_coh        = 22.2
196                        //Make/O/D/N=1  //xs_absorb     = 3.1
197                NewDataFolder/O/S root:VSANS_file:entry1:instrument             
198                        //Make/O/T/N=1  //location      = "NCNR"
199                        Make/O/T/N=1    name    = "NG3-VSANS"
200                        Make/O/T/N=1    type    = "VSANS"
201                        Make/O/T/N=1    local_contact   = "Steve Kline"
202                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:source             
203                                Make/O/T/N=1    name    = "NCNR"
204                                Make/O/T/N=1    type    = "Reactor Neutron Source"
205                                Make/O/T/N=1    probe   = "neutron"
206                                Make/O/D/N=1    power   = 20
207                                       
208                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_monitor_norm           
209                                Make/O/D/N=1    data    = 1234567
210                                Make/O/T/N=1    type    = "monitor"
211                                Make/O/D/N=1    efficiency      = 0.01
212                                Make/O/D/N=1    nx_distance     = 16
213                                Make/O/D/N=1    saved_count     = 1e8
214                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_monitor_low                   
215                                Make/O/D/N=1    data    = 1234567
216                                Make/O/T/N=1    type    = "monitor"
217                                Make/O/D/N=1    efficiency      = 0.001
218                                Make/O/D/N=1    nx_distance     = 16
219                                Make/O/D/N=1    saved_count     = 1e8
220                                       
221                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator               
222                                Make/O/D/N=1    wavelength      = 5.1
223                                Make/O/D/N=1    wavelength_spread       = 0.02
224                                Make/O/T/N=1    type    = "VS"
225                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:velocity_selector             
226                                        Make/O/T/N=1    status  = "in"
227                                        Make/O/D/N=1    rotation_speed  = 5100
228                                        Make/O/D/N=1    wavelength      = 6
229                                        Make/O/D/N=1    wavelength_spread       = 0.15
230                                        Make/O/D/N=1    vs_tilt = 3
231                                        Make/O/D/N=1    nx_distance     = 18.8
232                                                // table (wave)
233                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:crystal               
234                                        Make/O/T/N=1    status  = "in"
235                                        Make/O/D/N=1    nx_distance     = 1
236                                        Make/O/D/N=1    wavelength      = 5.1
237                                        Make/O/D/N=1    wavelength_spread       = 0.02
238                                        Make/O/D/N=1    rotation        = 1.1
239                                        Make/O/D/N=1    energy  = 1
240                                        Make/O/D/N=1    wavevector      = 1
241                                        Make/O/D/N=1    lattice_parameter       = 1
242                                        Make/O/D/N=3    reflection      = {1,2,3}
243                                        Make/O/D/N=1    horizontal_curvature    = 1
244                                        Make/O/D/N=1    vertical_curvature      = 1
245                                        Make/O/D/N=1    horizontal_aperture     = 1
246                                        Make/O/D/N=1    vertical_aperture       = 1
247                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:white_beam           
248                                        Make/O/T/N=1    status  = "in"
249                                        Make/O/D/N=1    wavelength      = 5.1
250                                        Make/O/D/N=1    wavelength_spread       = 0.8
251                                                // description_of_distribution 
252                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:chopper             
253                                Make/O/T/N=1    status  = "in"
254                                Make/O/T/N=1    type    = "single"
255                                Make/O/D/N=1    rotation_speed  = 12000
256                                Make/O/D/N=1    distance_from_source    = 400
257                                Make/O/D/N=1    distance_from_sample    = 1500
258                                Make/O/D/N=1    slits   = 2
259                                Make/O/D/N=1    angular_opening = 15
260                                Make/O/D/N=1    duty_cycle      = 0.25
261                                        // +?   
262                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:polarizer           
263                                Make/O/T/N=1    status  = "in"
264                                Make/O/T/N=1    type    = "supermirror"
265                                Make/O/T/N=1    composition     = "multilayer"
266                                Make/O/D/N=1    efficiency      = 0.95
267                                Make/O/T/N=1    status  = "in"
268                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:flipper             
269                                Make/O/T/N=1    status  = "on"
270                                Make/O/D/N=1    driving_current = 42
271                                Make/O/T/N=1    waveform        = "sine"
272                                Make/O/D/N=1    frequency       = 400
273                                Make/O/D/N=1    transmitted_power       = 0.99
274                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:polarizer_analyzer         
275                                Make/O/T/N=1    status  = "down"
276                                Make/O/D/N=1    guide_field_current_1   = 33
277                                Make/O/D/N=1    guide_field_current_2   = 32
278                                Make/O/D/N=1    solenoid_current        = 21
279                                Make/O/D/N=1    cell_index      = 1
280                                Make/O/T/N=(5)  cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
281                                Make/O/D/N=(5,2)        cell_parameters = 1
282                                       
283                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:attenuator         
284                                Make/O/D/N=1    nx_distance     = 1500
285                                Make/O/T/N=1    type    = "PMMA"
286                                Make/O/D/N=1    thickness       = 0
287                                Make/O/D/N=1    attenuator_transmission = 1
288                                Make/O/T/N=1    status  = "in"
289                                Make/O/T/N=1    atten_number    = "0101"
290                                Make/O/D/N=(10,10)      index   = 1
291                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:source_aperture             
292                                Make/O/T/N=1    material        = "Gd"
293                                Make/O/T/N=1    description     = "source aperture"
294                                Make/O/D/N=1    diameter        = 1.27
295                                Make/O/D/N=1    nx_distance     = 13.0
296                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:source_aperture:shape                       
297                                        Make/O/D/N=(1,2)        size    = 1.27
298                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_aperture             
299                                Make/O/T/N=1    material        = "Gd"
300                                Make/O/T/N=1    description     = "sample aperture"
301                                Make/O/D/N=1    diameter        = 1.27
302                                Make/O/D/N=1    nx_distance     = 10
303                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_aperture:shape                       
304                                        Make/O/D/N=(1,2)        size    = 1.27
305                        NewDataFolder/O/S  root:VSANS_file:entry1:instrument:collimator         
306                                NewDataFolder/O/S root:VSANS_file:entry1:instrument:collimator:geometry         
307                                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:collimator:geometry:shape           
308                                                Make/O/T/N=1    shape   = "box"
309                                                Make/O/D/N=1    size    = 11
310                                Make/O/I/N=1    nx_NumGuides    = 1
311                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:converging_pinholes         
312                                Make/O/T/N=1    status  = "in"
313                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:converging_slits           
314                                Make/O/T/N=1    status  = "in"
315                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:lenses             
316                                Make/O/T/N=1    status  = "in"
317                                Make/O/T/N=1    lens_geometry   = "concave_lens"
318                                Make/O/T/N=1    focus_type      = "point"
319                                Make/O/I/N=1    number_of_lenses        = 28
320                                Make/O/I/N=1    number_of_prisms        = 7
321                                Make/O/D/N=1    curvature       = 1
322                                Make/O/D/N=1    lens_distance   = 123
323                                Make/O/D/N=1    prism_distance  = 123
324                                Make/O/T/N=1    lens_material   = "MgF2"
325                                Make/O/T/N=1    prism_material  = "MgF2"
326                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_table               
327                                Make/O/T/N=1    location        = "chamber"
328                                Make/O/D/N=1    offset_distance = 0
329                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_stop           
330                                Make/O/T/N=1    status  = "out"
331                                Make/O/T/N=1    description     = "circular"
332                                Make/O/D/N=1    nx_distance     = 12.5
333                                Make/O/D/N=1    size    = 7.62
334                                Make/O/D/N=1    xPos    = 66.4
335                                Make/O/D/N=1    yPos    = 64.4
336                                Make/O/D/N=1    x_motor_position        = 0.15
337                                Make/O/D/N=1    y_motor_position        = 0.55
338                                       
339                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_B         
340                                Make/O/I/N=(150,150)    data    = trunc(abs(gnoise(p+q)))
341                                //Make/O/D/N=(150,150)  //data_error    = 0.01*abs(gnoise(p+q))
342                                Make/O/D/N=1    nx_distance     = 21.1
343                                Make/O/T/N=1    description     = "fancy model"
344                                Make/O/T/N=1    settings        = "just right"
345                                Make/O/D/N=1    dead_time       = 5e-6
346                                Make/O/D/N=1    x_pixel_size    = 5.08
347                                Make/O/D/N=1    y_pixel_size    = 5.08
348                                Make/O/D/N=1    beam_center_x   = 165.55
349                                Make/O/D/N=1    beam_center_y   = 162.33
350                                Make/O/T/N=1    type    = "??"
351                                //Make/O/D/N=1  //flatfield_applied     = 0
352                                //Make/O/D/N=1  //countrate_correction_applied  = 0
353                                Make/O/D/N=(150,150)    pixel_mask      = 0
354                                Make/O/I/N=1    integrated_count        = 100111222
355                                Make/O/D/N=1    lateral_offset  = 20
356                                Make/O/I/N=1    PixelNumX       = 150
357                                Make/O/I/N=1    PixelNumY       = 150
358                                Make/O/D/N=1    PixelFWHM       = 0.5
359                                Make/O/D/N=3    CALX    = {0.5,0.5,10000}
360                                Make/O/D/N=3    CALY    = {0.5,0.5,10000}
361                                Make/O/D/N=1    size    = 65
362                                Make/O/T/N=1    event_file_name ="something.hst"
363                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MR                 
364                                Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
365                                //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q))
366                                Make/O/D/N=1    nx_distance     = 13.1
367                                Make/O/T/N=1    description     = "fancy model"
368                                Make/O/T/N=1    settings        = "just right"
369                                Make/O/D/N=1    dead_time       = 5e-6
370                                Make/O/D/N=1    x_pixel_size    = 5.08
371                                Make/O/D/N=1    y_pixel_size    = 5.08
372                                Make/O/D/N=1    beam_center_x   = 65.55
373                                Make/O/D/N=1    beam_center_y   = 62.33
374                                Make/O/T/N=1    type    = "??"
375                                //Make/O/D/N=1  //flatfield_applied     = 0
376                                //Make/O/D/N=1  //countrate_correction_applied  = 0
377                                Make/O/D/N=(48,256)     pixel_mask      = 0
378                                Make/O/I/N=1    integrated_count        = 100111222
379                                Make/O/D/N=1    lateral_offset  = 20
380                                Make/O/D/N=1    separation      = 150
381                                Make/O/I/N=1    PixelNumX       = 48
382                                Make/O/I/N=1    PixelNumY       = 256
383                                Make/O/D/N=1    PixelFWHM       = 0.5
384                                Make/O/D/N=1    size    = 65
385                                Make/O/T/N=1    event_file_name ="something.hst"
386                                Make/O/T/N=1    tube_orientation        = "vertical"
387                                Make/O/I/N=1    number_of_tubes = 48
388                                Make/O/I/N=(tubes)      tube_index      = p
389                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
390                                Make/O/D/N=1    tube_width      = 8
391                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_ML                 
392                                Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
393                                //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q))
394                                Make/O/D/N=1    nx_distance     = 13.1
395                                Make/O/T/N=1    description     = "fancy model"
396                                Make/O/T/N=1    settings        = "just right"
397                                Make/O/D/N=1    dead_time       = 5e-6
398                                Make/O/D/N=1    x_pixel_size    = 5.08
399                                Make/O/D/N=1    y_pixel_size    = 5.08
400                                Make/O/D/N=1    beam_center_x   = 65.55
401                                Make/O/D/N=1    beam_center_y   = 62.33
402                                Make/O/T/N=1    type    = "??"
403                                //Make/O/D/N=1  //flatfield_applied     = 0
404                                //Make/O/D/N=1  //countrate_correction_applied  = 0
405                                Make/O/D/N=(48,256)     pixel_mask      = 0
406                                Make/O/I/N=1    integrated_count        = 100111222
407                                Make/O/D/N=1    lateral_offset  = 20
408                                Make/O/D/N=1    separation      = 150
409                                Make/O/I/N=1    PixelNumX       = 48
410                                Make/O/I/N=1    PixelNumY       = 256
411                                Make/O/D/N=1    PixelFWHM       = 0.5
412                                Make/O/D/N=1    size    = 65
413                                Make/O/T/N=1    event_file_name ="something.hst"
414                                Make/O/T/N=1    tube_orientation        = "vertical"
415                                Make/O/I/N=1    number_of_tubes = 48
416                                Make/O/I/N=(tubes)      tube_index      = p
417                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
418                                Make/O/D/N=1    tube_width      = 8
419                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MT         
420                                Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
421                                //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q))
422                                Make/O/D/N=1    nx_distance     = 13.4
423                                Make/O/T/N=1    description     = "fancy model"
424                                Make/O/T/N=1    settings        = "just right"
425                                Make/O/D/N=1    dead_time       = 5e-6
426                                Make/O/D/N=1    x_pixel_size    = 5.08
427                                Make/O/D/N=1    y_pixel_size    = 5.08
428                                Make/O/D/N=1    beam_center_x   = 65.55
429                                Make/O/D/N=1    beam_center_y   = 62.33
430                                Make/O/T/N=1    type    = "??"
431                                //Make/O/D/N=1  //flatfield_applied     = 0
432                                //Make/O/D/N=1  //countrate_correction_applied  = 0
433                                Make/O/D/N=(128,48)     pixel_mask      = 0
434                                Make/O/I/N=1    integrated_count        = 100111222
435                                Make/O/D/N=1    lateral_offset  = 20
436                                Make/O/D/N=1    sdd_offset      = 30
437                                Make/O/D/N=1    separation      = 150
438                                Make/O/I/N=1    PixelNumX       = 128
439                                Make/O/I/N=1    PixelNumY       = 48
440                                Make/O/D/N=1    PixelFWHM       = 0.5
441                                Make/O/D/N=1    size    = 65
442                                Make/O/T/N=1    event_file_name ="something.hst"
443                                Make/O/T/N=1    tube_orientation        = "horizontal"
444                                Make/O/I/N=1    number_of_tubes = 48
445                                Make/O/I/N=(tubes)      tube_index      = p
446                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
447                                Make/O/D/N=1    tube_width      = 8
448                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MB         
449                                Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
450                                //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q))
451                                Make/O/D/N=1    nx_distance     = 13.4
452                                Make/O/T/N=1    description     = "fancy model"
453                                Make/O/T/N=1    settings        = "just right"
454                                Make/O/D/N=1    dead_time       = 5e-6
455                                Make/O/D/N=1    x_pixel_size    = 5.08
456                                Make/O/D/N=1    y_pixel_size    = 5.08
457                                Make/O/D/N=1    beam_center_x   = 65.55
458                                Make/O/D/N=1    beam_center_y   = 62.33
459                                Make/O/T/N=1    type    = "??"
460                                //Make/O/D/N=1  //flatfield_applied     = 0
461                                //Make/O/D/N=1  //countrate_correction_applied  = 0
462                                Make/O/D/N=(128,48)     pixel_mask      = 0
463                                Make/O/I/N=1    integrated_count        = 100111222
464                                Make/O/D/N=1    lateral_offset  = 20
465                                Make/O/D/N=1    sdd_offset      = 30
466                                Make/O/D/N=1    separation      = 150
467                                Make/O/I/N=1    PixelNumX       = 128
468                                Make/O/I/N=1    PixelNumY       = 48
469                                Make/O/D/N=1    PixelFWHM       = 0.5
470                                Make/O/D/N=1    size    = 65
471                                Make/O/T/N=1    event_file_name ="something.hst"
472                                Make/O/T/N=1    tube_orientation        = "horizontal"
473                                Make/O/I/N=1    number_of_tubes = 48
474                                Make/O/I/N=(tubes)      tube_index      = p
475                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
476                                Make/O/D/N=1    tube_width      = 8
477                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FR                 
478                                Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
479                                //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q))
480                                Make/O/D/N=1    nx_distance     = 2.1
481                                Make/O/T/N=1    description     = "fancy model"
482                                Make/O/T/N=1    settings        = "just right"
483                                Make/O/D/N=1    dead_time       = 5e-6
484                                Make/O/D/N=1    x_pixel_size    = 5.08
485                                Make/O/D/N=1    y_pixel_size    = 5.08
486                                Make/O/D/N=1    beam_center_x   = 65.55
487                                Make/O/D/N=1    beam_center_y   = 62.33
488                                Make/O/T/N=1    type    = "??"
489                                //Make/O/D/N=1  //flatfield_applied     = 0
490                                //Make/O/D/N=1  //countrate_correction_applied  = 0
491                                Make/O/D/N=(48,256)     pixel_mask      = 0
492                                Make/O/I/N=1    integrated_count        = 100111222
493                                Make/O/D/N=1    lateral_offset  = 20
494                                Make/O/D/N=1    separation      = 150
495                                Make/O/I/N=1    PixelNumX       = 48
496                                Make/O/I/N=1    PixelNumY       = 256
497                                Make/O/D/N=1    PixelFWHM       = 0.5
498                                Make/O/D/N=1    size    = 65
499                                Make/O/T/N=1    event_file_name ="something.hst"
500                                Make/O/T/N=1    tube_orientation        = "vertical"
501                                Make/O/I/N=1    number_of_tubes = 48
502                                Make/O/I/N=(tubes)      tube_index      = p
503                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
504                                Make/O/D/N=1    tube_width      = 8
505                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FL                 
506                                Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
507                                //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q))
508                                Make/O/D/N=1    nx_distance     = 2.1
509                                Make/O/T/N=1    description     = "fancy model"
510                                Make/O/T/N=1    settings        = "just right"
511                                Make/O/D/N=1    dead_time       = 5e-6
512                                Make/O/D/N=1    x_pixel_size    = 5.08
513                                Make/O/D/N=1    y_pixel_size    = 5.08
514                                Make/O/D/N=1    beam_center_x   = 65.55
515                                Make/O/D/N=1    beam_center_y   = 62.33
516                                Make/O/T/N=1    type    = "??"
517                                //Make/O/D/N=1  //flatfield_applied     = 0
518                                //Make/O/D/N=1  //countrate_correction_applied  = 0
519                                Make/O/D/N=(48,256)     pixel_mask      = 0
520                                Make/O/I/N=1    integrated_count        = 100111222
521                                Make/O/D/N=1    lateral_offset  = 20
522                                Make/O/D/N=1    separation      = 150
523                                Make/O/I/N=1    PixelNumX       = 48
524                                Make/O/I/N=1    PixelNumY       = 256
525                                Make/O/D/N=1    PixelFWHM       = 0.5
526                                Make/O/D/N=1    size    = 65
527                                Make/O/T/N=1    event_file_name ="something.hst"
528                                Make/O/T/N=1    tube_orientation        = "vertical"
529                                Make/O/I/N=1    number_of_tubes = 48
530                                Make/O/I/N=(tubes)      tube_index      = p
531                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
532                                Make/O/D/N=1    tube_width      = 8
533                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FT         
534                                Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
535                                //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q))
536                                Make/O/D/N=1    nx_distance     = 2.1
537                                Make/O/T/N=1    description     = "fancy model"
538                                Make/O/T/N=1    settings        = "just right"
539                                Make/O/D/N=1    dead_time       = 5e-6
540                                Make/O/D/N=1    x_pixel_size    = 5.08
541                                Make/O/D/N=1    y_pixel_size    = 5.08
542                                Make/O/D/N=1    beam_center_x   = 65.55
543                                Make/O/D/N=1    beam_center_y   = 62.33
544                                Make/O/T/N=1    type    = "??"
545                                //Make/O/D/N=1  //flatfield_applied     = 0
546                                //Make/O/D/N=1  //countrate_correction_applied  = 0
547                                Make/O/D/N=(128,48)     pixel_mask      = 0
548                                Make/O/I/N=1    integrated_count        = 100111222
549                                Make/O/D/N=1    lateral_offset  = 20
550                                Make/O/D/N=1    sdd_offset      = 30
551                                Make/O/D/N=1    separation      = 150
552                                Make/O/I/N=1    PixelNumX       = 128
553                                Make/O/I/N=1    PixelNumY       = 48
554                                Make/O/D/N=1    PixelFWHM       = 0.5
555                                Make/O/D/N=1    size    = 65
556                                Make/O/T/N=1    event_file_name ="something.hst"
557                                Make/O/T/N=1    tube_orientation        = "horizontal"
558                                Make/O/I/N=1    number_of_tubes = 48
559                                Make/O/I/N=(tubes)      tube_index      = p
560                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
561                                Make/O/D/N=1    tube_width      = 8
562                        NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FB         
563                                Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
564                                //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q))
565                                Make/O/D/N=1    nx_distance     = 2.1
566                                Make/O/T/N=1    description     = "fancy model"
567                                Make/O/T/N=1    settings        = "just right"
568                                Make/O/D/N=1    dead_time       = 5e-6
569                                Make/O/D/N=1    x_pixel_size    = 5.08
570                                Make/O/D/N=1    y_pixel_size    = 5.08
571                                Make/O/D/N=1    beam_center_x   = 65.55
572                                Make/O/D/N=1    beam_center_y   = 62.33
573                                Make/O/T/N=1    type    = "??"
574                                //Make/O/D/N=1  //flatfield_applied     = 0
575                                //Make/O/D/N=1  //countrate_correction_applied  = 0
576                                Make/O/D/N=(128,48)     pixel_mask      = 0
577                                Make/O/I/N=1    integrated_count        = 100111222
578                                Make/O/D/N=1    lateral_offset  = 20
579                                Make/O/D/N=1    sdd_offset      = 30
580                                Make/O/D/N=1    separation      = 150
581                                Make/O/I/N=1    PixelNumX       = 128
582                                Make/O/I/N=1    PixelNumY       = 48
583                                Make/O/D/N=1    PixelFWHM       = 0.5
584                                Make/O/D/N=1    size    = 65
585                                Make/O/T/N=1    event_file_name ="something.hst"
586                                Make/O/T/N=1    tube_orientation        = "horizontal"
587                                Make/O/I/N=1    number_of_tubes = 48
588                                Make/O/I/N=(tubes)      tube_index      = p
589                                Make/O/D/N=(2,tubes)    spatial_calibration     = 1
590                                Make/O/D/N=1    tube_width      = 8
591                                       
592                                       
593                NewDataFolder/O/S root:VSANS_file:entry1:data_B         
594                        Make/O/I/N=(150,150)    data    = trunc(abs(gnoise(p+q)))
595                        //Make/O/D/N=(150,150)  //error = 0.01*abs(gnoise(p+q))
596                        Make/O/D/N=2    variables       = {150,150}
597                        Make/O/I/N=(150,150)    data_image      = p
598                NewDataFolder/O/S root:VSANS_file:entry1:data_MR               
599                        Make/O/i/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
600                        //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q))
601                        Make/O/D/N=2    variables       = {48,256}
602                        Make/O/I/N=(48,256)     data_image      = p
603                NewDataFolder/O/S root:VSANS_file:entry1:data_ML               
604                        Make/O/i/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
605                        //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q))
606                        Make/O/D/N=2    variables       = {48,256}
607                        Make/O/I/N=(48,256)     data_image      = p
608                NewDataFolder/O/S root:VSANS_file:entry1:data_MT               
609                        Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
610                        //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q))
611                        Make/O/D/N=2    variables       = {128,48}
612                        Make/O/I/N=(128,48)     data_image      = p
613                NewDataFolder/O/S root:VSANS_file:entry1:data_MB               
614                        Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
615                        //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q))
616                        Make/O/D/N=2    variables       = {128,48}
617                        Make/O/I/N=(128,48)     data_image      = p
618                NewDataFolder/O/S root:VSANS_file:entry1:data_FR               
619                        Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
620                        //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q))
621                        Make/O/D/N=2    variables       = {48,256}
622                        Make/O/I/N=(48,256)     data_image      = p
623                NewDataFolder/O/S root:VSANS_file:entry1:data_FL               
624                        Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q)))
625                        //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q))
626                        Make/O/D/N=2    variables       = {48,256}
627                        Make/O/I/N=(48,256)     data_image      = p
628                NewDataFolder/O/S root:VSANS_file:entry1:data_FT               
629                        Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
630                        //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q))
631                        Make/O/D/N=2    variables       = {128,48}
632                        Make/O/I/N=(128,48)     data_image      = p
633                NewDataFolder/O/S root:VSANS_file:entry1:data_FB               
634                        Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q)))
635                        //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q))
636                        Make/O/D/N=2    variables       = {128,48}
637                        Make/O/I/N=(128,48)     data_image      = p
638                               
639                NewDataFolder/O/S root:VSANS_file:entry1:reduction             
640                        Make/O/T/N=1    intent  = "SCATTER"
641                        Make/O/T/N=1    transmission_file_name  = "SANSFile_TRN.h5"
642                        Make/O/T/N=1    empty_beam_file_name    = "SANSFile_EB.h5"
643                        Make/O/T/N=1    background_file_name    = "SANSFile_BKG.h5"
644                        Make/O/T/N=1    empty_file_name = "SANSFile_EMP.h5"
645                        Make/O/T/N=1    sensitivity_file_name   = "SANSFile_DIV.h5"
646                        Make/O/T/N=1    mask_file_name  = "SANSFile_MASK.h5"
647                        Make/O/T/N=1    sans_log_file_name      = "SANSFile_log.txt"
648                        Make/O/D/N=1    whole_trans     = 0.888
649                        Make/O/D/N=1    whole_trans_error       = 0.008
650                        Make/O/D/N=1    box_count       = 23232
651                        Make/O/D/N=1    box_count_error = 22
652                        Make/O/I/N=4    box_coordinates = {50,80,45,75}
653                        Make/O/T/N=1    comments        = "extra data comments"
654                        Make/O/D/N=4    absolute_scaling        = {1,1,1e5,1}
655                        NewDataFolder/O/S root:VSANS_file:entry1:reduction:pol_sans                     
656                                Make/O/T/N=1    pol_sans_purpose        = "name from the list"
657                                Make/O/T/N=1    cell_name       = "Burgundy"
658                                Make/O/D/N=(5)  cell_parameters = {1,2,3,4,5}
659                                               
660        NewDataFolder/O/S root:VSANS_file:DAS_Logs             
661                        //...multiple entries and levels... to add     
662                        //this will be enormous
663
664
665
666
667        SetDataFolder root:
668       
669End
670
671// writes in the attributes
672Proc H_Fill_VSANS_Attributes()
673
674        Abort "Don't use this function - H_Fill_VSANS_Attributes"
675
676
677SetDataFolder  root:VSANS_file         
678        Make/O/N=0 Igor___folder_attributes     
679        Note/K Igor___folder_attributes, "producer=IgorPro\rNX_class=NXroot"
680        //      file_name               
681        //      file_time               
682        //      facility               
683        //      NeXus_version           
684        //      hdf_version             
685        //      file_history           
686        SetDataFolder root:VSANS_file:entry1           
687                Make/O/N=0 Igor___folder_attributes     
688                Note/K Igor___folder_attributes, "NX_class=NXentry"
689                //      title           
690                //      experiment_identifier           
691                //      experiment_description         
692                //      entry_identifier               
693                //      definition             
694                //      start_time             
695                //      end_time               
696                //      duration               
697                Note/K duration, "units=s"
698                //      collection_time         
699                Note/K collection_time, "units=s"
700                //      run_cycle               
701                //      data_directory         
702                //      program_name           
703                SetDataFolder root:VSANS_file:entry1:user               
704                        Make/O/N=0 Igor___folder_attributes     
705                        Note/K Igor___folder_attributes, "NX_class=NXuser"
706                        //      name           
707                        //      role           
708                        //      affiliation             
709                        //      address         
710                        //      telephoneNumber         
711                        //      faxNumber               
712                        //      email           
713                        //      facility_user_id               
714                SetDataFolder root:VSANS_file:entry1:control           
715                        Make/O/N=0 Igor___folder_attributes     
716                        Note/K Igor___folder_attributes, "NX_class=NXmonitor"
717                        //      mode           
718                        //      preset         
719                        //      integral               
720                        //      monitor_counts         
721                        //      monitor_preset         
722                        ////    type           
723                        ////    efficiency             
724                        ////    sampled_fraction               
725                        //      detector_counts         
726                        //      detector_preset         
727                        //      count_start             
728                        Note/K count_start, "units=s"
729                        //      count_end               
730                        Note/K count_end, "units=s"
731                        //      count_time             
732                        Note/K count_time, "units=s"
733                        //      count_time_preset               
734                        Note/K count_time_preset, "units=s"
735                //SetDataFolder root:VSANS_file:entry1:program_name     //program_data         
736                        ////    //data         
737                        ////    //description           
738                        ////    //file_name             
739                        ////    //type         
740                SetDataFolder root:VSANS_file:entry1:sample             
741                        Make/O/N=0 Igor___folder_attributes     
742                        Note/K Igor___folder_attributes, "NX_class=NXsample"
743                        //      description             
744                        //      group_id               
745                        ////    //chemical_formula             
746                        SetDataFolder root:VSANS_file:entry1:sample:temperature_1               
747                                Make/O/N=0 Igor___folder_attributes     
748                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
749                                //      name           
750                                //      attached_to             
751                                //      measurement             
752                                SetDataFolder root:VSANS_file:entry1:sample:temperature_1:value_log             
753                                        Make/O/N=0 Igor___folder_attributes     
754                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
755                                        //      start           
756                                        //      nx_time         
757                                        Note/K nx_time, "units=s"
758                                        //      value           
759                                        Note/K value, "units=C"
760                        SetDataFolder root:VSANS_file:entry1:sample:temperature_2               
761                                Make/O/N=0 Igor___folder_attributes     
762                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
763                                //      name           
764                                //      attached_to             
765                                //      measurement             
766                                SetDataFolder root:VSANS_file:entry1:sample:temperature_2:value_log             
767                                        Make/O/N=0 Igor___folder_attributes     
768                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
769                                        //      start           
770                                        //      nx_time         
771                                        Note/K nx_time, "units=s"
772                                        //      value           
773                                        Note/K value, "units=C"
774                        SetDataFolder root:VSANS_file:entry1:sample:electric_field             
775                                Make/O/N=0 Igor___folder_attributes     
776                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
777                                //      name           
778                                //      attached_to             
779                                //      measurement             
780                                SetDataFolder root:VSANS_file:entry1:sample:electric_field:value_log           
781                                        Make/O/N=0 Igor___folder_attributes     
782                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
783                                        //      start           
784                                        //      nx_time         
785                                        Note/K nx_time, "units=s"
786                                        //      value           
787                                        Note/K value, "units=V"
788                        SetDataFolder root:VSANS_file:entry1:sample:shear_field         
789                                Make/O/N=0 Igor___folder_attributes     
790                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
791                                //      name           
792                                //      attached_to             
793                                //      measurement             
794                                SetDataFolder root:VSANS_file:entry1:sample:shear_field:value_log               
795                                        Make/O/N=0 Igor___folder_attributes     
796                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
797                                        //      start           
798                                        //      nx_time         
799                                        Note/K nx_time, "units=s"
800                                        //      value           
801                                        Note/K value, "units=Pa s"
802                        SetDataFolder root:VSANS_file:entry1:sample:pressure           
803                                Make/O/N=0 Igor___folder_attributes     
804                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
805                                //      name           
806                                //      attached_to             
807                                //      measurement             
808                                SetDataFolder root:VSANS_file:entry1:sample:pressure:value_log         
809                                        Make/O/N=0 Igor___folder_attributes     
810                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
811                                        //      start           
812                                        //      nx_time         
813                                        Note/K nx_time, "units=s"
814                                        //      value           
815                                        Note/K value, "units=psi"
816                        SetDataFolder root:VSANS_file:entry1:sample:magnetic_field             
817                                Make/O/N=0 Igor___folder_attributes     
818                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
819                                //      name           
820                                //      attached_to             
821                                //      measurement             
822                                SetDataFolder root:VSANS_file:entry1:sample:magnetic_field:value_log           
823                                        Make/O/N=0 Igor___folder_attributes     
824                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
825                                        //      start           
826                                        //      nx_time         
827                                        Note/K nx_time, "units=s"
828                                        //      value           
829                                        Note/K value, "units=T"
830                        SetDataFolder root:VSANS_file:entry1:sample                     
831                        //      changer_position               
832                        //      sample_holder_description               
833                        ////    //mass         
834                        //Note/K mass, "units=g"
835                        ////    //density               
836                        //Note/K density, "units=g ml-1"
837                        ////    //molecular_weight             
838                        //Note/K molecular_weight, "units=g mol-1"
839                        ////    //description           
840                        ////    //preparation_date             
841                        ////    //volume_fraction               
842                        ////    //scattering_length_density             
843                        //Note/K scattering_length_density, "units=A-2"
844                        //      thickness               
845                                Note/K thickness, "units=cm"
846                        //      rotation_angle         
847                                Note/K rotation_angle, "units=degrees"
848                        //      transmission           
849                        //      transmission_error             
850                        ////    //xs_incoh             
851                        //Note/K xs_incoh, "units=cm-1"
852                        ////    //xs_coh               
853                        //Note/K xs_coh, "units=cm-1"
854                        ////    //xs_absorb             
855                        //Note/K xs_absorb, "units=cm-1"
856                SetDataFolder root:VSANS_file:entry1:instrument         
857                        Make/O/N=0 Igor___folder_attributes     
858                        Note/K Igor___folder_attributes, "NX_class=NXinstrument"
859                        ////    //location             
860                        //      name           
861                        //      type           
862                        //      local_contact           
863                        SetDataFolder root:VSANS_file:entry1:instrument:source         
864                                Make/O/N=0 Igor___folder_attributes     
865                                Note/K Igor___folder_attributes, "NX_class=NXsource"
866                                //      name           
867                                //      type           
868                                //      probe           
869                                //      power           
870                                Note/K power, "units=MW"
871                                               
872                        SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_norm               
873                                Make/O/N=0 Igor___folder_attributes     
874                                Note/K Igor___folder_attributes, "NX_class=NXmonitor"
875                                //      data           
876                                //      type           
877                                //      efficiency             
878                                //      nx_distance             
879                                Note/K nx_distance, "units=m"
880                                //      saved_count             
881                        SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_low               
882                                Make/O/N=0 Igor___folder_attributes     
883                                Note/K Igor___folder_attributes, "NX_class=NXmonitor"
884                                //      data           
885                                //      type           
886                                //      efficiency             
887                                //      nx_distance             
888                                Note/K nx_distance, "units=m"
889                                //      saved_count             
890                                               
891                        SetDataFolder root:VSANS_file:entry1:instrument:monochromator           
892                                Make/O/N=0 Igor___folder_attributes     
893                                Note/K Igor___folder_attributes, "NX_class=NXmonochromator"
894                                //      wavelength             
895                                Note/K wavelength, "units=A"
896                                //      wavelength_spread               
897                                //      type           
898                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:velocity_selector         
899                                        Make/O/N=0 Igor___folder_attributes     
900                                        Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector"
901                                        //      status         
902                                        //      rotation_speed         
903                                        Note/K rotation_speed, "units=RPM"
904                                        //      wavelength             
905                                        Note/K wavelength, "units=A"
906                                        //      wavelength_spread               
907                                        //      vs_tilt         
908                                        Note/K vs_tilt, "units=degrees"
909                                        //      nx_distance             
910                                        Note/K nx_distance, "units=m"
911                                                // table (wave)         
912                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:crystal           
913                                        Make/O/N=0 Igor___folder_attributes     
914                                        Note/K Igor___folder_attributes, "NX_class=NXcrystal"
915                                        //      status         
916                                        //      nx_distance             
917                                        Note/K nx_distance, "units=m"
918                                        //      wavelength             
919                                        Note/K wavelength, "units=A"
920                                        //      wavelength_spread               
921                                        //      rotation               
922                                        Note/K rotation, "units=degrees"
923                                        //      energy         
924                                        Note/K energy, "units=mV"
925                                        //      wavevector             
926                                        Note/K wavevector, "units=A-1"
927                                        //      lattice_parameter               
928                                        //      reflection             
929                                        //      horizontal_curvature           
930                                        //      vertical_curvature             
931                                        //      horizontal_aperture             
932                                        //      vertical_aperture               
933                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:white_beam                       
934                                        //      status         
935                                        //      wavelength             
936                                        Note/K wavelength, "units=A"
937                                        //      wavelength_spread               
938                                                // description_of_distribution         
939                        SetDataFolder root:VSANS_file:entry1:instrument:chopper         
940                                Make/O/N=0 Igor___folder_attributes     
941                                Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper"
942                                //      status         
943                                //      type           
944                                //      rotation_speed         
945                                Note/K rotation_speed, "units=RPM"
946                                //      distance_from_source           
947                                Note/K distance_from_source, "units=m"
948                                //      distance_from_sample           
949                                Note/K distance_from_sample, "units=m"
950                                //      slits           
951                                //      angular_opening         
952                                Note/K angular_opening, "units=degrees"
953                                //      duty_cycle             
954                                        // +?           
955                        SetDataFolder root:VSANS_file:entry1:instrument:polarizer                       
956                                //      status         
957                                //      type           
958                                //      composition             
959                                //      efficiency             
960                                //      status         
961                        SetDataFolder root:VSANS_file:entry1:instrument:flipper                 
962                                //      status         
963                                //      driving_current         
964                                Note/K driving_current, "units=A"
965                                //      waveform               
966                                //      frequency               
967                                Note/K frequency, "units=Hz"
968                                //      transmitted_power               
969                        SetDataFolder root:VSANS_file:entry1:instrument:polarizer_analyzer                     
970                                //      status         
971                                //      guide_field_current_1           
972                                Note/K guide_field_current_1, "units=A"
973                                //      guide_field_current_2           
974                                Note/K guide_field_current_2, "units=A"
975                                //      solenoid_current               
976                                Note/K solenoid_current, "units=A"
977                                //      cell_index             
978                                //      cell_names             
979                                //      cell_parameters         
980                                               
981                        SetDataFolder root:VSANS_file:entry1:instrument:attenuator             
982                                Make/O/N=0 Igor___folder_attributes     
983                                Note/K Igor___folder_attributes, "NX_class=NXattenuator"
984                                //      nx_distance             
985                                Note/K nx_distance, "units=m"
986                                //      type           
987                                //      thickness               
988                                Note/K thickness, "units=cm"
989                                //      attenuator_transmission         
990                                //      status         
991                                //      atten_number           
992                                //      index           
993                        SetDataFolder root:VSANS_file:entry1:instrument:source_aperture         
994                                Make/O/N=0 Igor___folder_attributes     
995                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
996                                //      material               
997                                //      description             
998                                //      diameter               
999                                Note/K diameter, "units=cm"
1000                                //      nx_distance             
1001                                Note/K nx_distance, "units=m"
1002                                SetDataFolder root:VSANS_file:entry1:instrument:source_aperture:shape                   
1003                                        Make/O/N=0 Igor___folder_attributes     
1004                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
1005                                        //      size           
1006                                        Note/K size, "units=cm"
1007                        SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture         
1008                                Make/O/N=0 Igor___folder_attributes     
1009                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
1010                                //      material               
1011                                //      description             
1012                                //      diameter               
1013                                Note/K diameter, "units=cm"
1014                                //      nx_distance             
1015                                Note/K nx_distance, "units=m"
1016                                SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture:shape                   
1017                                        Make/O/N=0 Igor___folder_attributes     
1018                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
1019                                        //      size           
1020                                        Note/K size, "units=cm"
1021                        SetDataFolder root:VSANS_file:entry1:instrument:collimator                     
1022                                SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry                     
1023                                        SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry:shape                       
1024                                                //      shape           
1025                                                //      size           
1026                                                Note/K size, "units=m"
1027                                //      nx_NumGuides           
1028                        SetDataFolder root:VSANS_file:entry1:instrument:converging_pinholes                     
1029                                //      status         
1030                        SetDataFolder root:VSANS_file:entry1:instrument:converging_slits                       
1031                                //      status         
1032                        SetDataFolder root:VSANS_file:entry1:instrument:lenses         
1033                                Make/O/N=0 Igor___folder_attributes     
1034                                Note/K Igor___folder_attributes, "NX_class=NXxraylens"
1035                                //      status         
1036                                //      lens_geometry           
1037                                //      focus_type             
1038                                //      number_of_lenses               
1039                                //      number_of_prisms               
1040                                //      curvature               
1041                                //      lens_distance           
1042                                Note/K lens_distance, "units=m"
1043                                //      prism_distance         
1044                                Note/K prism_distance, "units=m"
1045                                //      lens_material           
1046                                //      prism_material         
1047                        SetDataFolder root:VSANS_file:entry1:instrument:sample_table                   
1048                                //      location               
1049                                //      offset_distance         
1050                                Note/K offset_distance, "units=m"
1051                        SetDataFolder root:VSANS_file:entry1:instrument:beam_stop               
1052                                Make/O/N=0 Igor___folder_attributes     
1053                                Note/K Igor___folder_attributes, "NX_class=NXbeam_stop"
1054                                //      status         
1055                                //      description             
1056                                //      nx_distance             
1057                                Note/K nx_distance, "units=m"
1058                                //      size           
1059                                Note/K size, "units=cm"
1060                                //      xPos           
1061                                //      yPos           
1062                                //      x_motor_position               
1063                                Note/K x_motor_position, "units=cm"
1064                                //      y_motor_position               
1065                                Note/K y_motor_position, "units=cm"
1066                                               
1067                        SetDataFolder root:VSANS_file:entry1:instrument:detector_B             
1068                                Make/O/N=0 Igor___folder_attributes     
1069                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1070                                //      data           
1071                                ////    //data_error           
1072                                //      nx_distance             
1073                                Note/K nx_distance, "units=m"
1074                                //      description             
1075                                //      settings               
1076                                //      dead_time               
1077                                Note/K dead_time, "units=s"
1078                                //      x_pixel_size           
1079                                Note/K x_pixel_size, "units=cm"
1080                                //      y_pixel_size           
1081                                Note/K y_pixel_size, "units=cm"
1082                                //      beam_center_x           
1083                                //      beam_center_y           
1084                                //      type           
1085                                ////    //flatfield_applied             
1086                                ////    //countrate_correction_applied         
1087                                //      pixel_mask             
1088                                //      integrated_count               
1089                                //      lateral_offset         
1090                                Note/K lateral_offset, "units=cm"
1091                                //      PixelNumX               
1092                                //      PixelNumY               
1093                                //      PixelFWHM               
1094                                //      CALX           
1095                                //      CALY           
1096                                //      size           
1097                                Note/K size, "units=cm"
1098                                //      event_file_name         
1099                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MR                     
1100                                Make/O/N=0 Igor___folder_attributes     
1101                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1102                                //      data           
1103                                ////    //data_error           
1104                                //      nx_distance             
1105                                Note/K nx_distance, "units=m"
1106                                //      description             
1107                                //      settings               
1108                                //      dead_time               
1109                                Note/K dead_time, "units=s"
1110                                //      x_pixel_size           
1111                                Note/K x_pixel_size, "units=cm"
1112                                //      y_pixel_size           
1113                                Note/K y_pixel_size, "units=cm"
1114                                //      beam_center_x           
1115                                //      beam_center_y           
1116                                //      type           
1117                                ////    //flatfield_applied             
1118                                ////    //countrate_correction_applied         
1119                                //      pixel_mask             
1120                                //      integrated_count               
1121                                //      lateral_offset         
1122                                Note/K lateral_offset, "units=cm"
1123                                //      separation             
1124                                Note/K separation, "units=cm"
1125                                //      PixelNumX               
1126                                //      PixelNumY               
1127                                //      PixelFWHM               
1128                                //      size           
1129                                Note/K size, "units=cm"
1130                                //      event_file_name         
1131                                //      tube_orientation               
1132                                //      number_of_tubes         
1133                                //      tube_index             
1134                                //      spatial_calibration             
1135                                //      tube_width             
1136                                Note/K tube_width, "units=cm"
1137                        SetDataFolder root:VSANS_file:entry1:instrument:detector_ML             
1138                                Make/O/N=0 Igor___folder_attributes     
1139                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1140                                //      data           
1141                                ////    //data_error           
1142                                //      nx_distance             
1143                                Note/K nx_distance, "units=m"
1144                                //      description             
1145                                //      settings               
1146                                //      dead_time               
1147                                Note/K dead_time, "units=s"
1148                                //      x_pixel_size           
1149                                Note/K x_pixel_size, "units=cm"
1150                                //      y_pixel_size           
1151                                Note/K y_pixel_size, "units=cm"
1152                                //      beam_center_x           
1153                                //      beam_center_y           
1154                                //      type           
1155                                ////    //flatfield_applied             
1156                                ////    //countrate_correction_applied         
1157                                //      pixel_mask             
1158                                //      integrated_count               
1159                                //      lateral_offset         
1160                                Note/K lateral_offset, "units=cm"
1161                                //      separation             
1162                                Note/K separation, "units=cm"
1163                                //      PixelNumX               
1164                                //      PixelNumY               
1165                                //      PixelFWHM               
1166                                //      size           
1167                                Note/K size, "units=cm"
1168                                //      event_file_name         
1169                                //      tube_orientation               
1170                                //      number_of_tubes         
1171                                //      tube_index             
1172                                //      spatial_calibration             
1173                                //      tube_width             
1174                                Note/K tube_width, "units=cm"
1175                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MT             
1176                                Make/O/N=0 Igor___folder_attributes     
1177                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1178                                //      data           
1179                                ////    //data_error           
1180                                //      nx_distance             
1181                                Note/K nx_distance, "units=m"
1182                                //      description             
1183                                //      settings               
1184                                //      dead_time               
1185                                Note/K dead_time, "units=s"
1186                                //      x_pixel_size           
1187                                Note/K x_pixel_size, "units=cm"
1188                                //      y_pixel_size           
1189                                Note/K y_pixel_size, "units=cm"
1190                                //      beam_center_x           
1191                                //      beam_center_y           
1192                                //      type           
1193                                ////    //flatfield_applied             
1194                                ////    //countrate_correction_applied         
1195                                //      pixel_mask             
1196                                //      integrated_count               
1197                                //      lateral_offset         
1198                                Note/K lateral_offset, "units=cm"
1199                                //      sdd_offset             
1200                                Note/K sdd_offset, "units=cm"
1201                                //      separation             
1202                                Note/K separation, "units=cm"
1203                                //      PixelNumX               
1204                                //      PixelNumY               
1205                                //      PixelFWHM               
1206                                //      size           
1207                                Note/K size, "units=cm"
1208                                //      event_file_name         
1209                                //      tube_orientation               
1210                                //      number_of_tubes         
1211                                //      tube_index             
1212                                //      spatial_calibration             
1213                                //      tube_width             
1214                                Note/K tube_width, "units=cm"
1215                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MB             
1216                                Make/O/N=0 Igor___folder_attributes     
1217                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1218                                //      data           
1219                                ////    //data_error           
1220                                //      nx_distance             
1221                                Note/K nx_distance, "units=m"
1222                                //      description             
1223                                //      settings               
1224                                //      dead_time               
1225                                Note/K dead_time, "units=s"
1226                                //      x_pixel_size           
1227                                Note/K x_pixel_size, "units=cm"
1228                                //      y_pixel_size           
1229                                Note/K y_pixel_size, "units=cm"
1230                                //      beam_center_x           
1231                                //      beam_center_y           
1232                                //      type           
1233                                ////    //flatfield_applied             
1234                                ////    //countrate_correction_applied         
1235                                //      pixel_mask             
1236                                //      integrated_count               
1237                                //      lateral_offset         
1238                                Note/K lateral_offset, "units=cm"
1239                                //      sdd_offset             
1240                                Note/K sdd_offset, "units=cm"
1241                                //      separation             
1242                                Note/K separation, "units=cm"
1243                                //      PixelNumX               
1244                                //      PixelNumY               
1245                                //      PixelFWHM               
1246                                //      size           
1247                                Note/K size, "units=cm"
1248                                //      event_file_name         
1249                                //      tube_orientation               
1250                                //      number_of_tubes         
1251                                //      tube_index             
1252                                //      spatial_calibration             
1253                                //      tube_width             
1254                                Note/K tube_width, "units=cm"
1255                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FR                     
1256                                Make/O/N=0 Igor___folder_attributes     
1257                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1258                                //      data           
1259                                ////    //data_error           
1260                                //      nx_distance             
1261                                Note/K nx_distance, "units=m"
1262                                //      description             
1263                                //      settings               
1264                                //      dead_time               
1265                                Note/K dead_time, "units=s"
1266                                //      x_pixel_size           
1267                                Note/K x_pixel_size, "units=cm"
1268                                //      y_pixel_size           
1269                                Note/K y_pixel_size, "units=cm"
1270                                //      beam_center_x           
1271                                //      beam_center_y           
1272                                //      type           
1273                                ////    //flatfield_applied             
1274                                ////    //countrate_correction_applied         
1275                                //      pixel_mask             
1276                                //      integrated_count               
1277                                //      lateral_offset         
1278                                Note/K lateral_offset, "units=cm"
1279                                //      separation             
1280                                Note/K separation, "units=cm"
1281                                //      PixelNumX               
1282                                //      PixelNumY               
1283                                //      PixelFWHM               
1284                                //      size           
1285                                Note/K size, "units=cm"
1286                                //      event_file_name         
1287                                //      tube_orientation               
1288                                //      number_of_tubes         
1289                                //      tube_index             
1290                                //      spatial_calibration             
1291                                //      tube_width             
1292                                Note/K tube_width, "units=cm"
1293                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FL             
1294                                Make/O/N=0 Igor___folder_attributes     
1295                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1296                                //      data           
1297                                ////    //data_error           
1298                                //      nx_distance             
1299                                Note/K nx_distance, "units=m"
1300                                //      description             
1301                                //      settings               
1302                                //      dead_time               
1303                                Note/K dead_time, "units=s"
1304                                //      x_pixel_size           
1305                                Note/K x_pixel_size, "units=cm"
1306                                //      y_pixel_size           
1307                                Note/K y_pixel_size, "units=cm"
1308                                //      beam_center_x           
1309                                //      beam_center_y           
1310                                //      type           
1311                                ////    //flatfield_applied             
1312                                ////    //countrate_correction_applied         
1313                                //      pixel_mask             
1314                                //      integrated_count               
1315                                //      lateral_offset         
1316                                Note/K lateral_offset, "units=cm"
1317                                //      separation             
1318                                Note/K separation, "units=cm"
1319                                //      PixelNumX               
1320                                //      PixelNumY               
1321                                //      PixelFWHM               
1322                                //      size           
1323                                Note/K size, "units=cm"
1324                                //      event_file_name         
1325                                //      tube_orientation               
1326                                //      number_of_tubes         
1327                                //      tube_index             
1328                                //      spatial_calibration             
1329                                //      tube_width             
1330                                Note/K tube_width, "units=cm"
1331                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FT             
1332                                Make/O/N=0 Igor___folder_attributes     
1333                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1334                                //      data           
1335                                ////    //data_error           
1336                                //      nx_distance             
1337                                Note/K nx_distance, "units=m"
1338                                //      description             
1339                                //      settings               
1340                                //      dead_time               
1341                                Note/K dead_time, "units=s"
1342                                //      x_pixel_size           
1343                                Note/K x_pixel_size, "units=cm"
1344                                //      y_pixel_size           
1345                                Note/K y_pixel_size, "units=cm"
1346                                //      beam_center_x           
1347                                //      beam_center_y           
1348                                //      type           
1349                                ////    //flatfield_applied             
1350                                ////    //countrate_correction_applied         
1351                                //      pixel_mask             
1352                                //      integrated_count               
1353                                //      lateral_offset         
1354                                Note/K lateral_offset, "units=cm"
1355                                //      sdd_offset             
1356                                Note/K sdd_offset, "units=cm"
1357                                //      separation             
1358                                Note/K separation, "units=cm"
1359                                //      PixelNumX               
1360                                //      PixelNumY               
1361                                //      PixelFWHM               
1362                                //      size           
1363                                Note/K size, "units=cm"
1364                                //      event_file_name         
1365                                //      tube_orientation               
1366                                //      number_of_tubes         
1367                                //      tube_index             
1368                                //      spatial_calibration             
1369                                //      tube_width             
1370                                Note/K tube_width, "units=cm"
1371                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FB             
1372                                Make/O/N=0 Igor___folder_attributes     
1373                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
1374                                //      data           
1375                                ////    //data_error           
1376                                //      nx_distance             
1377                                Note/K nx_distance, "units=m"
1378                                //      description             
1379                                //      settings               
1380                                //      dead_time               
1381                                Note/K dead_time, "units=s"
1382                                //      x_pixel_size           
1383                                Note/K x_pixel_size, "units=cm"
1384                                //      y_pixel_size           
1385                                Note/K y_pixel_size, "units=cm"
1386                                //      beam_center_x           
1387                                //      beam_center_y           
1388                                //      type           
1389                                ////    //flatfield_applied             
1390                                ////    //countrate_correction_applied         
1391                                //      pixel_mask             
1392                                //      integrated_count               
1393                                //      lateral_offset         
1394                                Note/K lateral_offset, "units=cm"
1395                                //      sdd_offset             
1396                                Note/K sdd_offset, "units=cm"
1397                                //      separation             
1398                                Note/K separation, "units=cm"
1399                                //      PixelNumX               
1400                                //      PixelNumY               
1401                                //      PixelFWHM               
1402                                //      size           
1403                                Note/K size, "units=cm"
1404                                //      event_file_name         
1405                                //      tube_orientation               
1406                                //      number_of_tubes         
1407                                //      tube_index             
1408                                //      spatial_calibration             
1409                                //      tube_width             
1410                                Note/K tube_width, "units=cm"
1411                                               
1412                                               
1413                SetDataFolder root:VSANS_file:entry1:data_B             
1414                        Make/O/N=0 Igor___folder_attributes     
1415                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1416                        //      data           
1417                        ////    //error         
1418                        //      variables               
1419                        //      data_image             
1420                SetDataFolder root:VSANS_file:entry1:data_MR           
1421                        Make/O/N=0 Igor___folder_attributes     
1422                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1423                        //      data           
1424                        ////    //error         
1425                        //      variables               
1426                        //      data_image             
1427                SetDataFolder root:VSANS_file:entry1:data_ML           
1428                        Make/O/N=0 Igor___folder_attributes     
1429                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1430                        //      data           
1431                        ////    //error         
1432                        //      variables               
1433                        //      data_image             
1434                SetDataFolder root:VSANS_file:entry1:data_MT           
1435                        Make/O/N=0 Igor___folder_attributes     
1436                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1437                        //      data           
1438                        ////    //error         
1439                        //      variables               
1440                        //      data_image             
1441                SetDataFolder root:VSANS_file:entry1:data_MB           
1442                        Make/O/N=0 Igor___folder_attributes     
1443                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1444                        //      data           
1445                        ////    //error         
1446                        //      variables               
1447                        //      data_image             
1448                SetDataFolder root:VSANS_file:entry1:data_FR           
1449                        Make/O/N=0 Igor___folder_attributes     
1450                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1451                        //      data           
1452                        ////    //error         
1453                        //      variables               
1454                        //      data_image             
1455                SetDataFolder root:VSANS_file:entry1:data_FL           
1456                        Make/O/N=0 Igor___folder_attributes     
1457                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1458                        //      data           
1459                        ////    //error         
1460                        //      variables               
1461                        //      data_image             
1462                SetDataFolder root:VSANS_file:entry1:data_FT           
1463                        Make/O/N=0 Igor___folder_attributes     
1464                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1465                        //      data           
1466                        ////    //error         
1467                        //      variables               
1468                        //      data_image             
1469                SetDataFolder root:VSANS_file:entry1:data_FB           
1470                        Make/O/N=0 Igor___folder_attributes     
1471                        Note/K Igor___folder_attributes, "NX_class=NXdata"
1472                        //      data           
1473                        ////    //error         
1474                        //      variables               
1475                        //      data_image             
1476                                       
1477                SetDataFolder root:VSANS_file:entry1:reduction                 
1478                        //      intent         
1479                        //      transmission_file_name         
1480                        //      empty_beam_file_name           
1481                        //      background_file_name           
1482                        //      empty_file_name         
1483                        //      sensitivity_file_name           
1484                        //      mask_file_name         
1485                        //      sans_log_file_name             
1486                        //      whole_trans             
1487                        //      whole_trans_error               
1488                        //      box_count               
1489                        //      box_count_error         
1490                        //      box_coordinates         
1491                        //      comments               
1492                        //      absolute_scaling               
1493                        SetDataFolder root:VSANS_file:entry1:reduction:pol_sans                         
1494                                //      pol_sans_purpose               
1495                                //      cell_name               
1496                                //      cell_parameters         
1497                                                       
1498        SetDataFolder root:VSANS_file:DAS_Logs         
1499                Make/O/N=0 Igor___folder_attributes     
1500                Note/K Igor___folder_attributes, "NX_class=NXlog"
1501                        //...multiple entries and levels... to add             
1502                        //this will be enormous         
1503
1504       
1505
1506
1507        SetDataFolder root:     
1508
1509End
1510
1511// overwrites the dummy values as needed with VCALC information
1512//
1513//
1514//
1515// FUTURE
1516// issues here with the potential for Nexus to have data as INTEGER
1517// where I'd rather have the data here in Igor be DP, so there are no
1518// conversion/assignment issues
1519//
1520// simuation data from VCALC = DP, but I need to assign to an Integer wave...
1521// - sometimes this works, sometimes not...
1522// may need to Redimension/I
1523//
1524/// break this up into several smaller procedures as this is a VERY lengthy task to do
1525
1526        // FUTURE
1527// set the "accessible" copies of the data (these are really to be links in the file!)
1528
1529Proc H_Fill_VSANS_wSim()
1530
1531        Abort "Don't use this function - H_Fill_VSANS_wSim"
1532
1533
1534SetDataFolder  root:VSANS_file         
1535                file_name       = "VSANSTest.h5"
1536                file_time       = "2015-02-28T08:15:30-5:00"
1537                facility        = "NCNR"
1538                NeXus_version   = "Nexus 0.0"
1539                hdf_version     = "hdf5.x"
1540                file_history    = "history log"
1541        SetDataFolder root:VSANS_file:entry1           
1542                        title   = "title of entry1"
1543                        experiment_identifier   = 684636
1544                        experiment_description  = "description of expt"
1545                        entry_identifier        = "S22-33"
1546                        definition      = "NXsas"
1547                        start_time      = "2015-02-28T08:15:30-5:00"
1548                        end_time        = "2015-02-28T08:15:30-5:00"
1549                        duration        = 300
1550                        collection_time = 300
1551                        run_cycle       = "S22-23"
1552                        data_directory  = "[VSANS_VSANS]"
1553                        program_name    = "runPoint={stuff}"
1554                SetDataFolder root:VSANS_file:entry1:user               
1555                                name    = "Dr. Pi"
1556                                role    = "evil scientist"
1557                                affiliation     = "NIST"
1558                                address = "100 Bureau Drive"
1559                                telephoneNumber = "301-999-9999"
1560                                faxNumber       = "301-999-9999"
1561                                email   = "sans@nist"
1562                                facility_user_id        = 6937596
1563                SetDataFolder root:VSANS_file:entry1:control           
1564                                mode    = "timer"
1565                                preset  = 555
1566                                integral        = 555
1567                                monitor_counts  = 666
1568                                monitor_preset  = 1e8
1569                        //WAVE/T        type    = "monitor type"
1570                        //WAVE  efficiency      = 0.01
1571                        //WAVE  sampled_fraction        = 1
1572                                detector_counts = 100111222
1573                                detector_preset = 1e5
1574                                count_start     = 1
1575                                count_end       = 1
1576                                count_time      = 1
1577                                count_time_preset       = 1
1578                //SetDataFolder root:VSANS_file:entry1:program_name     //program_data 
1579                        //WAVE/T        //data  = "program data"
1580                        //WAVE/T        //description   = "acquisition"
1581                        //WAVE/T        //file_name     = "NICE"
1582                        //WAVE/T        //type  = "client"
1583                SetDataFolder root:VSANS_file:entry1:sample             
1584                                description     = "My Sample"
1585                                group_id        = 12345
1586                        //WAVE/T        //chemical_formula      = "C8H10N4O2"
1587                        SetDataFolder root:VSANS_file:entry1:sample:temperature_1               
1588                                        name    = "Sample temperature"
1589                                        attached_to     = "block"
1590                                        measurement     = "temperature"
1591                                SetDataFolder root:VSANS_file:entry1:sample:temperature_1:value_log             
1592                                                start   = "2015-02-28T08:15:30-5:00"
1593                                                nx_time = p
1594                                                value   = 2*p
1595                        SetDataFolder root:VSANS_file:entry1:sample:temperature_2               
1596                                        name    = "Sample temperature"
1597                                        attached_to     = "block"
1598                                        measurement     = "temperature"
1599                                SetDataFolder root:VSANS_file:entry1:sample:temperature_2:value_log             
1600                                                start   = "2015-02-28T08:15:30-5:00"
1601                                                nx_time = p
1602                                                value   = 3*p
1603                        SetDataFolder root:VSANS_file:entry1:sample:electric_field             
1604                                        name    = "electric meter"
1605                                        attached_to     = "sample"
1606                                        measurement     = "voltage"
1607                                SetDataFolder root:VSANS_file:entry1:sample:electric_field:value_log           
1608                                                start   = "2015-02-28T08:15:30-5:00"
1609                                                nx_time = 2*p
1610                                                value   = sin(p/10)
1611                        SetDataFolder root:VSANS_file:entry1:sample:shear_field         
1612                                        name    = "rheometer"
1613                                        attached_to     = "sample"
1614                                        measurement     = "stress"
1615                                SetDataFolder root:VSANS_file:entry1:sample:shear_field:value_log               
1616                                                start   = "2015-02-28T08:15:30-5:00"
1617                                                nx_time = p
1618                                                value   = cos(p/5)
1619                        SetDataFolder root:VSANS_file:entry1:sample:pressure           
1620                                        name    = "Sample pressure"
1621                                        attached_to     = "pressure cell"
1622                                        measurement     = "pressure"
1623                                SetDataFolder root:VSANS_file:entry1:sample:pressure:value_log         
1624                                                start   = "2015-02-28T08:15:30-5:00"
1625                                                nx_time = p
1626                                                value   = p/2
1627                        SetDataFolder root:VSANS_file:entry1:sample:magnetic_field             
1628                                        name    = "magnetic field (direction)"
1629                                        attached_to     = "cryostat"
1630                                        measurement     = "magnetic field"
1631                                SetDataFolder root:VSANS_file:entry1:sample:magnetic_field:value_log           
1632                                                start   = "2015-02-28T08:15:30-5:00"
1633                                                nx_time = p
1634                                                value   = 10*p
1635                        SetDataFolder root:VSANS_file:entry1:sample             
1636                                changer_position        = 5
1637                                sample_holder_description       = "10CB"
1638                        //WAVE  //mass  = 0.3
1639                        //WAVE  //density       = 1.02
1640                        //WAVE  //molecular_weight      = 194.19
1641                        //WAVE/T        //description   = "My Sample"
1642                        //WAVE/T        //preparation_date      = "2015-02-28T08:15:30-5:00"
1643                        //WAVE  //volume_fraction       = 0.2
1644                        //WAVE  //scattering_length_density     = 6.35e-6
1645                                thickness       = 0.1
1646                                rotation_angle  = 30
1647                                transmission    = 0.888
1648                                transmission_error      = 0.011
1649                        //WAVE  //xs_incoh      = 5.5
1650                        //WAVE  //xs_coh        = 22.2
1651                        //WAVE  //xs_absorb     = 3.1
1652                SetDataFolder root:VSANS_file:entry1:instrument         
1653                        //WAVE/T        //location      = "NCNR"
1654                                name    = "NG3-VSANS"
1655                                type    = "VSANS"
1656                                local_contact   = "Steve Kline"
1657                        SetDataFolder root:VSANS_file:entry1:instrument:source         
1658                                        name    = "NCNR"
1659                                        type    = "Reactor Neutron Source"
1660                                        probe   = "neutron"
1661                                        power   = 20
1662                                       
1663                        SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_norm               
1664                                        data    = 1234567
1665                                        type    = "monitor"
1666                                        efficiency      = 0.01
1667                                        nx_distance     = 16
1668                                        saved_count     = 1e8
1669                        SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_low               
1670                                        data    = 1234567
1671                                        type    = "monitor"
1672                                        efficiency      = 0.001
1673                                        nx_distance     = 16
1674                                        saved_count     = 1e8
1675                                       
1676                        SetDataFolder root:VSANS_file:entry1:instrument:monochromator           
1677                                        wavelength      = 5.1
1678                                        wavelength_spread       = 0.02
1679                                        type    = "VS"
1680                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:velocity_selector         
1681                                                status  = "in"
1682                                                rotation_speed  = 5100
1683                                                wavelength      = 6
1684                                                wavelength_spread       = 0.15
1685                                                vs_tilt = 3
1686                                                nx_distance     = 18.8
1687                                                // table (wave)
1688                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:crystal           
1689                                                status  = "in"
1690                                                nx_distance     = 1
1691                                                wavelength      = 5.1
1692                                                wavelength_spread       = 0.02
1693                                                rotation        = 1.1
1694                                                energy  = 1
1695                                                wavevector      = 1
1696                                                lattice_parameter       = 1
1697                                                reflection      = {1,2,3}
1698                                                horizontal_curvature    = 1
1699                                                vertical_curvature      = 1
1700                                                horizontal_aperture     = 1
1701                                                vertical_aperture       = 1
1702                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator:white_beam               
1703                                                status  = "in"
1704                                                wavelength      = 5.1
1705                                                wavelength_spread       = 0.8
1706                                                // description_of_distribution 
1707                        SetDataFolder root:VSANS_file:entry1:instrument:chopper         
1708                                        status  = "in"
1709                                        type    = "single"
1710                                        rotation_speed  = 12000
1711                                        distance_from_source    = 400
1712                                        distance_from_sample    = 1500
1713                                        slits   = 2
1714                                        angular_opening = 15
1715                                        duty_cycle      = 0.25
1716                                        // +?   
1717                        SetDataFolder root:VSANS_file:entry1:instrument:polarizer               
1718                                        status  = "in"
1719                                        type    = "supermirror"
1720                                        composition     = "multilayer"
1721                                        efficiency      = 0.95
1722                                        status  = "in"
1723                        SetDataFolder root:VSANS_file:entry1:instrument:flipper         
1724                                        status  = "on"
1725                                        driving_current = 42
1726                                        waveform        = "sine"
1727                                        frequency       = 400
1728                                        transmitted_power       = 0.99
1729                        SetDataFolder root:VSANS_file:entry1:instrument:polarizer_analyzer             
1730                                        status  = "down"
1731                                        guide_field_current_1   = 33
1732                                        guide_field_current_2   = 32
1733                                        solenoid_current        = 21
1734                                        cell_index      = 1
1735                                        cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
1736                                        cell_parameters = 1
1737                                       
1738                        SetDataFolder root:VSANS_file:entry1:instrument:attenuator             
1739                                        nx_distance     = 1500
1740                                        type    = "PMMA"
1741                                        thickness       = 0
1742                                        attenuator_transmission = 1
1743                                        status  = "in"
1744                                        atten_number    = "0101"
1745                                        index   = 1
1746                        SetDataFolder root:VSANS_file:entry1:instrument:source_aperture         
1747                                        material        = "Gd"
1748                                        description     = "source aperture"
1749                                        diameter        = 1.27
1750                                        nx_distance     = 13.0
1751                                SetDataFolder root:VSANS_file:entry1:instrument:source_aperture:shape                   
1752                                                size    = 1.27
1753                        SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture         
1754                                        material        = "Gd"
1755                                        description     = "sample aperture"
1756                                        diameter        = 1.27
1757                                        nx_distance     = 10
1758                                SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture:shape                   
1759                                                size    = 1.27
1760                        SetDataFolder root:VSANS_file:entry1:instrument:collimator             
1761                                SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry             
1762                                        SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry:shape               
1763                                                        shape   = "box"
1764                                                        size    = 11
1765                                        nx_NumGuides    = 1
1766                        SetDataFolder root:VSANS_file:entry1:instrument:converging_pinholes             
1767                                        status  = "in"
1768                        SetDataFolder root:VSANS_file:entry1:instrument:converging_slits               
1769                                        status  = "in"
1770                        SetDataFolder root:VSANS_file:entry1:instrument:lenses         
1771                                        status  = "in"
1772                                        lens_geometry   = "concave_lens"
1773                                        focus_type      = "point"
1774                                        number_of_lenses        = 28
1775                                        number_of_prisms        = 7
1776                                        curvature       = 1
1777                                        lens_distance   = 123
1778                                        prism_distance  = 123
1779                                        lens_material   = "MgF2"
1780                                        prism_material  = "MgF2"
1781                        SetDataFolder root:VSANS_file:entry1:instrument:sample_table           
1782                                        location        = "chamber"
1783                                        offset_distance = 0
1784                        SetDataFolder root:VSANS_file:entry1:instrument:beam_stop               
1785                                        status  = "out"
1786                                        description     = "circular"
1787                                        nx_distance     = 12.5
1788                                        size    = 7.62
1789                                        xPos    = 66.4
1790                                        yPos    = 64.4
1791                                        x_motor_position        = 0.15
1792                                        y_motor_position        = 0.55
1793                                       
1794                        SetDataFolder root:VSANS_file:entry1:instrument:detector_B             
1795                                        data    = trunc(abs(gnoise(p+q)))
1796                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1797                                        nx_distance     = 21.1
1798                                        description     = "fancy model"
1799                                        settings        = "just right"
1800                                        dead_time       = 5e-6
1801                                        x_pixel_size    = 5.08
1802                                        y_pixel_size    = 5.08
1803                                        beam_center_x   = 165.55
1804                                        beam_center_y   = 162.33
1805                                        type    = "??"
1806                                //WAVE  //flatfield_applied     = 0
1807                                //WAVE  //countrate_correction_applied  = 0
1808                                        pixel_mask      = 0
1809                                        integrated_count        = 100111222
1810                                        lateral_offset  = 20
1811                                        PixelNumX       = 150
1812                                        PixelNumY       = 150
1813                                        PixelFWHM       = 0.5
1814                                        CALX    = {0.5,0.5,10000}
1815                                        CALY    = {0.5,0.5,10000}
1816                                        size    = 65
1817                                        event_file_name ="something.hst"
1818                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MR                     
1819                                        data    = trunc(abs(gnoise(p+q)))
1820                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1821                                        nx_distance     = 13.1
1822                                        description     = "fancy model"
1823                                        settings        = "just right"
1824                                        dead_time       = 5e-6
1825                                        x_pixel_size    = 5.08
1826                                        y_pixel_size    = 5.08
1827                                        beam_center_x   = 65.55
1828                                        beam_center_y   = 62.33
1829                                        type    = "??"
1830                                //WAVE  //flatfield_applied     = 0
1831                                //WAVE  //countrate_correction_applied  = 0
1832                                        pixel_mask      = 0
1833                                        integrated_count        = 100111222
1834                                        lateral_offset  = 20
1835                                        separation      = 150
1836                                        PixelNumX       = 48
1837                                        PixelNumY       = 256
1838                                        PixelFWHM       = 0.5
1839                                        size    = 65
1840                                        event_file_name ="something.hst"
1841                                        tube_orientation        = "vertical"
1842                                        number_of_tubes = 48
1843                                        tube_index      = p
1844                                        spatial_calibration     = 1
1845                                        tube_width      = 8
1846                        SetDataFolder root:VSANS_file:entry1:instrument:detector_ML             
1847                                        data    = trunc(abs(gnoise(p+q)))
1848                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1849                                        nx_distance     = 13.1
1850                                        description     = "fancy model"
1851                                        settings        = "just right"
1852                                        dead_time       = 5e-6
1853                                        x_pixel_size    = 5.08
1854                                        y_pixel_size    = 5.08
1855                                        beam_center_x   = 65.55
1856                                        beam_center_y   = 62.33
1857                                        type    = "??"
1858                                //WAVE  //flatfield_applied     = 0
1859                                //WAVE  //countrate_correction_applied  = 0
1860                                        pixel_mask      = 0
1861                                        integrated_count        = 100111222
1862                                        lateral_offset  = 20
1863                                        separation      = 150
1864                                        PixelNumX       = 48
1865                                        PixelNumY       = 256
1866                                        PixelFWHM       = 0.5
1867                                        size    = 65
1868                                        event_file_name ="something.hst"
1869                                        tube_orientation        = "vertical"
1870                                        number_of_tubes = 48
1871                                        tube_index      = p
1872                                        spatial_calibration     = 1
1873                                        tube_width      = 8
1874                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MT             
1875                                        data    = trunc(abs(gnoise(p+q)))
1876                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1877                                        nx_distance     = 13.4
1878                                        description     = "fancy model"
1879                                        settings        = "just right"
1880                                        dead_time       = 5e-6
1881                                        x_pixel_size    = 5.08
1882                                        y_pixel_size    = 5.08
1883                                        beam_center_x   = 65.55
1884                                        beam_center_y   = 62.33
1885                                        type    = "??"
1886                                //WAVE  //flatfield_applied     = 0
1887                                //WAVE  //countrate_correction_applied  = 0
1888                                        pixel_mask      = 0
1889                                        integrated_count        = 100111222
1890                                        lateral_offset  = 20
1891                                        sdd_offset      = 30
1892                                        separation      = 150
1893                                        PixelNumX       = 128
1894                                        PixelNumY       = 48
1895                                        PixelFWHM       = 0.5
1896                                        size    = 65
1897                                        event_file_name ="something.hst"
1898                                        tube_orientation        = "horizontal"
1899                                        number_of_tubes = 48
1900                                        tube_index      = p
1901                                        spatial_calibration     = 1
1902                                        tube_width      = 8
1903                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MB             
1904                                        data    = trunc(abs(gnoise(p+q)))
1905                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1906                                        nx_distance     = 13.4
1907                                        description     = "fancy model"
1908                                        settings        = "just right"
1909                                        dead_time       = 5e-6
1910                                        x_pixel_size    = 5.08
1911                                        y_pixel_size    = 5.08
1912                                        beam_center_x   = 65.55
1913                                        beam_center_y   = 62.33
1914                                        type    = "??"
1915                                //WAVE  //flatfield_applied     = 0
1916                                //WAVE  //countrate_correction_applied  = 0
1917                                        pixel_mask      = 0
1918                                        integrated_count        = 100111222
1919                                        lateral_offset  = 20
1920                                        sdd_offset      = 30
1921                                        separation      = 150
1922                                        PixelNumX       = 128
1923                                        PixelNumY       = 48
1924                                        PixelFWHM       = 0.5
1925                                        size    = 65
1926                                        event_file_name ="something.hst"
1927                                        tube_orientation        = "horizontal"
1928                                        number_of_tubes = 48
1929                                        tube_index      = p
1930                                        spatial_calibration     = 1
1931                                        tube_width      = 8
1932                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FR                     
1933                                        data    = trunc(abs(gnoise(p+q)))
1934                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1935                                        nx_distance     = 2.1
1936                                        description     = "fancy model"
1937                                        settings        = "just right"
1938                                        dead_time       = 5e-6
1939                                        x_pixel_size    = 5.08
1940                                        y_pixel_size    = 5.08
1941                                        beam_center_x   = 65.55
1942                                        beam_center_y   = 62.33
1943                                        type    = "??"
1944                                //WAVE  //flatfield_applied     = 0
1945                                //WAVE  //countrate_correction_applied  = 0
1946                                        pixel_mask      = 0
1947                                        integrated_count        = 100111222
1948                                        lateral_offset  = 20
1949                                        separation      = 150
1950                                        PixelNumX       = 48
1951                                        PixelNumY       = 256
1952                                        PixelFWHM       = 0.5
1953                                        size    = 65
1954                                        event_file_name ="something.hst"
1955                                        tube_orientation        = "vertical"
1956                                        number_of_tubes = 48
1957                                        tube_index      = p
1958                                        spatial_calibration     = 1
1959                                        tube_width      = 8
1960                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FL             
1961                                        data    = trunc(abs(gnoise(p+q)))
1962                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1963                                        nx_distance     = 2.1
1964                                        description     = "fancy model"
1965                                        settings        = "just right"
1966                                        dead_time       = 5e-6
1967                                        x_pixel_size    = 5.08
1968                                        y_pixel_size    = 5.08
1969                                        beam_center_x   = 65.55
1970                                        beam_center_y   = 62.33
1971                                        type    = "??"
1972                                //WAVE  //flatfield_applied     = 0
1973                                //WAVE  //countrate_correction_applied  = 0
1974                                        pixel_mask      = 0
1975                                        integrated_count        = 100111222
1976                                        lateral_offset  = 20
1977                                        separation      = 150
1978                                        PixelNumX       = 48
1979                                        PixelNumY       = 256
1980                                        PixelFWHM       = 0.5
1981                                        size    = 65
1982                                        event_file_name ="something.hst"
1983                                        tube_orientation        = "vertical"
1984                                        number_of_tubes = 48
1985                                        tube_index      = p
1986                                        spatial_calibration     = 1
1987                                        tube_width      = 8
1988                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FT             
1989                                        data    = trunc(abs(gnoise(p+q)))
1990                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
1991                                        nx_distance     = 2.1
1992                                        description     = "fancy model"
1993                                        settings        = "just right"
1994                                        dead_time       = 5e-6
1995                                        x_pixel_size    = 5.08
1996                                        y_pixel_size    = 5.08
1997                                        beam_center_x   = 65.55
1998                                        beam_center_y   = 62.33
1999                                        type    = "??"
2000                                //WAVE  //flatfield_applied     = 0
2001                                //WAVE  //countrate_correction_applied  = 0
2002                                        pixel_mask      = 0
2003                                        integrated_count        = 100111222
2004                                        lateral_offset  = 20
2005                                        sdd_offset      = 30
2006                                        separation      = 150
2007                                        PixelNumX       = 128
2008                                        PixelNumY       = 48
2009                                        PixelFWHM       = 0.5
2010                                        size    = 65
2011                                        event_file_name ="something.hst"
2012                                        tube_orientation        = "horizontal"
2013                                        number_of_tubes = 48
2014                                        tube_index      = p
2015                                        spatial_calibration     = 1
2016                                        tube_width      = 8
2017                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FB             
2018                                        data    = trunc(abs(gnoise(p+q)))
2019                                //WAVE  //data_error    = 0.01*abs(gnoise(p+q))
2020                                        nx_distance     = 2.1
2021                                        description     = "fancy model"
2022                                        settings        = "just right"
2023                                        dead_time       = 5e-6
2024                                        x_pixel_size    = 5.08
2025                                        y_pixel_size    = 5.08
2026                                        beam_center_x   = 65.55
2027                                        beam_center_y   = 62.33
2028                                        type    = "??"
2029                                //WAVE  //flatfield_applied     = 0
2030                                //WAVE  //countrate_correction_applied  = 0
2031                                        pixel_mask      = 0
2032                                        integrated_count        = 100111222
2033                                        lateral_offset  = 20
2034                                        sdd_offset      = 30
2035                                        separation      = 150
2036                                        PixelNumX       = 128
2037                                        PixelNumY       = 48
2038                                        PixelFWHM       = 0.5
2039                                        size    = 65
2040                                        event_file_name ="something.hst"
2041                                        tube_orientation        = "horizontal"
2042                                        number_of_tubes = 48
2043                                        tube_index      = p
2044                                        spatial_calibration     = 1
2045                                        tube_width      = 8
2046                                       
2047                                       
2048                SetDataFolder root:VSANS_file:entry1:data_B             
2049                                data    = trunc(abs(gnoise(p+q)))
2050                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2051                                variables       = {150,150}
2052                                data_image      = p
2053                SetDataFolder root:VSANS_file:entry1:data_MR           
2054                                data    = trunc(abs(gnoise(p+q)))
2055                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2056                                variables       = {48,256}
2057                                data_image      = p
2058                SetDataFolder root:VSANS_file:entry1:data_ML           
2059                                data    = trunc(abs(gnoise(p+q)))
2060                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2061                                variables       = {48,256}
2062                                data_image      = p
2063                SetDataFolder root:VSANS_file:entry1:data_MT           
2064                                data    = trunc(abs(gnoise(p+q)))
2065                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2066                                variables       = {128,48}
2067                                data_image      = p
2068                SetDataFolder root:VSANS_file:entry1:data_MB           
2069                                data    = trunc(abs(gnoise(p+q)))
2070                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2071                                variables       = {128,48}
2072                                data_image      = p
2073                SetDataFolder root:VSANS_file:entry1:data_FR           
2074                                data    = trunc(abs(gnoise(p+q)))
2075                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2076                                variables       = {48,256}
2077                                data_image      = p
2078                SetDataFolder root:VSANS_file:entry1:data_FL           
2079                                data    = trunc(abs(gnoise(p+q)))
2080                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2081                                variables       = {48,256}
2082                                data_image      = p
2083                SetDataFolder root:VSANS_file:entry1:data_FT           
2084                                data    = trunc(abs(gnoise(p+q)))
2085                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2086                                variables       = {128,48}
2087                                data_image      = p
2088                SetDataFolder root:VSANS_file:entry1:data_FB           
2089                                data    = trunc(abs(gnoise(p+q)))
2090                        //WAVE  //error = 0.01*abs(gnoise(p+q))
2091                                variables       = {128,48}
2092                                data_image      = p
2093                               
2094                SetDataFolder root:VSANS_file:entry1:reduction         
2095                                intent  = "SCATTER"
2096                                transmission_file_name  = "SANSFile_TRN.h5"
2097                                empty_beam_file_name    = "SANSFile_EB.h5"
2098                                background_file_name    = "SANSFile_BKG.h5"
2099                                empty_file_name = "SANSFile_EMP.h5"
2100                                sensitivity_file_name   = "SANSFile_DIV.h5"
2101                                mask_file_name  = "SANSFile_MASK.h5"
2102                                sans_log_file_name      = "SANSFile_log.txt"
2103                                whole_trans     = 0.888
2104                                whole_trans_error       = 0.008
2105                                box_count       = 23232
2106                                box_count_error = 22
2107                                box_coordinates = {50,80,45,75}
2108                                comments        = "extra data comments"
2109                                absolute_scaling        = {1,1,1e5,1}
2110                        SetDataFolder root:VSANS_file:entry1:reduction:pol_sans                 
2111                                        pol_sans_purpose        = "name from the list"
2112                                        cell_name       = "Burgundy"
2113                                        cell_parameters = {1,2,3,4,5}
2114                                               
2115        SetDataFolder root:VSANS_file:DAS_Logs         
2116                        //...multiple entries and levels... to add     
2117                        //this will be enormous
2118
2119
2120
2121
2122
2123
2124
2125///// DO NOT DELETE WHAT IS BELOW THIS LINE  /////////////
2126
2127///////////////////////////
2128//
2129// these are all of the VCALC changes to the simulated files. ADD to these as needed, making these changes to the
2130// folder structure after the "default" values have been re-filled in the waves (to make sure something is really there)
2131//
2132////////////////////////
2133                               
2134                        SetDataFolder root:VSANS_file:entry1:instrument         
2135                                SetDataFolder root:VSANS_file:entry1:instrument:monochromator           
2136                                        wavelength      = VCALC_getWavelength()
2137                                        SetDataFolder root:VSANS_file:entry1:instrument:monochromator:velocity_selector         
2138                                                wavelength      = VCALC_getWavelength()
2139                                                //      table (wave)   
2140                                        SetDataFolder root:VSANS_file:entry1:instrument:monochromator:crystal           
2141                                                wavelength      = VCALC_getWavelength()
2142                                               
2143                                        SetDataFolder root:VSANS_file:entry1:instrument:monochromator:white_beam               
2144                                                wavelength      = VCALC_getWavelength()
2145                                                //      description_of_distribution
2146                                       
2147
2148                                       
2149                        SetDataFolder root:VSANS_file:entry1:instrument:detector_B             
2150                                data    = root:Packages:NIST:VSANS:VCALC:Back:det_B
2151                                nx_distance     = VCALC_getSDD("B")
2152
2153                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MR                     
2154                                data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MR
2155                                nx_distance     = VCALC_getSDD("MR")
2156                                separation      = VCALC_getPanelSeparation("MR")
2157                                spatial_calibration[0][] = 1.072
2158                                spatial_calibration[1][] = -4.0e-5
2159                               
2160                        SetDataFolder root:VSANS_file:entry1:instrument:detector_ML             
2161                                data    = root:Packages:NIST:VSANS:VCALC:Middle:det_ML
2162                                nx_distance     = VCALC_getSDD("ML")
2163                                separation = VCALC_getPanelSeparation("ML")
2164                                spatial_calibration[0][] = 1.072
2165                                spatial_calibration[1][] = -4.0e-5
2166
2167                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MT             
2168                                data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MT
2169                                nx_distance     = VCALC_getSDD("MT")
2170                                sdd_offset = VCALC_getTopBottomSDDSetback("MT")
2171                                separation = VCALC_getPanelSeparation("MT")
2172                                spatial_calibration[0][] = 1.072
2173                                spatial_calibration[1][] = -4.0e-5
2174
2175                        SetDataFolder root:VSANS_file:entry1:instrument:detector_MB             
2176                                data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MB
2177                                nx_distance     = VCALC_getSDD("MB")
2178                                sdd_offset = VCALC_getTopBottomSDDSetback("MB")
2179                                separation = VCALC_getPanelSeparation("MB")
2180                                spatial_calibration[0][] = 1.072
2181                                spatial_calibration[1][] = -4.0e-5
2182
2183                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FR                     
2184                                data    = root:Packages:NIST:VSANS:VCALC:Front:det_FR
2185                                nx_distance     = VCALC_getSDD("FR")
2186                                separation = VCALC_getPanelSeparation("FR")
2187                                spatial_calibration[0][] = 1.072
2188                                spatial_calibration[1][] = -4.0e-5
2189
2190                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FL             
2191                                data    = root:Packages:NIST:VSANS:VCALC:Front:det_FL
2192                                nx_distance     = VCALC_getSDD("FL")
2193                                separation = VCALC_getPanelSeparation("FL")
2194                                spatial_calibration[0][] = 1.072
2195                                spatial_calibration[1][] = -4.0e-5
2196
2197                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FT             
2198                                data    = root:Packages:NIST:VSANS:VCALC:Front:det_FT
2199                                nx_distance     = VCALC_getSDD("FT")
2200                                sdd_offset = VCALC_getTopBottomSDDSetback("FT")
2201                                separation = VCALC_getPanelSeparation("FT")
2202                                spatial_calibration[0][] = 1.072
2203                                spatial_calibration[1][] = -4.0e-5
2204
2205                        SetDataFolder root:VSANS_file:entry1:instrument:detector_FB             
2206                                data    = root:Packages:NIST:VSANS:VCALC:Front:det_FB
2207                                nx_distance     = VCALC_getSDD("FB")
2208                                sdd_offset = VCALC_getTopBottomSDDSetback("FB")
2209                                separation = VCALC_getPanelSeparation("FB")
2210                                spatial_calibration[0][] = 1.072
2211                                spatial_calibration[1][] = -4.0e-5
2212
2213                                       
2214// SRK -set the top level copies of the data                                   
2215                SetDataFolder root:VSANS_file:entry1:data_B     
2216                        data    = root:Packages:NIST:VSANS:VCALC:Back:det_B
2217
2218                SetDataFolder root:VSANS_file:entry1:data_MR   
2219                        data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MR
2220                       
2221                SetDataFolder root:VSANS_file:entry1:data_ML   
2222                        data    = root:Packages:NIST:VSANS:VCALC:Middle:det_ML
2223                       
2224                SetDataFolder root:VSANS_file:entry1:data_MT   
2225                        data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MT
2226                        data    = (data ==   2147483647) ? 0 : data             //the NaN "mask" in the sim data shows up as an ugly integer
2227                       
2228                SetDataFolder root:VSANS_file:entry1:data_MB   
2229                        data    = root:Packages:NIST:VSANS:VCALC:Middle:det_MB
2230                        data    = (data ==   2147483647) ? 0 : data             //the NaN "mask" in the sim data shows up as an ugly integer
2231                       
2232                SetDataFolder root:VSANS_file:entry1:data_FR   
2233                        data    = root:Packages:NIST:VSANS:VCALC:Front:det_FR
2234                       
2235                SetDataFolder root:VSANS_file:entry1:data_FL   
2236                        data    = root:Packages:NIST:VSANS:VCALC:Front:det_FL
2237                       
2238                SetDataFolder root:VSANS_file:entry1:data_FT   
2239                        data    = root:Packages:NIST:VSANS:VCALC:Front:det_FT
2240                        data    = (data ==   2147483647) ? 0 : data             //the NaN "mask" in the sim data shows up as an ugly integer
2241                       
2242                SetDataFolder root:VSANS_file:entry1:data_FB   
2243                        data    = root:Packages:NIST:VSANS:VCALC:Front:det_FB
2244                        data    = (data ==   2147483647) ? 0 : data             //the NaN "mask" in the sim data shows up as an ugly integer
2245                       
2246                               
2247//              SetDataFolder root:VSANS_file:entry1:reduction         
2248//                      intent  = "SCATTER"
2249//                      transmission_file_name  = "SANSFile_TRN.h5"
2250//                      empty_beam_file_name    = "SANSFile_EB.h5"
2251//                      background_file_name    = "SANSFile_BKG.h5"
2252//                      empty_file_name = "SANSFile_EMP.h5"
2253//                      sensitivity_file_name   = "SANSFile_DIV.h5"
2254//                      mask_file_name  = "SANSFile_MASK.h5"
2255//                      sans_log_file_name      = "SANSFile_log.txt"
2256//                      whole_trans     = 0.888
2257//                      whole_trans_error       = 0.008
2258//                      box_count       = 23232
2259//                      box_count_error = 22
2260//                      box_coordinates = {50,80,45,75}
2261//                      comments        = "extra data comments"
2262//                      absolute_scaling        = {1,1,1e5,1}
2263//                      SetDataFolder root:VSANS_file:entry1:reduction:pol_sans                 
2264//                              pol_sans_purpose        = "name from the list"
2265//                              cell_name       = "Burgundy"
2266//                              cell_parameters = {1,2,3,4,5}
2267                                       
2268
2269        SetDataFolder root:
2270
2271End
2272
2273
2274
2275
2276
2277////////////////// SANS-specific functions
2278
2279
2280
2281//
2282// lays out the tree and fills with dummy values
2283//
2284Proc H_Setup_SANS_Structure()
2285       
2286        Abort "Don't use this function - H_Setup_SANS_Structure"
2287
2288        Variable n=100
2289       
2290NewDataFolder/O/S root:SANS_file       
2291        Make/O/T/N=1    file_name       = "SANSTest.h5"
2292        Make/O/T/N=1    file_time       = "2015-02-28T08:15:30-5:00"
2293        Make/O/T/N=1    facility        = "NCNR"
2294        Make/O/T/N=1    NeXus_version   = "Nexus 0.0"
2295        Make/O/T/N=1    hdf_version     = "hdf5.x"
2296        Make/O/T/N=1    file_history    = "history log"
2297        NewDataFolder/O/S  root:SANS_file:entry1               
2298                Make/O/T/N=1    title   = "title of entry1"
2299                Make/O/D/N=1    experiment_identifier   = 684636
2300                Make/O/T/N=1    experiment_description  = "description of expt"
2301                Make/O/T/N=1    entry_identifier        = "S22-33"
2302                Make/O/T/N=1    definition      = "NXsas"
2303                Make/O/T/N=1    start_time      = "2015-02-28T08:15:30-5:00"
2304                Make/O/T/N=1    end_time        = "2015-02-28T08:15:30-5:00"
2305                Make/O/D/N=1    duration        = 300
2306                Make/O/D/N=1    collection_time = 300
2307                Make/O/T/N=1    run_cycle       = "S22-23"
2308                Make/O/T/N=1    data_directory  = "[NG7SANS41]"
2309                Make/O/T/N=1    program_name    = "runPoint={stuff}"
2310                NewDataFolder/O/S  root:SANS_file:entry1:user           
2311                        Make/O/T/N=1    name    = "Dr. Pi"
2312                        Make/O/T/N=1    role    = "evil scientist"
2313                        Make/O/T/N=1    affiliation     = "NIST"
2314                        Make/O/T/N=1    address = "100 Bureau Drive"
2315                        Make/O/T/N=1    telephoneNumber = "301-999-9999"
2316                        Make/O/T/N=1    faxNumber       = "301-999-9999"
2317                        Make/O/T/N=1    email   = "sans@nist"
2318                        Make/O/I/N=1    facility_user_id        = 6937596
2319                NewDataFolder/O/S  root:SANS_file:entry1:control               
2320                        Make/O/T/N=1    mode    = "timer"
2321                        Make/O/D/N=1    preset  = 555
2322                        Make/O/D/N=1    integral        = 555
2323                        Make/O/D/N=1    monitor_counts  = 666
2324                        Make/O/D/N=1    monitor_preset  = 1e8
2325                        Make/O/D/N=1    detector_counts = 100111222
2326                        Make/O/D/N=1    detector_preset = 1e5
2327//                      Make/O/T/N=1    type    = "monitor type"
2328//                      Make/O/D/N=1    efficiency      = 0.01
2329//                      Make/O/D/N=1    sampled_fraction        = 1
2330                        Make/O/D/N=1    count_start     = 1
2331                        Make/O/D/N=1    count_end       = 1
2332                        Make/O/D/N=1    count_time      = 1
2333                        Make/O/D/N=1    count_time_preset       = 1
2334//              NewDataFolder/O/S  root:SANS_file:entry1:program_name           
2335//                      Make/O/T/N=1    data    = "program data"
2336//                      Make/O/T/N=1    description     = "acquisition"
2337//                      Make/O/T/N=1    file_name       = "NICE"
2338//                      Make/O/T/N=1    type    = "client"
2339                NewDataFolder/O/S  root:SANS_file:entry1:sample         
2340                        Make/O/T/N=1    description     = "My Sample"
2341                        Make/O/D/N=1    group_id        = 12345
2342//                      Make/O/T/N=1    chemical_formula        = "C8H10N4O2"
2343                        NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1           
2344                                Make/O/T/N=1    name    = "Sample temperature"
2345                                Make/O/T/N=1    attached_to     = "block"
2346                                Make/O/T/N=1    measurement     = "temperature"
2347                                NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1:value_log         
2348                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2349                                        Make/O/D/N=(n)  nx_time = p
2350                                        Make/O/D/N=(n)  value   = 2*p
2351                        NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2           
2352                                Make/O/T/N=1    name    = "Sample temperature"
2353                                Make/O/T/N=1    attached_to     = "block"
2354                                Make/O/T/N=1    measurement     = "temperature"
2355                                NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2:value_log         
2356                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2357                                        Make/O/D/N=(n)  nx_time = p
2358                                        Make/O/D/N=(n)  value   = 3*p
2359                        NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field         
2360                                Make/O/T/N=1    name    = "electric meter"
2361                                Make/O/T/N=1    attached_to     = "sample"
2362                                Make/O/T/N=1    measurement     = "voltage"
2363                                NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field:value_log               
2364                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2365                                        Make/O/D/N=(n)  nx_time = 2*p
2366                                        Make/O/D/N=(n)  value   = sin(p/10)
2367                        NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field             
2368                                Make/O/T/N=1    name    = "rheometer"
2369                                Make/O/T/N=1    attached_to     = "sample"
2370                                Make/O/T/N=1    measurement     = "stress"
2371                                NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field:value_log           
2372                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2373                                        Make/O/D/N=(n)  nx_time = p
2374                                        Make/O/D/N=(n)  value   = cos(p/5)
2375                        NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure               
2376                                Make/O/T/N=1    name    = "Sample pressure"
2377                                Make/O/T/N=1    attached_to     = "pressure cell"
2378                                Make/O/T/N=1    measurement     = "pressure"
2379                                NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure:value_log             
2380                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2381                                        Make/O/D/N=(n)  nx_time = p
2382                                        Make/O/D/N=(n)  value   = p/2
2383                        NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field         
2384                                Make/O/T/N=1    name    = "magnetic field (direction)"
2385                                Make/O/T/N=1    attached_to     = "cryostat"
2386                                Make/O/T/N=1    measurement     = "magnetic field"
2387                                NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field:value_log               
2388                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
2389                                        Make/O/D/N=(n)  nx_time = p
2390                                        Make/O/D/N=(n)  value   = 10*p
2391                        SetDataFolder  root:SANS_file:entry1:sample             
2392                        Make/O/D/N=1    changer_position        = 5
2393                        Make/O/T/N=1    sample_holder_description       = "10CB"
2394//                      Make/O/D/N=1    mass    = 0.3
2395//                      Make/O/D/N=1    density = 1.02
2396//                      Make/O/D/N=1    molecular_weight        = 194.19
2397//                      Make/O/T/N=1    description     = "My Sample"
2398//                      Make/O/T/N=1    preparation_date        = "2015-02-28T08:15:30-5:00"
2399//                      Make/O/D/N=1    volume_fraction = 0.2
2400//                      Make/O/D/N=1    scattering_length_density       = 6.35e-6
2401                        Make/O/D/N=1    thickness       = 0.1
2402                        Make/O/D/N=1    rotation_angle  = 30
2403                        Make/O/D/N=1    transmission    = 0.888
2404                        Make/O/D/N=1    transmission_error      = 0.011
2405//                      Make/O/D/N=1    xs_incoh        = 5.5
2406//                      Make/O/D/N=1    xs_coh  = 22.2
2407//                      Make/O/D/N=1    xs_absorb       = 3.1
2408                NewDataFolder/O/S  root:SANS_file:entry1:instrument             
2409//                      Make/O/T/N=1    location        = "NCNR"
2410                        Make/O/T/N=1    name    = "NGB30mSANS"
2411                        Make/O/T/N=1    type    = "30 m SANS"
2412                        Make/O/T/N=1    local_contact   = "Steve Kline"
2413                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:source             
2414                                Make/O/T/N=1    name    = "NCNR"
2415                                Make/O/T/N=1    type    = "Reactor Neutron Source"
2416                                Make/O/T/N=1    probe   = "neutron"
2417                                Make/O/D/N=1    power   = 20
2418                        NewDataFolder/O/S root:SANS_file:entry1:instrument:beam_monitor         
2419                                Make/O/D/N=1    data    = 1234567
2420                                Make/O/T/N=1    type    = "monitor"
2421                                Make/O/D/N=1    efficiency      = 0.01
2422                                Make/O/D/N=1    nx_distance     = 16
2423                                Make/O/D/N=1    saved_count     = 1e8
2424                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:monochromator               
2425                                Make/O/D/N=1    wavelength      = 6
2426                                Make/O/D/N=1    wavelength_spread       = 0.15
2427                                Make/O/T/N=1    type    = "VS"
2428                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:monochromator:velocity_selector             
2429                                        Make/O/D/N=1    rotation_speed  = 5100
2430                                        Make/O/D/N=1    wavelength      = 6
2431                                        Make/O/D/N=1    wavelength_spread       = 0.15
2432                                        Make/O/D/N=1    vs_tilt = 3
2433                                        Make/O/D/N=1    nx_distance     = 18.8
2434                                                //table
2435                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:polarizer           
2436                                Make/O/T/N=1    type    = "supermirror"
2437                                Make/O/T/N=1    composition     = "multilayer"
2438                                Make/O/D/N=1    efficiency      = 0.95
2439                                Make/O/T/N=1    status  = "in"
2440                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:flipper             
2441                                Make/O/T/N=1    status  = "on"
2442                                Make/O/D/N=1    driving_current = 42
2443                                Make/O/T/N=1    waveform        = "sine"
2444                                Make/O/D/N=1    frequency       = 400
2445                                Make/O/D/N=1    transmitted_power       = 0.99
2446                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:polarizer_analyzer         
2447                                Make/O/T/N=1    status  = "down"
2448                                Make/O/D/N=1    guide_field_current_1   = 33
2449                                Make/O/D/N=1    guide_field_current_2   = 32
2450                                Make/O/D/N=1    solenoid_current        = 21
2451                                Make/O/D/N=1    cell_index      = 1
2452                                Make/O/T/N=(5)  cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
2453                                Make/O/D/N=(5,2)        cell_parameters = 1
2454                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:chopper             
2455                                Make/O/T/N=1    type    = "single"
2456                                Make/O/T/N=1    status  = "in"
2457                                Make/O/D/N=1    rotation_speed  = 12000
2458                                Make/O/D/N=1    distance_from_source    = 400
2459                                Make/O/D/N=1    distance_from_sample    = 1500
2460                                Make/O/D/N=1    slits   = 2
2461                                Make/O/D/N=1    angular_opening = 15
2462                                Make/O/D/N=1    duty_cycle      = 0.25
2463                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:attenuator         
2464                                Make/O/D/N=1    nx_distance     = 1500
2465                                Make/O/T/N=1    type    = "PMMA"
2466                                Make/O/D/N=1    thickness       = 0
2467                                Make/O/D/N=1    attenuator_transmission = 1
2468                                Make/O/T/N=1    status  = "in"
2469                                Make/O/D/N=1    atten_number    = 0
2470                                Make/O/D/N=(10,10)      index   = 1
2471                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture             
2472//                              Make/O/T/N=1    material        = "Gd"
2473                                Make/O/T/N=1    description     = "source aperture"
2474                                Make/O/D/N=1    diameter        = 1.27
2475                                Make/O/D/N=1    nx_distance     = 13.0
2476                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture:shape               
2477                                        Make/O/D/N=(1,2)        size    = 1.27
2478                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture             
2479//                              Make/O/T/N=1    material        = "Gd"
2480                                Make/O/T/N=1    description     = "sample aperture"
2481                                Make/O/D/N=1    diameter        = 1.27
2482                                Make/O/D/N=1    nx_distance     = 10
2483                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture:shape               
2484                                        Make/O/D/N=(1,2)        size    = 1.27
2485                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:collimator         
2486                                NewDataFolder/O/S root:SANS_file:entry1:instrument:collimator:geometry         
2487                                        NewDataFolder/O/S root:SANS_file:entry1:instrument:collimator:geometry:shape           
2488                                                Make/O/T/N=1    shape   = "box"
2489                                                Make/O/D/N=1    size    = 11
2490                                Make/O/I/N=1    nx_NumGuides    = 1
2491                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:lenses             
2492                                Make/O/T/N=1    status  = "in"
2493                                Make/O/T/N=1    lens_geometry   = "concave_lens"
2494                                Make/O/T/N=1    focus_type      = "point"
2495                                Make/O/I/N=1    number_of_lenses        = 28
2496                                Make/O/I/N=1    number_of_prisms        = 7
2497                                Make/O/D/N=1    curvature       = 1
2498                                Make/O/D/N=1    lens_distance   = 123
2499                                Make/O/D/N=1    prism_distance  = 123
2500                                Make/O/T/N=1    lens_material   = "MgF2"
2501                                Make/O/T/N=1    prism_material  = "MgF2"
2502                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_table               
2503                                Make/O/T/N=1    location        = "chamber"
2504                                Make/O/D/N=1    offset_distance = 0
2505                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam_stop           
2506                                Make/O/T/N=1    description     = "circular"
2507                                Make/O/D/N=1    nx_distance     = 12.5
2508                                Make/O/D/N=1    size    = 7.62
2509                                Make/O/T/N=1    status  = "out"
2510                                Make/O/D/N=1    xPos    = 66.4
2511                                Make/O/D/N=1    yPos    = 64.4
2512                                Make/O/D/N=1    x_motor_position        = 0.15
2513                                Make/O/D/N=1    y_motor_position        = 0.55
2514                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:detector           
2515                                Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q)))
2516//                              Make/O/D/N=(128,128)    data_error      = 0.01*abs(gnoise(p+q))
2517                                Make/O/D/N=1    nx_distance     = 13.1
2518                                Make/O/T/N=1    description     = "Ordela 2660N"
2519                                Make/O/T/N=1    settings        = "just right"
2520                                Make/O/D/N=1    dead_time       = 5e-6
2521                                Make/O/D/N=1    x_pixel_size    = 5.08
2522                                Make/O/D/N=1    y_pixel_size    = 5.08
2523                                Make/O/D/N=1    beam_center_x   = 65.55
2524                                Make/O/D/N=1    beam_center_y   = 62.33
2525                                Make/O/T/N=1    type    = "Ordela"
2526//                              Make/O/D/N=1    flatfield_applied       = 0
2527//                              Make/O/D/N=1    countrate_correction_applied    = 0
2528                                Make/O/D/N=(128,128)    pixel_mask      = 0
2529                                Make/O/I/N=1    integrated_count        = 100111222
2530                                Make/O/D/N=1    lateral_offset  = 20
2531                                Make/O/I/N=1    PixelNumX       = 128
2532                                Make/O/I/N=1    PixelNumY       = 128
2533                                Make/O/D/N=1    PixelFWHM       = 0.5
2534                                        //calibration_method   
2535                                Make/O/D/N=3    CALX    = {0.5,0.5,10000}
2536                                Make/O/D/N=3    CALY    = {0.5,0.5,10000}
2537                                Make/O/D/N=1    size    = 65
2538                                Make/O/T/N=1    event_file_name ="something.hst"
2539                NewDataFolder/O/S  root:SANS_file:entry1:data           
2540                        Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q)))
2541//                      Make/O/D/N=(128,128)    error   = 0.01*abs(gnoise(p+q))
2542                        Make/O/D/N=2    variables       = {128,128}
2543                        Make/O/I/N=(128,128)    data_image      = p
2544                NewDataFolder/O/S  root:SANS_file:entry1:reduction             
2545                        Make/O/T/N=1    intent  = "SCATTER"
2546                        Make/O/T/N=1    transmission_file_name  = "SANSFile_TRN.h5"
2547                        Make/O/T/N=1    empty_beam_file_name    = "SANSFile_EB.h5"
2548                        Make/O/T/N=1    background_file_name    = "SANSFile_BKG.h5"
2549                        Make/O/T/N=1    empty_file_name = "SANSFile_EMP.h5"
2550                        Make/O/T/N=1    sensitivity_file_name   = "SANSFile_DIV.h5"
2551                        Make/O/T/N=1    mask_file_name  = "SANSFile_MASK.h5"
2552                        Make/O/T/N=1    sans_log_file_name      = "SANSFile_log.txt"
2553                        Make/O/D/N=1    whole_trans     = 0.888
2554                        Make/O/D/N=1    whole_trans_error       = 0.008
2555                        Make/O/D/N=1    box_count       = 23232
2556                        Make/O/D/N=1    box_count_error = 22
2557                        Make/O/I/N=4    box_coordinates = {50,80,45,75}
2558                        Make/O/T/N=1    comments        = "extra data comments"
2559                        Make/O/D/N=4    absolute_scaling        = {1,1,1e5,1}
2560                        NewDataFolder/O/S  root:SANS_file:entry1:reduction:pol_sans             
2561                                Make/O/T/N=1    pol_sans_purpose        = "name from the list"
2562                                Make/O/T/N=1    cell_name       = "Burgundy"
2563                                Make/O/D/N=(5)  cell_parameters = {1,2,3,4,5}
2564                                               
2565
2566        NewDataFolder/O/S  root:SANS_file:DAS_Logs             
2567                        //...multiple entries and levels... to add     
2568
2569        SetDataFolder root:
2570       
2571End
2572
2573
2574
2575
2576Proc H_Fill_SANS_Attributes()
2577
2578        Abort "Don't use this function - H_Fill_SANS_Attributes"
2579
2580
2581SetDataFolder  root:SANS_file           
2582        Make/O/N=0 Igor___folder_attributes     
2583        Note/K Igor___folder_attributes, "producer=IgorPro\rNX_class=NXroot"
2584        //      file_name               
2585        //      file_time               
2586        //      facility               
2587        //      NeXus_version           
2588        //      hdf_version             
2589        //      file_history           
2590        SetDataFolder  root:SANS_file:entry1           
2591                Make/O/N=0 Igor___folder_attributes     
2592                Note/K Igor___folder_attributes, "NX_class=NXentry"
2593                //      title           
2594                //      experiment_identifier           
2595                //      experiment_description         
2596                //      entry_identifier               
2597                //      definition             
2598                //      start_time             
2599                //      end_time               
2600                //      duration               
2601                Note/K duration, "units=s"
2602                //      collection_time         
2603                Note/K collection_time, "units=s"
2604                //      run_cycle               
2605                //      data_directory         
2606                //      program_name           
2607                SetDataFolder  root:SANS_file:entry1:user               
2608                        Make/O/N=0 Igor___folder_attributes     
2609                        Note/K Igor___folder_attributes, "NX_class=NXuser"
2610                        //      name           
2611                        //      role           
2612                        //      affiliation             
2613                        //      address         
2614                        //      telephoneNumber         
2615                        //      faxNumber               
2616                        //      email           
2617                        //      facility_user_id               
2618                SetDataFolder  root:SANS_file:entry1:control           
2619                        Make/O/N=0 Igor___folder_attributes     
2620                        Note/K Igor___folder_attributes, "NX_class=NXmonitor"
2621                        //      mode           
2622                        //      preset         
2623                        //      integral               
2624                        //      monitor_counts         
2625                        //      monitor_preset         
2626                        //      detector_counts         
2627                        //      detector_preset         
2628                        //      type           
2629                        //      efficiency             
2630                        //      sampled_fraction               
2631                        //      count_start             
2632                        Note/K count_start, "units=s"
2633                        //      count_end               
2634                        Note/K count_end, "units=s"
2635                        //      count_time             
2636                        Note/K count_time, "units=s"
2637                        //      count_time_preset               
2638                        Note/K count_time_preset, "units=s"
2639//              SetDataFolder  root:SANS_file:entry1:program_name               
2640//                      Make/O/N=0 Igor___folder_attributes     
2641                        //      data           
2642                        //      description             
2643                        //      file_name               
2644                        //      type           
2645                SetDataFolder  root:SANS_file:entry1:sample             
2646                        Make/O/N=0 Igor___folder_attributes     
2647                        Note/K Igor___folder_attributes, "NX_class=NXsample"
2648                        //      description             
2649                        //      group_id               
2650                        //      chemical_formula               
2651                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
2652                                Make/O/N=0 Igor___folder_attributes     
2653                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2654                                //      name           
2655                                //      attached_to             
2656                                //      measurement             
2657                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
2658                                        Make/O/N=0 Igor___folder_attributes     
2659                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2660                                        //      start           
2661                                        //      nx_time         
2662                                        Note/K nx_time, "units=s"
2663                                        //      value           
2664                                        Note/K value, "units=C"
2665                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
2666                                Make/O/N=0 Igor___folder_attributes     
2667                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2668                                //      name           
2669                                //      attached_to             
2670                                //      measurement             
2671                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
2672                                        Make/O/N=0 Igor___folder_attributes     
2673                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2674                                        //      start           
2675                                        //      nx_time         
2676                                        Note/K nx_time, "units=s"
2677                                        //      value           
2678                                        Note/K value, "units=C"
2679                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
2680                                Make/O/N=0 Igor___folder_attributes     
2681                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2682                                //      name           
2683                                //      attached_to             
2684                                //      measurement             
2685                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
2686                                        Make/O/N=0 Igor___folder_attributes     
2687                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2688                                        //      start           
2689                                        //      nx_time         
2690                                        Note/K nx_time, "units=s"
2691                                        //      value           
2692                                        Note/K value, "units=V"
2693                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
2694                                Make/O/N=0 Igor___folder_attributes     
2695                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2696                                //      name           
2697                                //      attached_to             
2698                                //      measurement             
2699                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
2700                                        Make/O/N=0 Igor___folder_attributes     
2701                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2702                                        //      start           
2703                                        //      nx_time         
2704                                        Note/K nx_time, "units=s"
2705                                        //      value           
2706                                        Note/K value, "units=Pa s"
2707                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
2708                                Make/O/N=0 Igor___folder_attributes     
2709                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2710                                //      name           
2711                                //      attached_to             
2712                                //      measurement             
2713                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
2714                                        Make/O/N=0 Igor___folder_attributes     
2715                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2716                                        //      start           
2717                                        //      nx_time         
2718                                        Note/K nx_time, "units=s"
2719                                        //      value           
2720                                        Note/K value, "units=psi"
2721                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
2722                                Make/O/N=0 Igor___folder_attributes     
2723                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
2724                                //      name           
2725                                //      attached_to             
2726                                //      measurement             
2727                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
2728                                        Make/O/N=0 Igor___folder_attributes     
2729                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
2730                                        //      start           
2731                                        //      nx_time         
2732                                        Note/K nx_time, "units=s"
2733                                        //      value           
2734                                        Note/K value, "units=T"
2735                        SetDataFolder  root:SANS_file:entry1:sample                     
2736                        //      changer_position               
2737                        //      sample_holder_description               
2738                        //      mass           
2739//                      Note/K mass, "units=g"
2740                        //      density         
2741//                      Note/K density, "units=g ml-1"
2742                        //      molecular_weight               
2743//                      Note/K molecular_weight, "units=g mol-1"
2744                        //      description             
2745                        //      preparation_date               
2746                        //      volume_fraction         
2747                        //      scattering_length_density               
2748//                      Note/K scattering_length_density, "units=A-2"
2749                        //      thickness               
2750                        Note/K thickness, "units=cm"
2751                        //      rotation_angle         
2752                        Note/K rotation_angle, "units=degrees"
2753                        //      transmission           
2754                        //      transmission_error             
2755                        //      xs_incoh               
2756//                      Note/K xs_incoh, "units=cm-1"
2757                        //      xs_coh         
2758//                      Note/K xs_coh, "units=cm-1"
2759                        //      xs_absorb               
2760//                      Note/K xs_absorb, "units=cm-1"
2761                SetDataFolder  root:SANS_file:entry1:instrument         
2762                        Make/O/N=0 Igor___folder_attributes     
2763                        Note/K Igor___folder_attributes, "NX_class=NXinstrument"
2764                        //      location               
2765                        //      name           
2766                        //      type           
2767                        //      local_contact           
2768                        SetDataFolder  root:SANS_file:entry1:instrument:source         
2769                                Make/O/N=0 Igor___folder_attributes     
2770                                Note/K Igor___folder_attributes, "NX_class=NXsource"
2771                                //      name           
2772                                //      type           
2773                                //      probe           
2774                                //      power           
2775                                Note/K power, "units=MW"
2776                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
2777                                Make/O/N=0 Igor___folder_attributes     
2778                                Note/K Igor___folder_attributes, "NX_class=NXmonitor"
2779                                //      data           
2780                                //      type           
2781                                //      efficiency             
2782                                //      nx_distance             
2783                                Note/K nx_distance, "units=m"
2784                                //      saved_count             
2785                        SetDataFolder  root:SANS_file:entry1:instrument:monochromator           
2786                                Make/O/N=0 Igor___folder_attributes     
2787                                Note/K Igor___folder_attributes, "NX_class=NXmonochromator"
2788                                //      wavelength             
2789                                Note/K wavelength, "units=A"
2790                                //      wavelength_spread               
2791                                //      type           
2792                                SetDataFolder  root:SANS_file:entry1:instrument:monochromator:velocity_selector         
2793                                        Make/O/N=0 Igor___folder_attributes     
2794                                        Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector"
2795                                        //      rotation_speed         
2796                                        Note/K rotation_speed, "units=RPM"
2797                                        //      wavelength             
2798                                        Note/K wavelength, "units=A"
2799                                        //      wavelength_spread               
2800                                        //      vs_tilt         
2801                                        Note/K vs_tilt, "units=degrees"
2802                                        //      nx_distance             
2803                                        Note/K nx_distance, "units=m"
2804                                                //table         
2805                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer               
2806                                Make/O/N=0 Igor___folder_attributes     
2807                                //      type           
2808                                //      composition             
2809                                //      efficiency             
2810                                //      status         
2811                        SetDataFolder  root:SANS_file:entry1:instrument:flipper         
2812                                Make/O/N=0 Igor___folder_attributes     
2813                                //      status         
2814                                //      driving_current         
2815                                Note/K driving_current, "units=A"
2816                                //      waveform               
2817                                //      frequency               
2818                                Note/K frequency, "units=Hz"
2819                                //      transmitted_power               
2820                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer_analyzer             
2821                                Make/O/N=0 Igor___folder_attributes     
2822                                //      status         
2823                                //      guide_field_current_1           
2824                                Note/K guide_field_current_1, "units=A"
2825                                //      guide_field_current_2           
2826                                Note/K guide_field_current_2, "units=A"
2827                                //      solenoid_current               
2828                                Note/K solenoid_current, "units=A"
2829                                //      cell_index             
2830                                //      cell_names             
2831                                //      cell_parameters         
2832                        SetDataFolder  root:SANS_file:entry1:instrument:chopper         
2833                                Make/O/N=0 Igor___folder_attributes     
2834                                Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper"
2835                                //      type           
2836                                //      status         
2837                                //      rotation_speed         
2838                                Note/K rotation_speed, "units=RPM"
2839                                //      distance_from_source           
2840                                Note/K distance_from_source, "units=m"
2841                                //      distance_from_sample           
2842                                Note/K distance_from_sample, "units=m"
2843                                //      slits           
2844                                //      angular_opening         
2845                                Note/K angular_opening, "units=degrees"
2846                                //      duty_cycle             
2847                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
2848                                Make/O/N=0 Igor___folder_attributes     
2849                                Note/K Igor___folder_attributes, "NX_class=NXattenuator"
2850                                //      nx_distance             
2851                                Note/K nx_distance, "units=m"
2852                                //      type           
2853                                //      thickness               
2854                                Note/K thickness, "units=cm"
2855                                //      attenuator_transmission         
2856                                //      status         
2857                                //      atten_number           
2858                                //      index           
2859                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
2860                                Make/O/N=0 Igor___folder_attributes     
2861                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
2862                                //      material               
2863                                //      description             
2864                                //      diameter               
2865                                Note/K diameter, "units=cm"
2866                                //      nx_distance             
2867                                Note/K nx_distance, "units=m"
2868                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
2869                                        Make/O/N=0 Igor___folder_attributes     
2870                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
2871                                        //      size           
2872                                        Note/K size, "units=cm"
2873                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
2874                                Make/O/N=0 Igor___folder_attributes     
2875                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
2876                                //      material               
2877                                //      description             
2878                                //      diameter               
2879                                Note/K diameter, "units=cm"
2880                                //      nx_distance             
2881                                Note/K nx_distance, "units=m"
2882                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
2883                                        Make/O/N=0 Igor___folder_attributes     
2884                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
2885                                        //      size           
2886                                        Note/K size, "units=cm"
2887                        SetDataFolder root:SANS_file:entry1:instrument:collimator                       
2888                                SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry                     
2889                                        SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry:shape                       
2890                                                //      shape           
2891                                                //      size           
2892                                                Note/K size, "units=m"
2893                                //      nx_NumGuides           
2894                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
2895                                Make/O/N=0 Igor___folder_attributes     
2896                                Note/K Igor___folder_attributes, "NX_class=NXxraylens"
2897                                //      status         
2898                                //      lens_geometry           
2899                                //      focus_type             
2900                                //      number_of_lenses               
2901                                //      number_of_prisms               
2902                                //      curvature               
2903                                //      lens_distance           
2904                                Note/K lens_distance, "units=m"
2905                                //      prism_distance         
2906                                Note/K prism_distance, "units=m"
2907                                //      lens_material           
2908                                //      prism_material         
2909                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
2910                                Make/O/N=0 Igor___folder_attributes     
2911                                //      location               
2912                                //      offset_distance         
2913                                Note/K offset_distance, "units=cm"
2914                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
2915                                Make/O/N=0 Igor___folder_attributes     
2916                                Note/K Igor___folder_attributes, "NX_class=NXbeam_stop"
2917                                //      description             
2918                                //      nx_distance             
2919                                Note/K nx_distance, "units=m"
2920                                //      size           
2921                                Note/K size, "units=cm"
2922                                //      status         
2923                                //      xPos           
2924                                //      yPos           
2925                                //      x_motor_position               
2926                                Note/K x_motor_position, "units=cm"
2927                                //      y_motor_position               
2928                                Note/K y_motor_position, "units=cm"
2929                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
2930                                Make/O/N=0 Igor___folder_attributes     
2931                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
2932                                //      data           
2933                                Note/K data, "signal=1"
2934                                //      data_error             
2935                                //      nx_distance             
2936                                Note/K nx_distance, "units=m"
2937                                //      description             
2938                                //      settings               
2939                                //      dead_time               
2940                                Note/K dead_time, "units=s"
2941                                //      x_pixel_size           
2942                                Note/K x_pixel_size, "units=cm"
2943                                //      y_pixel_size           
2944                                Note/K y_pixel_size, "units=cm"
2945                                //      beam_center_x           
2946                                //      beam_center_y           
2947                                //      type           
2948                                //      flatfield_applied               
2949                                //      countrate_correction_applied           
2950                                //      pixel_mask             
2951                                //      integrated_count               
2952                                //      lateral_offset         
2953                                Note/K lateral_offset, "units=cm"
2954                                //      PixelNumX               
2955                                //      PixelNumY               
2956                                //      PixelFWHM               
2957                                        //calibration_method           
2958                                //      CALX           
2959                                //      CALY           
2960                                //      size           
2961                                Note/K size, "units=cm"
2962                                //      event_file_name         
2963                SetDataFolder  root:SANS_file:entry1:data               
2964                        Make/O/N=0 Igor___folder_attributes     
2965                        Note/K Igor___folder_attributes, "NX_class=NXdata"
2966                        //      data           
2967                        Note/K data, "signal=1"
2968                        //      error           
2969                        //      variables               
2970                        //      data_image             
2971                SetDataFolder  root:SANS_file:entry1:reduction         
2972                        Make/O/N=0 Igor___folder_attributes     
2973                        //      intent         
2974                        //      transmission_file_name         
2975                        //      empty_beam_file_name           
2976                        //      background_file_name           
2977                        //      empty_file_name         
2978                        //      sensitivity_file_name           
2979                        //      mask_file_name         
2980                        //      sans_log_file_name             
2981                        //      whole_trans             
2982                        //      whole_trans_error               
2983                        //      box_count               
2984                        //      box_count_error         
2985                        //      box_coordinates         
2986                        //      comments               
2987                        //      absolute_scaling               
2988                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
2989                                Make/O/N=0 Igor___folder_attributes     
2990                                //      pol_sans_purpose               
2991                                //      cell_name               
2992                                //      cell_parameters         
2993                                                       
2994        SetDataFolder  root:SANS_file:DAS_Logs         
2995                Make/O/N=0 Igor___folder_attributes     
2996                Note/K Igor___folder_attributes, "NX_class=NXlog"
2997                        //...multiple entries and levels... to add             
2998
2999
3000        SetDataFolder root:     
3001
3002End
3003
3004
3005//
3006// this is NOT linked in any way with SASCALC, and I have no idea
3007// of how to ever keep this in sync if the Nexus tree changes...
3008//
3009Proc H_Fill_SANS_wSim()
3010
3011        Abort "Don't use this function - H_Fill_SANS_wSim"
3012
3013
3014SetDataFolder  root:SANS_file           
3015                file_name       = "SANSTest.h5"
3016                file_time       = "2015-02-28T08:15:30-5:00"
3017                facility        = "NCNR"
3018                NeXus_version   = "Nexus 0.0"
3019                hdf_version     = "hdf5.x"
3020                file_history    = "history log"
3021        SetDataFolder  root:SANS_file:entry1           
3022                        title   = "title of entry1"
3023                        experiment_identifier   = 684636
3024                        experiment_description  = "description of expt"
3025                        entry_identifier        = "S22-33"
3026                        definition      = "NXsas"
3027                        start_time      = "2015-02-28T08:15:30-5:00"
3028                        end_time        = "2015-02-28T08:15:30-5:00"
3029                        duration        = 300
3030                        collection_time = 300
3031                        run_cycle       = "S22-23"
3032                        data_directory  = "[NG7SANS41]"
3033                        program_name    = "runPoint={stuff}"
3034                SetDataFolder  root:SANS_file:entry1:user               
3035                                name    = "Dr. Pi"
3036                                role    = "evil scientist"
3037                                affiliation     = "NIST"
3038                                address = "100 Bureau Drive"
3039                                telephoneNumber = "301-999-9999"
3040                                faxNumber       = "301-999-9999"
3041                                email   = "sans@nist"
3042                                facility_user_id        = 6937596
3043                SetDataFolder  root:SANS_file:entry1:control           
3044                                mode    = "timer"
3045                                preset  = 555
3046                                integral        = 555
3047                                monitor_counts  = 666
3048                                monitor_preset  = 1e8
3049                                detector_counts = 100111222
3050                                detector_preset = 1e5
3051//                              type    = "monitor type"
3052//                              efficiency      = 0.01
3053//                              sampled_fraction        = 1
3054                                count_start     = 1
3055                                count_end       = 1
3056                                count_time      = 1
3057                                count_time_preset       = 1
3058//              SetDataFolder  root:SANS_file:entry1:program_name               
3059//                              data    = "program data"
3060//                              description     = "acquisition"
3061//                              file_name       = "NICE"
3062//                              type    = "client"
3063                SetDataFolder  root:SANS_file:entry1:sample             
3064                                description     = "My Sample"
3065                                group_id        = 12345
3066//                              chemical_formula        = "C8H10N4O2"
3067                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
3068                                        name    = "Sample temperature"
3069                                        attached_to     = "block"
3070                                        measurement     = "temperature"
3071                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
3072                                                start   = "2015-02-28T08:15:30-5:00"
3073                                                nx_time = p
3074                                                value   = 2*p
3075                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
3076                                        name    = "Sample temperature"
3077                                        attached_to     = "block"
3078                                        measurement     = "temperature"
3079                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
3080                                                start   = "2015-02-28T08:15:30-5:00"
3081                                                nx_time = p
3082                                                value   = 3*p
3083                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
3084                                        name    = "electric meter"
3085                                        attached_to     = "sample"
3086                                        measurement     = "voltage"
3087                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
3088                                                start   = "2015-02-28T08:15:30-5:00"
3089                                                nx_time = 2*p
3090                                                value   = sin(p/10)
3091                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
3092                                        name    = "rheometer"
3093                                        attached_to     = "sample"
3094                                        measurement     = "stress"
3095                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
3096                                                start   = "2015-02-28T08:15:30-5:00"
3097                                                nx_time = p
3098                                                value   = cos(p/5)
3099                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
3100                                        name    = "Sample pressure"
3101                                        attached_to     = "pressure cell"
3102                                        measurement     = "pressure"
3103                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
3104                                                start   = "2015-02-28T08:15:30-5:00"
3105                                                nx_time = p
3106                                                value   = p/2
3107                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
3108                                        name    = "magnetic field (direction)"
3109                                        attached_to     = "cryostat"
3110                                        measurement     = "magnetic field"
3111                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
3112                                                start   = "2015-02-28T08:15:30-5:00"
3113                                                nx_time = p
3114                                                value   = 10*p
3115                        SetDataFolder  root:SANS_file:entry1:sample             
3116                                changer_position        = 5
3117                                sample_holder_description       = "10CB"
3118//                              mass    = 0.3
3119//                              density = 1.02
3120//                              molecular_weight        = 194.19
3121//                              description     = "My Sample"
3122//                              preparation_date        = "2015-02-28T08:15:30-5:00"
3123//                              volume_fraction = 0.2
3124//                              scattering_length_density       = 6.35e-6
3125                                thickness       = 0.1
3126                                rotation_angle  = 30
3127                                transmission    = 0.888
3128                                transmission_error      = 0.011
3129//                              xs_incoh        = 5.5
3130//                              xs_coh  = 22.2
3131//                              xs_absorb       = 3.1
3132                SetDataFolder  root:SANS_file:entry1:instrument         
3133//                              location        = "NCNR"
3134                                name    = "NGB30mSANS"
3135                                type    = "30 m SANS"
3136                                local_contact   = "Steve Kline"
3137                        SetDataFolder  root:SANS_file:entry1:instrument:source         
3138                                        name    = "NCNR"
3139                                        type    = "Reactor Neutron Source"
3140                                        probe   = "neutron"
3141                                        power   = 20
3142                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
3143                                        data    = 1234567
3144                                        type    = "monitor"
3145                                        efficiency      = 0.01
3146                                        nx_distance     = 16
3147                                        saved_count     = 1e8
3148                        SetDataFolder  root:SANS_file:entry1:instrument:monochromator           
3149                                        wavelength      = 6
3150                                        wavelength_spread       = 0.15
3151                                        type    = "VS"
3152                                SetDataFolder  root:SANS_file:entry1:instrument:monochromator:velocity_selector         
3153                                                rotation_speed  = 5100
3154                                                wavelength      = 6
3155                                                wavelength_spread       = 0.15
3156                                                vs_tilt = 3
3157                                                nx_distance     = 18.8
3158                                                //table
3159                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer               
3160                                        type    = "supermirror"
3161                                        composition     = "multilayer"
3162                                        efficiency      = 0.95
3163                                        status  = "in"
3164                        SetDataFolder  root:SANS_file:entry1:instrument:flipper         
3165                                        status  = "on"
3166                                        driving_current = 42
3167                                        waveform        = "sine"
3168                                        frequency       = 400
3169                                        transmitted_power       = 0.99
3170                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer_analyzer             
3171                                        status  = "down"
3172                                        guide_field_current_1   = 33
3173                                        guide_field_current_2   = 32
3174                                        solenoid_current        = 21
3175                                        cell_index      = 1
3176                                        cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
3177                                        cell_parameters = 1
3178                        SetDataFolder  root:SANS_file:entry1:instrument:chopper         
3179                                        type    = "single"
3180                                        status  = "in"
3181                                        rotation_speed  = 12000
3182                                        distance_from_source    = 400
3183                                        distance_from_sample    = 1500
3184                                        slits   = 2
3185                                        angular_opening = 15
3186                                        duty_cycle      = 0.25
3187                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
3188                                        nx_distance     = 1500
3189                                        type    = "PMMA"
3190                                        thickness       = 0
3191                                        attenuator_transmission = 1
3192                                        status  = "in"
3193                                        atten_number    = 0
3194                                        index   = 1
3195                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
3196//                                      material        = "Gd"
3197                                        description     = "source aperture"
3198                                        diameter        = 1.27
3199                                        nx_distance     = 13.0
3200                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
3201                                                size    = 1.27
3202                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
3203//                                      material        = "Gd"
3204                                        description     = "sample aperture"
3205                                        diameter        = 1.27
3206                                        nx_distance     = 10
3207                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
3208                                                size    = 1.27
3209                        SetDataFolder root:SANS_file:entry1:instrument:collimator               
3210                                SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry             
3211                                        SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry:shape               
3212                                                        shape   = "box"
3213                                                        size    = 11
3214                                        nx_NumGuides    = 1
3215                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
3216                                        status  = "in"
3217                                        lens_geometry   = "concave_lens"
3218                                        focus_type      = "point"
3219                                        number_of_lenses        = 28
3220                                        number_of_prisms        = 7
3221                                        curvature       = 1
3222                                        lens_distance   = 123
3223                                        prism_distance  = 123
3224                                        lens_material   = "MgF2"
3225                                        prism_material  = "MgF2"
3226                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
3227                                        location        = "chamber"
3228                                        offset_distance = 0
3229                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
3230                                        description     = "circular"
3231                                        nx_distance     = 12.5
3232                                        size    = 7.62
3233                                        status  = "out"
3234                                        xPos    = 66.4
3235                                        yPos    = 64.4
3236                                        x_motor_position        = 0.15
3237                                        y_motor_position        = 0.55
3238                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
3239                                        data    = trunc(abs(gnoise(p+q)))
3240//                                      data_error      = 0.01*abs(gnoise(p+q))
3241                                        nx_distance     = 13.1
3242                                        description     = "Ordela 2660N"
3243                                        settings        = "just right"
3244                                        dead_time       = 5e-6
3245                                        x_pixel_size    = 5.08
3246                                        y_pixel_size    = 5.08
3247                                        beam_center_x   = 65.55
3248                                        beam_center_y   = 62.33
3249                                        type    = "Ordela"
3250//                                      flatfield_applied       = 0
3251//                                      countrate_correction_applied    = 0
3252                                        pixel_mask      = 0
3253                                        integrated_count        = 100111222
3254                                        lateral_offset  = 20
3255                                        PixelNumX       = 128
3256                                        PixelNumY       = 128
3257                                        PixelFWHM       = 0.5
3258                                        //calibration_method   
3259                                        CALX    = {0.5,0.5,10000}
3260                                        CALY    = {0.5,0.5,10000}
3261                                        size    = 65
3262                                        event_file_name ="something.hst"
3263                SetDataFolder  root:SANS_file:entry1:data               
3264                                data    = trunc(abs(gnoise(p+q)))
3265//                              error   = 0.01*abs(gnoise(p+q))
3266                                variables       = {128,128}
3267                                data_image      = p
3268                SetDataFolder  root:SANS_file:entry1:reduction         
3269                                intent  = "SCATTER"
3270                                transmission_file_name  = "SANSFile_TRN.h5"
3271                                empty_beam_file_name    = "SANSFile_EB.h5"
3272                                background_file_name    = "SANSFile_BKG.h5"
3273                                empty_file_name = "SANSFile_EMP.h5"
3274                                sensitivity_file_name   = "SANSFile_DIV.h5"
3275                                mask_file_name  = "SANSFile_MASK.h5"
3276                                sans_log_file_name      = "SANSFile_log.txt"
3277                                whole_trans     = 0.888
3278                                whole_trans_error       = 0.008
3279                                box_count       = 23232
3280                                box_count_error = 22
3281                                box_coordinates = {50,80,45,75}
3282                                comments        = "extra data comments"
3283                                absolute_scaling        = {1,1,1e5,1}
3284                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
3285                                        pol_sans_purpose        = "name from the list"
3286                                        cell_name       = "Burgundy"
3287                                        cell_parameters = {1,2,3,4,5}
3288                                               
3289        SetDataFolder  root:SANS_file:DAS_Logs         
3290                        //...multiple entries and levels... to add     
3291
3292
3293        SetDataFolder root:
3294
3295End
3296
3297
3298
Note: See TracBrowser for help on using the repository browser.