source: sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_NexusFromIgor.ipf @ 969

Last change on this file since 969 was 969, checked in by srkline, 7 years ago

more additions to the R/W functions to access VSANS data files

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