source: sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/Nexus_SANS_Write.ipf @ 955

Last change on this file since 955 was 955, checked in by srkline, 8 years ago

some reorganization of the r/w routines to generate HDF test files for SANS and VSANS (all are housed together for testing). also some reorganization of the detector binning routines to get functions grouped in more logical locations.

File size: 33.6 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2
3
4//
5// this is a test of the "new" SANS file structure that is supposed to be
6// NeXus compliant. It doesn't have the NICE logs, but has everything that I
7// can think of here.
8//
9
10
11
12
13
14//
15// lays out the tree and fills with dummy values
16//
17Proc H_Setup_SANS_Structure()
18       
19        Variable n=100
20       
21NewDataFolder/O/S root:SANS_file       
22        Make/O/T/N=1    file_name       = "SANSTest.h5"
23        Make/O/T/N=1    file_time       = "2015-02-28T08:15:30-5:00"
24        Make/O/T/N=1    facility        = "NCNR"
25        Make/O/T/N=1    NeXus_version   = "Nexus 0.0"
26        Make/O/T/N=1    hdf_version     = "hdf5.x"
27        Make/O/T/N=1    file_history    = "history log"
28        NewDataFolder/O/S  root:SANS_file:entry1               
29                Make/O/T/N=1    title   = "title of entry1"
30                Make/O/D/N=1    experiment_identifier   = 684636
31                Make/O/T/N=1    experiment_description  = "description of expt"
32                Make/O/T/N=1    entry_identifier        = "S22-33"
33                Make/O/T/N=1    definition      = "NXsas"
34                Make/O/T/N=1    start_time      = "2015-02-28T08:15:30-5:00"
35                Make/O/T/N=1    end_time        = "2015-02-28T08:15:30-5:00"
36                Make/O/D/N=1    duration        = 300
37                Make/O/D/N=1    collection_time = 300
38                Make/O/T/N=1    run_cycle       = "S22-23"
39                Make/O/T/N=1    intent  = "RAW"
40                Make/O/T/N=1    data_directory  = "[NG7SANS41]"
41                NewDataFolder/O/S  root:SANS_file:entry1:user           
42                        Make/O/T/N=1    name    = "Dr. Pi"
43                        Make/O/T/N=1    role    = "evil scientist"
44                        Make/O/T/N=1    affiliation     = "NIST"
45                        Make/O/T/N=1    address = "100 Bureau Drive"
46                        Make/O/T/N=1    telephoneNumber = "301-999-9999"
47                        Make/O/T/N=1    faxNumber       = "301-999-9999"
48                        Make/O/T/N=1    email   = "sans@nist"
49                        Make/O/I/N=1    facility_user_id        = 6937596
50                NewDataFolder/O/S  root:SANS_file:entry1:control               
51                        Make/O/T/N=1    mode    = "timer"
52                        Make/O/D/N=1    preset  = 555
53                        Make/O/D/N=1    integral        = 555
54                        Make/O/D/N=1    monitor_counts  = 666
55                        Make/O/D/N=1    monitor_preset  = 1e8
56                        Make/O/T/N=1    type    = "monitor type"
57                        Make/O/D/N=1    efficiency      = 0.01
58                        Make/O/D/N=1    sampled_fraction        = 1
59                        Make/O/D/N=1    nominal = 1e8
60                        Make/O/D/N=1    data    = 1
61                        Make/O/D/N=1    nx_distance     = 13.1
62                        Make/O/D/N=1    detector_counts = 100111222
63                        Make/O/D/N=1    detector_preset = 1e5
64                        Make/O/D/N=1    detector_mask   = 1
65                NewDataFolder/O/S  root:SANS_file:entry1:program_name           
66                        Make/O/T/N=1    data    = "program data"
67                        Make/O/T/N=1    description     = "acquisition"
68                        Make/O/T/N=1    file_name       = "NICE"
69                        Make/O/T/N=1    type    = "client"
70                NewDataFolder/O/S  root:SANS_file:entry1:sample         
71                        Make/O/T/N=1    name    = "My Sample"
72                        Make/O/T/N=1    chemical_formula        = "C8H10N4O2"
73                        NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1           
74                                Make/O/T/N=1    name    = "Sample temperature"
75                                Make/O/T/N=1    attached_to     = "block"
76                                Make/O/T/N=1    measurement     = "temperature"
77                                NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1:value_log         
78                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
79                                        Make/O/D/N=(n)  nx_time = p
80                                        Make/O/D/N=(n)  value   = 2*p
81                        NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2           
82                                Make/O/T/N=1    name    = "Sample temperature"
83                                Make/O/T/N=1    attached_to     = "block"
84                                Make/O/T/N=1    measurement     = "temperature"
85                                NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2:value_log         
86                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
87                                        Make/O/D/N=(n)  nx_time = p
88                                        Make/O/D/N=(n)  value   = 3*p
89                        NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field         
90                                Make/O/T/N=1    name    = "electric meter"
91                                Make/O/T/N=1    attached_to     = "sample"
92                                Make/O/T/N=1    measurement     = "voltage"
93                                NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field:value_log               
94                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
95                                        Make/O/D/N=(n)  nx_time = 2*p
96                                        Make/O/D/N=(n)  value   = sin(p/10)
97                        NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field             
98                                Make/O/T/N=1    name    = "rheometer"
99                                Make/O/T/N=1    attached_to     = "sample"
100                                Make/O/T/N=1    measurement     = "stress"
101                                NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field:value_log           
102                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
103                                        Make/O/D/N=(n)  nx_time = p
104                                        Make/O/D/N=(n)  value   = cos(p/5)
105                        NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure               
106                                Make/O/T/N=1    name    = "Sample pressure"
107                                Make/O/T/N=1    attached_to     = "pressure cell"
108                                Make/O/T/N=1    measurement     = "pressure"
109                                NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure:value_log             
110                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
111                                        Make/O/D/N=(n)  nx_time = p
112                                        Make/O/D/N=(n)  value   = p/2
113                        NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field         
114                                Make/O/T/N=1    name    = "magnetic field (direction)"
115                                Make/O/T/N=1    attached_to     = "cryostat"
116                                Make/O/T/N=1    measurement     = "magnetic field"
117                                NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field:value_log               
118                                        Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00"
119                                        Make/O/D/N=(n)  nx_time = p
120                                        Make/O/D/N=(n)  value   = 10*p
121                        SetDataFolder  root:SANS_file:entry1:sample
122                        Make/O/D/N=1    changer_position        = 5
123                        Make/O/T/N=1    sample_holder_description       = "10CB"
124                        Make/O/D/N=1    mass    = 0.3
125                        Make/O/D/N=1    density = 1.02
126                        Make/O/D/N=1    molecular_weight        = 194.19
127                        Make/O/T/N=1    description     = "My Sample"
128                        Make/O/T/N=1    preparation_date        = "2015-02-28T08:15:30-5:00"
129                        Make/O/D/N=1    volume_fraction = 0.2
130                        Make/O/D/N=1    scattering_length_density       = 6.35e-6
131                        Make/O/D/N=1    thickness       = 0.1
132                        Make/O/D/N=1    rotation_angle  = 30
133                        Make/O/D/N=1    transmission    = 0.888
134                        Make/O/D/N=1    transmission_error      = 0.011
135                        Make/O/D/N=1    xs_incoh        = 5.5
136                        Make/O/D/N=1    xs_coh  = 22.2
137                        Make/O/D/N=1    xs_absorb       = 3.1
138                NewDataFolder/O/S  root:SANS_file:entry1:instrument             
139                        Make/O/T/N=1    location        = "NCNR"
140                        Make/O/T/N=1    description     = "NGB30mSANS"
141                        Make/O/T/N=1    type    = "30 m SANS"
142                        Make/O/T/N=1    local_contact   = "Steve Kline"
143                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:source             
144                                Make/O/T/N=1    name    = "NCNR"
145                                Make/O/T/N=1    type    = "Reactor Neutron Source"
146                                Make/O/T/N=1    probe   = "neutron"
147                                Make/O/D/N=1    power   = 20
148                        NewDataFolder/O/S root:SANS_file:entry1:instrument:beam_monitor         
149                                Make/O/D/N=1    data    = 1234567
150                                Make/O/T/N=1    type    = "monitor"
151                                Make/O/D/N=1    efficiency      = 0.01
152                                Make/O/D/N=1    nx_distance     = 16
153                                Make/O/D/N=1    saved_count     = 1e8
154                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam               
155                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:monochromator         
156                                        Make/O/D/N=1    wavelength      = 6
157                                        Make/O/D/N=1    wavelength_spread       = 0.15
158                                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:monochromator:velocity_selector               
159                                                Make/O/T/N=1    type    = "VS"
160                                                Make/O/D/N=1    rotation_speed  = 5100
161                                                Make/O/D/N=1    wavelength      = 6
162                                                Make/O/D/N=1    wavelength_spread       = 0.15
163                                                Make/O/D/N=1    vs_tilt = 3
164                                                Make/O/D/N=1    nx_distance     = 18.8
165                                                        //table (wave) 
166                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:polarizer             
167                                        Make/O/T/N=1    type    = "supermirror"
168                                        Make/O/T/N=1    composition     = "multilayer"
169                                        Make/O/D/N=1    efficiency      = 0.95
170                                        Make/O/T/N=1    status  = "in"
171                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:flipper               
172                                        Make/O/T/N=1    status  = "on"
173                                        Make/O/D/N=1    driving_current = 42
174                                        Make/O/T/N=1    waveform        = "sine"
175                                        Make/O/D/N=1    frequency       = 400
176                                        Make/O/D/N=1    transmitted_power       = 0.99
177                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:polarizer_analyzer             
178                                        Make/O/T/N=1    status  = "down"
179                                        Make/O/D/N=1    guide_field_current_1   = 33
180                                        Make/O/D/N=1    guide_field_current_2   = 32
181                                        Make/O/D/N=1    solenoid_current        = 21
182                                        Make/O/D/N=1    cell_index      = 1
183                                        Make/O/T/N=(5)  cell_names      = {"Burgundy","Olaf"}
184                                        Make/O/D/N=(5,2)        cell_parameters = 1
185                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam:chopper               
186                                        Make/O/T/N=1    type    = "single"
187                                        Make/O/D/N=1    rotation_speed  = 12000
188                                        Make/O/D/N=1    distance_from_source    = 400
189                                        Make/O/D/N=1    distance_from_sample    = 1500
190                                        Make/O/D/N=1    slits   = 2
191                                        Make/O/D/N=1    angular_opening = 15
192                                        Make/O/D/N=1    duty_cycle      = 0.25
193                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:attenuator         
194                                Make/O/D/N=1    nx_distance     = 1500
195                                Make/O/T/N=1    type    = "PMMA"
196                                Make/O/D/N=1    thickness       = 0
197                                Make/O/D/N=1    attenuator_transmission = 1
198                                Make/O/T/N=1    status  = "in"
199                                Make/O/D/N=1    atten_number    = 0
200                                Make/O/D/N=(10,10)      index   = 1
201                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture             
202                                Make/O/T/N=1    material        = "Gd"
203                                Make/O/T/N=1    description     = "source aperture"
204                                Make/O/D/N=1    diameter        = 1.27
205                                Make/O/D/N=1    nx_distance     = 13.0
206                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture:shape               
207                                        Make/O/D/N=(1,2)        size    = 1.27
208                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture             
209                                Make/O/T/N=1    material        = "Gd"
210                                Make/O/T/N=1    description     = "sample aperture"
211                                Make/O/D/N=1    diameter        = 1.27
212                                Make/O/D/N=1    nx_distance     = 10
213                                NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture:shape               
214                                        Make/O/D/N=(1,2)        size    = 1.27
215                        SetDataFolder  root:SANS_file:entry1:instrument
216                        Make/O/I/N=1    nx_NumGuides    = 1
217                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:lenses             
218                                Make/O/T/N=1    lens_geometry   = "concave_lens"
219                                Make/O/T/N=1    focus_type      = "point"
220                                Make/O/I/N=1    number_of_lenses        = 28
221                                Make/O/I/N=1    number_of_prisms        = 7
222                                Make/O/D/N=1    curvature       = 1
223                                Make/O/D/N=1    lens_distance   = 123
224                                Make/O/D/N=1    prism_distance  = 123
225                                Make/O/T/N=1    lens_material   = "MgF2"
226                                Make/O/T/N=1    prism_material  = "MgF2"
227                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_table               
228                                Make/O/T/N=1    location        = "chamber"
229                                Make/O/D/N=1    offset_distance = 0
230                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam_stop           
231                                Make/O/T/N=1    description     = "circular"
232                                Make/O/D/N=1    nx_distance     = 12.5
233                                Make/O/D/N=1    size    = 7.62
234                                Make/O/T/N=1    status  = "out"
235                                Make/O/D/N=1    xPos    = 66.4
236                                Make/O/D/N=1    yPos    = 64.4
237                                Make/O/D/N=1    x_motor_position        = 0.15
238                                Make/O/D/N=1    y_motor_position        = 0.55
239                        NewDataFolder/O/S  root:SANS_file:entry1:instrument:detector           
240                                Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q)))
241                                Make/O/D/N=(128,128)    data_error      = 0.01*abs(gnoise(p+q))
242                                Make/O/D/N=1    nx_distance     = 13.1
243                                Make/O/T/N=1    description     = "Ordela 2660N"
244                                Make/O/T/N=1    settings        = "just right"
245                                Make/O/D/N=1    dead_time       = 5e-6
246                                Make/O/D/N=1    x_pixel_size    = 5.08
247                                Make/O/D/N=1    y_pixel_size    = 5.08
248                                Make/O/D/N=1    beam_center_x   = 65.55
249                                Make/O/D/N=1    beam_center_y   = 62.33
250                                Make/O/T/N=1    type    = "Ordela"
251                                Make/O/D/N=1    flatfield_applied       = 0
252                                Make/O/D/N=1    countrate_correction_applied    = 0
253                                Make/O/D/N=(128,128)    pixel_mask      = 0
254                                Make/O/I/N=1    integrated_count        = 100111222
255                                Make/O/D/N=1    lateral_offset  = 20
256                                Make/O/I/N=1    PixelNumX       = 128
257                                Make/O/I/N=1    PixelNumY       = 128
258                                Make/O/D/N=1    PixelFWHM       = 0.5
259                                        //calibration_method   
260                                Make/O/D/N=3    CALX    = {0.5,0.5,10000}
261                                Make/O/D/N=3    CALY    = {0.5,0.5,10000}
262                                Make/O/D/N=1    size    = 65
263                                Make/O/T/N=1    event_file_name ="something.hst"
264                NewDataFolder/O/S  root:SANS_file:entry1:data           
265                        Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q)))
266                        Make/O/D/N=(128,128)    error   = 0.01*abs(gnoise(p+q))
267                        Make/O/D/N=2    variables       = {128,128}
268                        Make/O/I/N=(128,128)    data_image      = p
269                NewDataFolder/O/S  root:SANS_file:entry1:reduction             
270                        Make/O/T/N=1    intent  = "SCATTER"
271                        Make/O/T/N=1    transmission_file_name  = "SANSFile_TRN.h5"
272                        Make/O/T/N=1    empty_beam_file_name    = "SANSFile_EB.h5"
273                        Make/O/T/N=1    background_file_name    = "SANSFile_BKG.h5"
274                        Make/O/T/N=1    empty_file_name = "SANSFile_EMP.h5"
275                        Make/O/T/N=1    sensitivity_file_name   = "SANSFile_DIV.h5"
276                        Make/O/T/N=1    mask_file_name  = "SANSFile_MASK.h5"
277                        Make/O/T/N=1    sans_log_file_name      = "SANSFile_log.txt"
278                        Make/O/D/N=1    whole_trans     = 0.888
279                        Make/O/D/N=1    whole_trans_error       = 0.008
280                        Make/O/D/N=1    box_count       = 23232
281                        Make/O/D/N=1    box_count_error = 22
282                        Make/O/I/N=4    box_coordinates = {50,80,45,75}
283                        Make/O/T/N=1    comments        = "extra data notes"
284                        Make/O/D/N=4    absolute_scaling        = {1,1,1e5,1}
285                        NewDataFolder/O/S  root:SANS_file:entry1:reduction:pol_sans             
286                                Make/O/T/N=1    pol_sans_purpose        = "name from the list"
287                                Make/O/T/N=1    cell_name       = "Burgundy"
288                                Make/O/D/N=(5)  cell_parameters = {1,2,3,4,5}
289                                               
290        NewDataFolder/O/S  root:SANS_file:DAS_Logs             
291                        //...multiple entries and levels... to add     
292
293        SetDataFolder root:
294       
295End
296
297
298
299
300Proc H_Fill_SANS_Attributes()
301
302SetDataFolder  root:SANS_file   
303        Make/O/N=0 Igor___folder_attributes     
304        Note/K Igor___folder_attributes, "producer=IgorPro\rNX_class=NXroot"
305        //      file_name               
306        //      file_time               
307        //      facility               
308        //      NeXus_version           
309        //      hdf_version             
310        //      file_history           
311        SetDataFolder  root:SANS_file:entry1           
312                Make/O/N=0 Igor___folder_attributes     
313                Note/K Igor___folder_attributes, "NX_class=NXentry"
314                //      title           
315                //      experiment_identifier           
316                //      experiment_description         
317                //      entry_identifier               
318                //      definition             
319                //      start_time             
320                //      end_time               
321                //      duration               
322                Note/K duration, "units=s"
323                //      collection_time         
324                Note/K collection_time, "units=s"
325                //      run_cycle               
326                //      intent         
327                //      data_directory         
328                SetDataFolder  root:SANS_file:entry1:user               
329                        Make/O/N=0 Igor___folder_attributes     
330                        Note/K Igor___folder_attributes, "NX_class=NXuser"
331                        //      name           
332                        //      role           
333                        //      affiliation             
334                        //      address         
335                        //      telephoneNumber         
336                        //      faxNumber               
337                        //      email           
338                        //      facility_user_id               
339                SetDataFolder  root:SANS_file:entry1:control           
340                        Make/O/N=0 Igor___folder_attributes     
341                        Note/K Igor___folder_attributes, "NX_class=NXmonitor"
342                        //      mode           
343                        //      preset         
344                        //      integral               
345                        //      monitor_counts         
346                        //      monitor_preset         
347                        //      type           
348                        //      efficiency             
349                        //      sampled_fraction               
350                        //      nominal         
351                        //      data           
352                        //      nx_distance             
353                        Note/K nx_distance, "units=m"
354                        //      detector_counts         
355                        //      detector_preset         
356                        //      detector_mask           
357                SetDataFolder  root:SANS_file:entry1:program_name               
358                        Make/O/N=0 Igor___folder_attributes     
359                        //      data           
360                        //      description             
361                        //      file_name               
362                        //      type           
363                SetDataFolder  root:SANS_file:entry1:sample             
364                        Make/O/N=0 Igor___folder_attributes     
365                        Note/K Igor___folder_attributes, "NX_class=NXsample"
366                        //      name           
367                        //      chemical_formula               
368                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
369                                Make/O/N=0 Igor___folder_attributes     
370                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
371                                //      name           
372                                //      attached_to             
373                                //      measurement             
374                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
375                                        Make/O/N=0 Igor___folder_attributes     
376                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
377                                        //      start           
378                                        //      nx_time         
379                                        Note/K nx_time, "units=s"
380                                        //      value           
381                                        Note/K value, "units=C"
382                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
383                                Make/O/N=0 Igor___folder_attributes     
384                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
385                                //      name           
386                                //      attached_to             
387                                //      measurement             
388                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
389                                        Make/O/N=0 Igor___folder_attributes     
390                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
391                                        //      start           
392                                        //      nx_time         
393                                        Note/K nx_time, "units=s"
394                                        //      value           
395                                        Note/K value, "units=C"
396                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
397                                Make/O/N=0 Igor___folder_attributes     
398                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
399                                //      name           
400                                //      attached_to             
401                                //      measurement             
402                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
403                                        Make/O/N=0 Igor___folder_attributes     
404                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
405                                        //      start           
406                                        //      nx_time         
407                                        Note/K nx_time, "units=s"
408                                        //      value           
409                                        Note/K value, "units=V"
410                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
411                                Make/O/N=0 Igor___folder_attributes     
412                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
413                                //      name           
414                                //      attached_to             
415                                //      measurement             
416                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
417                                        Make/O/N=0 Igor___folder_attributes     
418                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
419                                        //      start           
420                                        //      nx_time         
421                                        Note/K nx_time, "units=s"
422                                        //      value           
423                                        Note/K value, "units=Pa s"
424                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
425                                Make/O/N=0 Igor___folder_attributes     
426                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
427                                //      name           
428                                //      attached_to             
429                                //      measurement             
430                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
431                                        Make/O/N=0 Igor___folder_attributes     
432                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
433                                        //      start           
434                                        //      nx_time         
435                                        Note/K nx_time, "units=s"
436                                        //      value           
437                                        Note/K value, "units=psi"
438                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
439                                Make/O/N=0 Igor___folder_attributes     
440                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
441                                //      name           
442                                //      attached_to             
443                                //      measurement             
444                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
445                                        Make/O/N=0 Igor___folder_attributes     
446                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
447                                        //      start           
448                                        //      nx_time         
449                                        Note/K nx_time, "units=s"
450                                        //      value           
451                                        Note/K value, "units=T"
452                SetDataFolder  root:SANS_file:entry1:sample                     
453                        //      changer_position               
454                        //      sample_holder_description               
455                        //      mass           
456                        Note/K mass, "units=g"
457                        //      density         
458                        Note/K density, "units=g ml-1"
459                        //      molecular_weight               
460                        Note/K molecular_weight, "units=g mol-1"
461                        //      description             
462                        //      preparation_date               
463                        //      volume_fraction         
464                        //      scattering_length_density               
465                        Note/K scattering_length_density, "units=A-2"
466                        //      thickness               
467                        Note/K thickness, "units=cm"
468                        //      rotation_angle         
469                        Note/K rotation_angle, "units=degrees"
470                        //      transmission           
471                        //      transmission_error             
472                        //      xs_incoh               
473                        Note/K xs_incoh, "units=cm-1"
474                        //      xs_coh         
475                        Note/K xs_coh, "units=cm-1"
476                        //      xs_absorb               
477                        Note/K xs_absorb, "units=cm-1"
478                SetDataFolder  root:SANS_file:entry1:instrument         
479                        Make/O/N=0 Igor___folder_attributes     
480                        Note/K Igor___folder_attributes, "NX_class=NXinstrument"
481                        //      location               
482                        //      description             
483                        //      type           
484                        //      local_contact           
485                        SetDataFolder  root:SANS_file:entry1:instrument:source         
486                        Make/O/N=0 Igor___folder_attributes     
487                        Note/K Igor___folder_attributes, "NX_class=NXsource"
488                                //      name           
489                                //      type           
490                                //      probe           
491                                //      power           
492                                Note/K power, "units=MW"
493                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
494                                Make/O/N=0 Igor___folder_attributes     
495                                Note/K Igor___folder_attributes, "NX_class=NXmonitor"
496                                //      data           
497                                //      type           
498                                //      efficiency             
499                                //      nx_distance             
500                                Note/K nx_distance, "units=m"
501                                //      saved_count             
502                        SetDataFolder  root:SANS_file:entry1:instrument:beam           
503                                Make/O/N=0 Igor___folder_attributes     
504                                Note/K Igor___folder_attributes, "NX_class=NXbeam"
505                                SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator             
506                                        Make/O/N=0 Igor___folder_attributes     
507                                        Note/K Igor___folder_attributes, "NX_class=NXmonochromator"
508                                        //      wavelength             
509                                        Note/K wavelength, "units=A"
510                                        //      wavelength_spread               
511                                        SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator:velocity_selector           
512                                                Make/O/N=0 Igor___folder_attributes     
513                                                Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector"
514                                                //      type           
515                                                //      rotation_speed         
516                                                Note/K rotation_speed, "units=RPM"
517                                                //      wavelength             
518                                                Note/K wavelength, "units=A"
519                                                //      wavelength_spread               
520                                                //      vs_tilt         
521                                                Note/K vs_tilt, "units=degrees"
522                                                //      nx_distance             
523                                                Note/K nx_distance, "units=m"
524//                                                      table (//)             
525                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer         
526                                        Make/O/N=0 Igor___folder_attributes     
527                                        //      type           
528                                        //      composition             
529                                        //      efficiency             
530                                        //      status         
531                                SetDataFolder  root:SANS_file:entry1:instrument:beam:flipper           
532                                        Make/O/N=0 Igor___folder_attributes     
533                                        //      status         
534                                        //      driving_current         
535                                        Note/K driving_current, "units=A"
536                                        //      waveform               
537                                        //      frequency               
538                                        Note/K frequency, "units=Hz"
539                                        //      transmitted_power               
540                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer_analyzer         
541                                        Make/O/N=0 Igor___folder_attributes     
542                                        //      status         
543                                        //      guide_field_current_1           
544                                        Note/K guide_field_current_1, "units=A"
545                                        //      guide_field_current_2           
546                                        Note/K guide_field_current_2, "units=A"
547                                        //      solenoid_current               
548                                        Note/K solenoid_current, "units=A"
549                                        //      cell_index             
550                                        //      cell_names             
551                                        //      cell_parameters         
552                                SetDataFolder  root:SANS_file:entry1:instrument:beam:chopper           
553                                        Make/O/N=0 Igor___folder_attributes     
554                                        Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper"
555                                        //      type           
556                                        //      rotation_speed         
557                                        Note/K rotation_speed, "units=RPM"
558                                        //      distance_from_source           
559                                        Note/K distance_from_source, "units=m"
560                                        //      distance_from_sample           
561                                        Note/K distance_from_sample, "units=m"
562                                        //      slits           
563                                        //      angular_opening         
564                                        Note/K angular_opening, "units=degrees"
565                                        //      duty_cycle             
566                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
567                                Make/O/N=0 Igor___folder_attributes     
568                                Note/K Igor___folder_attributes, "NX_class=NXattenuator"
569                                //      nx_distance             
570                                Note/K nx_distance, "units=m"
571                                //      type           
572                                //      thickness               
573                                Note/K thickness, "units=cm"
574                                //      attenuator_transmission         
575                                //      status         
576                                //      atten_number           
577                                //      index           
578                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
579                                Make/O/N=0 Igor___folder_attributes     
580                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
581                                //      material               
582                                //      description             
583                                //      diameter               
584                                Note/K diameter, "units=cm"
585                                //      nx_distance             
586                                Note/K nx_distance, "units=m"
587                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
588                                        Make/O/N=0 Igor___folder_attributes     
589                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
590                                        //      size           
591                                        Note/K size, "units=cm"
592                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
593                                Make/O/N=0 Igor___folder_attributes     
594                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
595                                //      material               
596                                //      description             
597                                //      diameter               
598                                Note/K diameter, "units=cm"
599                                //      nx_distance             
600                                Note/K nx_distance, "units=m"
601                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
602                                        Make/O/N=0 Igor___folder_attributes     
603                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
604                                        //      size           
605                                        Note/K size, "units=cm"
606                SetDataFolder  root:SANS_file:entry1:instrument
607                        //      nx_NumGuides           
608                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
609                                Make/O/N=0 Igor___folder_attributes     
610                                Note/K Igor___folder_attributes, "NX_class=NXxraylens"
611                                //      lens_geometry           
612                                //      focus_type             
613                                //      number_of_lenses               
614                                //      number_of_prisms               
615                                //      curvature               
616                                //      lens_distance           
617                                Note/K lens_distance, "units=m"
618                                //      prism_distance         
619                                Note/K prism_distance, "units=m"
620                                //      lens_material           
621                                //      prism_material         
622                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
623                                Make/O/N=0 Igor___folder_attributes     
624                                //      location               
625                                //      offset_distance         
626                                Note/K offset_distance, "units=cm"
627                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
628                                Make/O/N=0 Igor___folder_attributes     
629                                Note/K Igor___folder_attributes, "NX_class=NXbeam_stop"
630                                //      description             
631                                //      nx_distance             
632                                Note/K nx_distance, "units=m"
633                                //      size           
634                                Note/K size, "units=cm"
635                                //      status         
636                                //      xPos           
637                                //      yPos           
638                                //      x_motor_position               
639                                Note/K x_motor_position, "units=cm"
640                                //      y_motor_position               
641                                Note/K y_motor_position, "units=cm"
642                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
643                                Make/O/N=0 Igor___folder_attributes     
644                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
645                                //      data           
646                                Note/K data, "signal=1"
647                                //      data_error             
648                                //      nx_distance             
649                                Note/K nx_distance, "units=m"
650                                //      description             
651                                //      settings               
652                                //      dead_time               
653                                Note/K dead_time, "units=s"
654                                //      x_pixel_size           
655                                Note/K x_pixel_size, "units=cm"
656                                //      y_pixel_size           
657                                Note/K y_pixel_size, "units=cm"
658                                //      beam_center_x           
659                                //      beam_center_y           
660                                //      type           
661                                //      flatfield_applied               
662                                //      countrate_correction_applied           
663                                //      pixel_mask             
664                                //      integrated_count               
665                                //      lateral_offset         
666                                Note/K lateral_offset, "units=cm"
667                                //      PixelNumX               
668                                //      PixelNumY               
669                                //      PixelFWHM               
670//                                      calibration_method             
671                                //      CALX           
672                                //      CALY           
673                                //      size           
674                                Note/K size, "units=cm"
675                                //      event_file_name         
676                SetDataFolder  root:SANS_file:entry1:data               
677                        Make/O/N=0 Igor___folder_attributes     
678                        Note/K Igor___folder_attributes, "NX_class=NXdata"
679                        //      data           
680                        Note/K data, "signal=1"
681                        //      error           
682                        //      variables               
683                        //      data_image             
684                SetDataFolder  root:SANS_file:entry1:reduction         
685                        Make/O/N=0 Igor___folder_attributes     
686                        //      intent         
687                        //      transmission_file_name         
688                        //      empty_beam_file_name           
689                        //      background_file_name           
690                        //      empty_file_name         
691                        //      sensitivity_file_name           
692                        //      mask_file_name         
693                        //      sans_log_file_name             
694                        //      whole_trans             
695                        //      whole_trans_error               
696                        //      box_count               
697                        //      box_count_error         
698                        //      box_coordinates         
699                        //      comments               
700                        //      absolute_scaling               
701                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
702                                Make/O/N=0 Igor___folder_attributes     
703                                //      pol_sans_purpose               
704                                //      cell_name               
705                                //      cell_parameters         
706                                                       
707        SetDataFolder  root:SANS_file:DAS_Logs         
708                Make/O/N=0 Igor___folder_attributes     
709                Note/K Igor___folder_attributes, "NX_class=NXlog"
710//                      ...multiple entries and levels... to add       
711
712        SetDataFolder root:     
713
714End
715
716//
717// this is NOT linked in any way with SASCALC, and I have no idea
718// of how to ever keep this in sync if the Nexus tree changes...
719//
720Proc H_Fill_SANS_wSim()
721
722        SetDataFolder  root:SANS_file   
723                file_name       = "SANSTest.h5"
724                file_time       = "2015-02-28T08:15:30-5:00"
725                facility        = "NCNR"
726                NeXus_version   = "Nexus 0.0"
727                hdf_version     = "hdf5.x"
728                file_history    = "history log"
729        SetDataFolder  root:SANS_file:entry1           
730                        title   = "title of entry1"
731                        experiment_identifier   = 684636
732                        experiment_description  = "description of expt"
733                        entry_identifier        = "S22-33"
734                        definition      = "NXsas"
735                        start_time      = "2015-02-28T08:15:30-5:00"
736                        end_time        = "2015-02-28T08:15:30-5:00"
737                        duration        = 300
738                        collection_time = 300
739                        run_cycle       = "S22-23"
740                        intent  = "RAW"
741                        data_directory  = "[NG7SANS41]"
742                SetDataFolder  root:SANS_file:entry1:user               
743                                name    = "Dr. Pi"
744                                role    = "evil scientist"
745                                affiliation     = "NIST"
746                                address = "100 Bureau Drive"
747                                telephoneNumber = "301-999-9999"
748                                faxNumber       = "301-999-9999"
749                                email   = "sans@nist"
750                                facility_user_id        = 6937596
751                SetDataFolder  root:SANS_file:entry1:control           
752                                mode    = "timer"
753                                preset  = 555
754                                integral        = 555
755                                monitor_counts  = 666
756                                monitor_preset  = 1e8
757                                type    = "monitor type"
758                                efficiency      = 0.01
759                                sampled_fraction        = 1
760                                nominal = 1e8
761                                data    = 1
762                                nx_distance     = 13.1
763                                detector_counts = 100111222
764                                detector_preset = 1e5
765                                detector_mask   = 1
766                SetDataFolder  root:SANS_file:entry1:program_name               
767                                data    = "program data"
768                                description     = "acquisition"
769                                file_name       = "NICE"
770                                type    = "client"
771                SetDataFolder  root:SANS_file:entry1:sample             
772                                name    = "My Sample"
773                                chemical_formula        = "C8H10N4O2"
774                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
775                                        name    = "Sample temperature"
776                                        attached_to     = "block"
777                                        measurement     = "temperature"
778                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
779                                                start   = "2015-02-28T08:15:30-5:00"
780                                                nx_time = p
781                                                value   = 2*p
782                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
783                                        name    = "Sample temperature"
784                                        attached_to     = "block"
785                                        measurement     = "temperature"
786                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
787                                                start   = "2015-02-28T08:15:30-5:00"
788                                                nx_time = p
789                                                value   = 3*p
790                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
791                                        name    = "electric meter"
792                                        attached_to     = "sample"
793                                        measurement     = "voltage"
794                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
795                                                start   = "2015-02-28T08:15:30-5:00"
796                                                nx_time = 2*p
797                                                value   = sin(p/10)
798                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
799                                        name    = "rheometer"
800                                        attached_to     = "sample"
801                                        measurement     = "stress"
802                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
803                                                start   = "2015-02-28T08:15:30-5:00"
804                                                nx_time = p
805                                                value   = cos(p/5)
806                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
807                                        name    = "Sample pressure"
808                                        attached_to     = "pressure cell"
809                                        measurement     = "pressure"
810                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
811                                                start   = "2015-02-28T08:15:30-5:00"
812                                                nx_time = p
813                                                value   = p/2
814                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
815                                        name    = "magnetic field (direction)"
816                                        attached_to     = "cryostat"
817                                        measurement     = "magnetic field"
818                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
819                                                start   = "2015-02-28T08:15:30-5:00"
820                                                nx_time = p
821                                                value   = 10*p
822                        SetDataFolder  root:SANS_file:entry1:sample             
823                                changer_position        = 5
824                                sample_holder_description       = "10CB"
825                                mass    = 0.3
826                                density = 1.02
827                                molecular_weight        = 194.19
828                                description     = "My Sample"
829                                preparation_date        = "2015-02-28T08:15:30-5:00"
830                                volume_fraction = 0.2
831                                scattering_length_density       = 6.35e-6
832                                thickness       = 0.1
833                                rotation_angle  = 30
834                                transmission    = 0.888
835                                transmission_error      = 0.011
836                                xs_incoh        = 5.5
837                                xs_coh  = 22.2
838                                xs_absorb       = 3.1
839                SetDataFolder  root:SANS_file:entry1:instrument         
840                                location        = "NCNR"
841                                description     = "NGB30mSANS"
842                                type    = "30 m SANS"
843                                local_contact   = "Steve Kline"
844                        SetDataFolder  root:SANS_file:entry1:instrument:source         
845                                        name    = "NCNR"
846                                        type    = "Reactor Neutron Source"
847                                        probe   = "neutron"
848                                        power   = 20
849                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
850                                        data    = 1234567
851                                        type    = "monitor"
852                                        efficiency      = 0.01
853                                        nx_distance     = 16
854                                        saved_count     = 1e8
855                        SetDataFolder  root:SANS_file:entry1:instrument:beam   
856                                SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator             
857                                                wavelength      = 6
858                                                wavelength_spread       = 0.15
859                                        SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator:velocity_selector           
860                                                        type    = "VS"
861                                                        rotation_speed  = 5100
862                                                        wavelength      = 6
863                                                        wavelength_spread       = 0.15
864                                                        vs_tilt = 3
865                                                        nx_distance     = 18.8
866                                                        //table ()     
867                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer         
868                                                type    = "supermirror"
869                                                composition     = "multilayer"
870                                                efficiency      = 0.95
871                                                status  = "in"
872                                SetDataFolder  root:SANS_file:entry1:instrument:beam:flipper           
873                                                status  = "on"
874                                                driving_current = 42
875                                                waveform        = "sine"
876                                                frequency       = 400
877                                                transmitted_power       = 0.99
878                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer_analyzer         
879                                                status  = "down"
880                                                guide_field_current_1   = 33
881                                                guide_field_current_2   = 32
882                                                solenoid_current        = 21
883                                                cell_index      = 1
884                                                cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
885                                                cell_parameters = 1
886                                SetDataFolder  root:SANS_file:entry1:instrument:beam:chopper           
887                                                type    = "single"
888                                                rotation_speed  = 12000
889                                                distance_from_source    = 400
890                                                distance_from_sample    = 1500
891                                                slits   = 2
892                                                angular_opening = 15
893                                                duty_cycle      = 0.25
894                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
895                                        nx_distance     = 1500
896                                        type    = "PMMA"
897                                        thickness       = 0
898                                        attenuator_transmission = 1
899                                        status  = "in"
900                                        atten_number    = 0
901                                        index   = 1
902                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
903                                        material        = "Gd"
904                                        description     = "source aperture"
905                                        diameter        = 1.27
906                                        nx_distance     = 13.0
907                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
908                                                size    = 1.27
909                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
910                                        material        = "Gd"
911                                        description     = "sample aperture"
912                                        diameter        = 1.27
913                                        nx_distance     = 10
914                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
915                                                size    = 1.27
916                        SetDataFolder  root:SANS_file:entry1:instrument         
917                                nx_NumGuides    = 1
918                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
919                                        lens_geometry   = "concave_lens"
920                                        focus_type      = "point"
921                                        number_of_lenses        = 28
922                                        number_of_prisms        = 7
923                                        curvature       = 1
924                                        lens_distance   = 123
925                                        prism_distance  = 123
926                                        lens_material   = "MgF2"
927                                        prism_material  = "MgF2"
928                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
929                                        location        = "chamber"
930                                        offset_distance = 0
931                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
932                                        description     = "circular"
933                                        nx_distance     = 12.5
934                                        size    = 7.62
935                                        status  = "out"
936                                        xPos    = 66.4
937                                        yPos    = 64.4
938                                        x_motor_position        = 0.15
939                                        y_motor_position        = 0.55
940                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
941                                        data    = trunc(abs(gnoise(p+q)))
942                                        data_error      = 0.01*abs(gnoise(p+q))
943                                        nx_distance     = 13.1
944                                        description     = "Ordela 2660N"
945                                        settings        = "just right"
946                                        dead_time       = 5e-6
947                                        x_pixel_size    = 5.08
948                                        y_pixel_size    = 5.08
949                                        beam_center_x   = 65.55
950                                        beam_center_y   = 62.33
951                                        type    = "Ordela"
952                                        flatfield_applied       = 0
953                                        countrate_correction_applied    = 0
954                                        pixel_mask      = 0
955                                        integrated_count        = 100111222
956                                        lateral_offset  = 20
957                                        PixelNumX       = 128
958                                        PixelNumY       = 128
959                                        PixelFWHM       = 0.5
960                                        //calibration_method   
961                                        CALX    = {0.5,0.5,10000}
962                                        CALY    = {0.5,0.5,10000}
963                                        size    = 65
964                                        event_file_name ="something.hst"
965                SetDataFolder  root:SANS_file:entry1:data               
966                                data    = trunc(abs(gnoise(p+q)))
967                                error   = 0.01*abs(gnoise(p+q))
968                                variables       = {128,128}
969                                data_image      = p
970                SetDataFolder  root:SANS_file:entry1:reduction         
971                                intent  = "SCATTER"
972                                transmission_file_name  = "SANSFile_TRN.h5"
973                                empty_beam_file_name    = "SANSFile_EB.h5"
974                                background_file_name    = "SANSFile_BKG.h5"
975                                empty_file_name = "SANSFile_EMP.h5"
976                                sensitivity_file_name   = "SANSFile_DIV.h5"
977                                mask_file_name  = "SANSFile_MASK.h5"
978                                sans_log_file_name      = "SANSFile_log.txt"
979                                whole_trans     = 0.888
980                                whole_trans_error       = 0.008
981                                box_count       = 23232
982                                box_count_error = 22
983                                box_coordinates = {50,80,45,75}
984                                comments        = "extra data comments"
985                                absolute_scaling        = {1,1,1e5,1}
986                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
987                                        pol_sans_purpose        = "name from the list"
988                                        cell_name       = "Burgundy"
989                                        cell_parameters = {1,2,3,4,5}
990                                               
991        SetDataFolder  root:SANS_file:DAS_Logs         
992                        //...multiple entries and levels... to add     
993
994        SetDataFolder root:
995
996End
997
998
999
Note: See TracBrowser for help on using the repository browser.