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

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

another iteration of the proposed Nexus file structure for SANS and VSANS

added 2D fit function to be able to fit the pixel beam center for an arc on the detector. this is still in a rudimentary form, but is somewhat functional.

File size: 33.8 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    program_name    = "runPoint={'stuff'}"
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    detector_counts = 100111222
60                        Make/O/D/N=1    detector_preset = 1e5
61                        Make/O/D/N=1    count_start     = 1
62                        Make/O/D/N=1    count_end       = 1
63                        Make/O/D/N=1    count_time      = 1
64                        Make/O/D/N=1    count_time_preset       = 1
65                NewDataFolder/O/S  root:SANS_file:entry1:program_data           
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                //      data_directory
327                //      program_name   
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                        //      detector_counts         
351                        //      detector_preset
352                        //      count_start
353                        Note/K count_start, "units=s"
354                        //      count_end
355                        Note/K count_end, "units=s"
356                        //      count_time
357                        Note/K count_time, "units=s"
358                        //      count_time_preset
359                        Note/K count_time_preset, "units=s"
360                SetDataFolder  root:SANS_file:entry1:program_data               
361                        Make/O/N=0 Igor___folder_attributes     
362                        //      data           
363                        //      description             
364                        //      file_name               
365                        //      type           
366                SetDataFolder  root:SANS_file:entry1:sample             
367                        Make/O/N=0 Igor___folder_attributes     
368                        Note/K Igor___folder_attributes, "NX_class=NXsample"
369                        //      name           
370                        //      chemical_formula               
371                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
372                                Make/O/N=0 Igor___folder_attributes     
373                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
374                                //      name           
375                                //      attached_to             
376                                //      measurement             
377                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
378                                        Make/O/N=0 Igor___folder_attributes     
379                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
380                                        //      start           
381                                        //      nx_time         
382                                        Note/K nx_time, "units=s"
383                                        //      value           
384                                        Note/K value, "units=C"
385                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
386                                Make/O/N=0 Igor___folder_attributes     
387                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
388                                //      name           
389                                //      attached_to             
390                                //      measurement             
391                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
392                                        Make/O/N=0 Igor___folder_attributes     
393                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
394                                        //      start           
395                                        //      nx_time         
396                                        Note/K nx_time, "units=s"
397                                        //      value           
398                                        Note/K value, "units=C"
399                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
400                                Make/O/N=0 Igor___folder_attributes     
401                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
402                                //      name           
403                                //      attached_to             
404                                //      measurement             
405                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
406                                        Make/O/N=0 Igor___folder_attributes     
407                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
408                                        //      start           
409                                        //      nx_time         
410                                        Note/K nx_time, "units=s"
411                                        //      value           
412                                        Note/K value, "units=V"
413                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
414                                Make/O/N=0 Igor___folder_attributes     
415                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
416                                //      name           
417                                //      attached_to             
418                                //      measurement             
419                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
420                                        Make/O/N=0 Igor___folder_attributes     
421                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
422                                        //      start           
423                                        //      nx_time         
424                                        Note/K nx_time, "units=s"
425                                        //      value           
426                                        Note/K value, "units=Pa s"
427                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
428                                Make/O/N=0 Igor___folder_attributes     
429                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
430                                //      name           
431                                //      attached_to             
432                                //      measurement             
433                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
434                                        Make/O/N=0 Igor___folder_attributes     
435                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
436                                        //      start           
437                                        //      nx_time         
438                                        Note/K nx_time, "units=s"
439                                        //      value           
440                                        Note/K value, "units=psi"
441                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
442                                Make/O/N=0 Igor___folder_attributes     
443                                Note/K Igor___folder_attributes, "NX_class=NXsensor"
444                                //      name           
445                                //      attached_to             
446                                //      measurement             
447                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
448                                        Make/O/N=0 Igor___folder_attributes     
449                                        Note/K Igor___folder_attributes, "NX_class=NXlog"
450                                        //      start           
451                                        //      nx_time         
452                                        Note/K nx_time, "units=s"
453                                        //      value           
454                                        Note/K value, "units=T"
455                SetDataFolder  root:SANS_file:entry1:sample                     
456                        //      changer_position               
457                        //      sample_holder_description               
458                        //      mass           
459                        Note/K mass, "units=g"
460                        //      density         
461                        Note/K density, "units=g ml-1"
462                        //      molecular_weight               
463                        Note/K molecular_weight, "units=g mol-1"
464                        //      description             
465                        //      preparation_date               
466                        //      volume_fraction         
467                        //      scattering_length_density               
468                        Note/K scattering_length_density, "units=A-2"
469                        //      thickness               
470                        Note/K thickness, "units=cm"
471                        //      rotation_angle         
472                        Note/K rotation_angle, "units=degrees"
473                        //      transmission           
474                        //      transmission_error             
475                        //      xs_incoh               
476                        Note/K xs_incoh, "units=cm-1"
477                        //      xs_coh         
478                        Note/K xs_coh, "units=cm-1"
479                        //      xs_absorb               
480                        Note/K xs_absorb, "units=cm-1"
481                SetDataFolder  root:SANS_file:entry1:instrument         
482                        Make/O/N=0 Igor___folder_attributes     
483                        Note/K Igor___folder_attributes, "NX_class=NXinstrument"
484                        //      location               
485                        //      description             
486                        //      type           
487                        //      local_contact           
488                        SetDataFolder  root:SANS_file:entry1:instrument:source         
489                        Make/O/N=0 Igor___folder_attributes     
490                        Note/K Igor___folder_attributes, "NX_class=NXsource"
491                                //      name           
492                                //      type           
493                                //      probe           
494                                //      power           
495                                Note/K power, "units=MW"
496                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
497                                Make/O/N=0 Igor___folder_attributes     
498                                Note/K Igor___folder_attributes, "NX_class=NXmonitor"
499                                //      data           
500                                //      type           
501                                //      efficiency             
502                                //      nx_distance             
503                                Note/K nx_distance, "units=m"
504                                //      saved_count             
505                        SetDataFolder  root:SANS_file:entry1:instrument:beam           
506                                Make/O/N=0 Igor___folder_attributes     
507                                Note/K Igor___folder_attributes, "NX_class=NXbeam"
508                                SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator             
509                                        Make/O/N=0 Igor___folder_attributes     
510                                        Note/K Igor___folder_attributes, "NX_class=NXmonochromator"
511                                        //      wavelength             
512                                        Note/K wavelength, "units=A"
513                                        //      wavelength_spread               
514                                        SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator:velocity_selector           
515                                                Make/O/N=0 Igor___folder_attributes     
516                                                Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector"
517                                                //      type           
518                                                //      rotation_speed         
519                                                Note/K rotation_speed, "units=RPM"
520                                                //      wavelength             
521                                                Note/K wavelength, "units=A"
522                                                //      wavelength_spread               
523                                                //      vs_tilt         
524                                                Note/K vs_tilt, "units=degrees"
525                                                //      nx_distance             
526                                                Note/K nx_distance, "units=m"
527//                                                      table (//)             
528                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer         
529                                        Make/O/N=0 Igor___folder_attributes     
530                                        //      type           
531                                        //      composition             
532                                        //      efficiency             
533                                        //      status         
534                                SetDataFolder  root:SANS_file:entry1:instrument:beam:flipper           
535                                        Make/O/N=0 Igor___folder_attributes     
536                                        //      status         
537                                        //      driving_current         
538                                        Note/K driving_current, "units=A"
539                                        //      waveform               
540                                        //      frequency               
541                                        Note/K frequency, "units=Hz"
542                                        //      transmitted_power               
543                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer_analyzer         
544                                        Make/O/N=0 Igor___folder_attributes     
545                                        //      status         
546                                        //      guide_field_current_1           
547                                        Note/K guide_field_current_1, "units=A"
548                                        //      guide_field_current_2           
549                                        Note/K guide_field_current_2, "units=A"
550                                        //      solenoid_current               
551                                        Note/K solenoid_current, "units=A"
552                                        //      cell_index             
553                                        //      cell_names             
554                                        //      cell_parameters         
555                                SetDataFolder  root:SANS_file:entry1:instrument:beam:chopper           
556                                        Make/O/N=0 Igor___folder_attributes     
557                                        Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper"
558                                        //      type           
559                                        //      rotation_speed         
560                                        Note/K rotation_speed, "units=RPM"
561                                        //      distance_from_source           
562                                        Note/K distance_from_source, "units=m"
563                                        //      distance_from_sample           
564                                        Note/K distance_from_sample, "units=m"
565                                        //      slits           
566                                        //      angular_opening         
567                                        Note/K angular_opening, "units=degrees"
568                                        //      duty_cycle             
569                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
570                                Make/O/N=0 Igor___folder_attributes     
571                                Note/K Igor___folder_attributes, "NX_class=NXattenuator"
572                                //      nx_distance             
573                                Note/K nx_distance, "units=m"
574                                //      type           
575                                //      thickness               
576                                Note/K thickness, "units=cm"
577                                //      attenuator_transmission         
578                                //      status         
579                                //      atten_number           
580                                //      index           
581                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
582                                Make/O/N=0 Igor___folder_attributes     
583                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
584                                //      material               
585                                //      description             
586                                //      diameter               
587                                Note/K diameter, "units=cm"
588                                //      nx_distance             
589                                Note/K nx_distance, "units=m"
590                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
591                                        Make/O/N=0 Igor___folder_attributes     
592                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
593                                        //      size           
594                                        Note/K size, "units=cm"
595                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
596                                Make/O/N=0 Igor___folder_attributes     
597                                Note/K Igor___folder_attributes, "NX_class=NXaperture"
598                                //      material               
599                                //      description             
600                                //      diameter               
601                                Note/K diameter, "units=cm"
602                                //      nx_distance             
603                                Note/K nx_distance, "units=m"
604                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
605                                        Make/O/N=0 Igor___folder_attributes     
606                                        Note/K Igor___folder_attributes, "NX_class=NXshape"
607                                        //      size           
608                                        Note/K size, "units=cm"
609                SetDataFolder  root:SANS_file:entry1:instrument
610                        //      nx_NumGuides           
611                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
612                                Make/O/N=0 Igor___folder_attributes     
613                                Note/K Igor___folder_attributes, "NX_class=NXxraylens"
614                                //      lens_geometry           
615                                //      focus_type             
616                                //      number_of_lenses               
617                                //      number_of_prisms               
618                                //      curvature               
619                                //      lens_distance           
620                                Note/K lens_distance, "units=m"
621                                //      prism_distance         
622                                Note/K prism_distance, "units=m"
623                                //      lens_material           
624                                //      prism_material         
625                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
626                                Make/O/N=0 Igor___folder_attributes     
627                                //      location               
628                                //      offset_distance         
629                                Note/K offset_distance, "units=cm"
630                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
631                                Make/O/N=0 Igor___folder_attributes     
632                                Note/K Igor___folder_attributes, "NX_class=NXbeam_stop"
633                                //      description             
634                                //      nx_distance             
635                                Note/K nx_distance, "units=m"
636                                //      size           
637                                Note/K size, "units=cm"
638                                //      status         
639                                //      xPos           
640                                //      yPos           
641                                //      x_motor_position               
642                                Note/K x_motor_position, "units=cm"
643                                //      y_motor_position               
644                                Note/K y_motor_position, "units=cm"
645                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
646                                Make/O/N=0 Igor___folder_attributes     
647                                Note/K Igor___folder_attributes, "NX_class=NXdetector"
648                                //      data           
649                                Note/K data, "signal=1"
650                                //      data_error             
651                                //      nx_distance             
652                                Note/K nx_distance, "units=m"
653                                //      description             
654                                //      settings               
655                                //      dead_time               
656                                Note/K dead_time, "units=s"
657                                //      x_pixel_size           
658                                Note/K x_pixel_size, "units=cm"
659                                //      y_pixel_size           
660                                Note/K y_pixel_size, "units=cm"
661                                //      beam_center_x           
662                                //      beam_center_y           
663                                //      type           
664                                //      flatfield_applied               
665                                //      countrate_correction_applied           
666                                //      pixel_mask             
667                                //      integrated_count               
668                                //      lateral_offset         
669                                Note/K lateral_offset, "units=cm"
670                                //      PixelNumX               
671                                //      PixelNumY               
672                                //      PixelFWHM               
673//                                      calibration_method             
674                                //      CALX           
675                                //      CALY           
676                                //      size           
677                                Note/K size, "units=cm"
678                                //      event_file_name         
679                SetDataFolder  root:SANS_file:entry1:data               
680                        Make/O/N=0 Igor___folder_attributes     
681                        Note/K Igor___folder_attributes, "NX_class=NXdata"
682                        //      data           
683                        Note/K data, "signal=1"
684                        //      error           
685                        //      variables               
686                        //      data_image             
687                SetDataFolder  root:SANS_file:entry1:reduction         
688                        Make/O/N=0 Igor___folder_attributes     
689                        //      intent         
690                        //      transmission_file_name         
691                        //      empty_beam_file_name           
692                        //      background_file_name           
693                        //      empty_file_name         
694                        //      sensitivity_file_name           
695                        //      mask_file_name         
696                        //      sans_log_file_name             
697                        //      whole_trans             
698                        //      whole_trans_error               
699                        //      box_count               
700                        //      box_count_error         
701                        //      box_coordinates         
702                        //      comments               
703                        //      absolute_scaling               
704                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
705                                Make/O/N=0 Igor___folder_attributes     
706                                //      pol_sans_purpose               
707                                //      cell_name               
708                                //      cell_parameters         
709                                                       
710        SetDataFolder  root:SANS_file:DAS_Logs         
711                Make/O/N=0 Igor___folder_attributes     
712                Note/K Igor___folder_attributes, "NX_class=NXlog"
713//                      ...multiple entries and levels... to add       
714
715        SetDataFolder root:     
716
717End
718
719//
720// this is NOT linked in any way with SASCALC, and I have no idea
721// of how to ever keep this in sync if the Nexus tree changes...
722//
723Proc H_Fill_SANS_wSim()
724
725        SetDataFolder  root:SANS_file   
726                file_name       = "SANSTest.h5"
727                file_time       = "2015-02-28T08:15:30-5:00"
728                facility        = "NCNR"
729                NeXus_version   = "Nexus 0.0"
730                hdf_version     = "hdf5.x"
731                file_history    = "history log"
732        SetDataFolder  root:SANS_file:entry1           
733                        title   = "title of entry1"
734                        experiment_identifier   = 684636
735                        experiment_description  = "description of expt"
736                        entry_identifier        = "S22-33"
737                        definition      = "NXsas"
738                        start_time      = "2015-02-28T08:15:30-5:00"
739                        end_time        = "2015-02-28T08:15:30-5:00"
740                        duration        = 300
741                        collection_time = 300
742                        run_cycle       = "S22-23"
743                        program_name    = "runPoint={stuff}"
744                        data_directory  = "[NG7SANS41]"
745                SetDataFolder  root:SANS_file:entry1:user               
746                                name    = "Dr. Pi"
747                                role    = "evil scientist"
748                                affiliation     = "NIST"
749                                address = "100 Bureau Drive"
750                                telephoneNumber = "301-999-9999"
751                                faxNumber       = "301-999-9999"
752                                email   = "sans@nist"
753                                facility_user_id        = 6937596
754                SetDataFolder  root:SANS_file:entry1:control           
755                                mode    = "timer"
756                                preset  = 555
757                                integral        = 555
758                                monitor_counts  = 666
759                                monitor_preset  = 1e8
760                                type    = "monitor type"
761                                efficiency      = 0.01
762                                sampled_fraction        = 1
763                                detector_counts = 100111222
764                                detector_preset = 1e5
765                                count_start = 1
766                                count_end = 1
767                                count_time = 1
768                                count_time_preset = 1
769                SetDataFolder  root:SANS_file:entry1:program_data               
770                                data    = "program data"
771                                description     = "acquisition"
772                                file_name       = "NICE"
773                                type    = "client"
774                SetDataFolder  root:SANS_file:entry1:sample             
775                                name    = "My Sample"
776                                chemical_formula        = "C8H10N4O2"
777                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
778                                        name    = "Sample temperature"
779                                        attached_to     = "block"
780                                        measurement     = "temperature"
781                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
782                                                start   = "2015-02-28T08:15:30-5:00"
783                                                nx_time = p
784                                                value   = 2*p
785                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
786                                        name    = "Sample temperature"
787                                        attached_to     = "block"
788                                        measurement     = "temperature"
789                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
790                                                start   = "2015-02-28T08:15:30-5:00"
791                                                nx_time = p
792                                                value   = 3*p
793                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
794                                        name    = "electric meter"
795                                        attached_to     = "sample"
796                                        measurement     = "voltage"
797                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
798                                                start   = "2015-02-28T08:15:30-5:00"
799                                                nx_time = 2*p
800                                                value   = sin(p/10)
801                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
802                                        name    = "rheometer"
803                                        attached_to     = "sample"
804                                        measurement     = "stress"
805                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
806                                                start   = "2015-02-28T08:15:30-5:00"
807                                                nx_time = p
808                                                value   = cos(p/5)
809                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
810                                        name    = "Sample pressure"
811                                        attached_to     = "pressure cell"
812                                        measurement     = "pressure"
813                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
814                                                start   = "2015-02-28T08:15:30-5:00"
815                                                nx_time = p
816                                                value   = p/2
817                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
818                                        name    = "magnetic field (direction)"
819                                        attached_to     = "cryostat"
820                                        measurement     = "magnetic field"
821                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
822                                                start   = "2015-02-28T08:15:30-5:00"
823                                                nx_time = p
824                                                value   = 10*p
825                        SetDataFolder  root:SANS_file:entry1:sample             
826                                changer_position        = 5
827                                sample_holder_description       = "10CB"
828                                mass    = 0.3
829                                density = 1.02
830                                molecular_weight        = 194.19
831                                description     = "My Sample"
832                                preparation_date        = "2015-02-28T08:15:30-5:00"
833                                volume_fraction = 0.2
834                                scattering_length_density       = 6.35e-6
835                                thickness       = 0.1
836                                rotation_angle  = 30
837                                transmission    = 0.888
838                                transmission_error      = 0.011
839                                xs_incoh        = 5.5
840                                xs_coh  = 22.2
841                                xs_absorb       = 3.1
842                SetDataFolder  root:SANS_file:entry1:instrument         
843                                location        = "NCNR"
844                                description     = "NGB30mSANS"
845                                type    = "30 m SANS"
846                                local_contact   = "Steve Kline"
847                        SetDataFolder  root:SANS_file:entry1:instrument:source         
848                                        name    = "NCNR"
849                                        type    = "Reactor Neutron Source"
850                                        probe   = "neutron"
851                                        power   = 20
852                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
853                                        data    = 1234567
854                                        type    = "monitor"
855                                        efficiency      = 0.01
856                                        nx_distance     = 16
857                                        saved_count     = 1e8
858                        SetDataFolder  root:SANS_file:entry1:instrument:beam   
859                                SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator             
860                                                wavelength      = 6
861                                                wavelength_spread       = 0.15
862                                        SetDataFolder  root:SANS_file:entry1:instrument:beam:monochromator:velocity_selector           
863                                                        type    = "VS"
864                                                        rotation_speed  = 5100
865                                                        wavelength      = 6
866                                                        wavelength_spread       = 0.15
867                                                        vs_tilt = 3
868                                                        nx_distance     = 18.8
869                                                        //table ()     
870                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer         
871                                                type    = "supermirror"
872                                                composition     = "multilayer"
873                                                efficiency      = 0.95
874                                                status  = "in"
875                                SetDataFolder  root:SANS_file:entry1:instrument:beam:flipper           
876                                                status  = "on"
877                                                driving_current = 42
878                                                waveform        = "sine"
879                                                frequency       = 400
880                                                transmitted_power       = 0.99
881                                SetDataFolder  root:SANS_file:entry1:instrument:beam:polarizer_analyzer         
882                                                status  = "down"
883                                                guide_field_current_1   = 33
884                                                guide_field_current_2   = 32
885                                                solenoid_current        = 21
886                                                cell_index      = 1
887                                                cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
888                                                cell_parameters = 1
889                                SetDataFolder  root:SANS_file:entry1:instrument:beam:chopper           
890                                                type    = "single"
891                                                rotation_speed  = 12000
892                                                distance_from_source    = 400
893                                                distance_from_sample    = 1500
894                                                slits   = 2
895                                                angular_opening = 15
896                                                duty_cycle      = 0.25
897                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
898                                        nx_distance     = 1500
899                                        type    = "PMMA"
900                                        thickness       = 0
901                                        attenuator_transmission = 1
902                                        status  = "in"
903                                        atten_number    = 0
904                                        index   = 1
905                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
906                                        material        = "Gd"
907                                        description     = "source aperture"
908                                        diameter        = 1.27
909                                        nx_distance     = 13.0
910                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
911                                                size    = 1.27
912                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
913                                        material        = "Gd"
914                                        description     = "sample aperture"
915                                        diameter        = 1.27
916                                        nx_distance     = 10
917                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
918                                                size    = 1.27
919                        SetDataFolder  root:SANS_file:entry1:instrument         
920                                nx_NumGuides    = 1
921                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
922                                        lens_geometry   = "concave_lens"
923                                        focus_type      = "point"
924                                        number_of_lenses        = 28
925                                        number_of_prisms        = 7
926                                        curvature       = 1
927                                        lens_distance   = 123
928                                        prism_distance  = 123
929                                        lens_material   = "MgF2"
930                                        prism_material  = "MgF2"
931                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
932                                        location        = "chamber"
933                                        offset_distance = 0
934                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
935                                        description     = "circular"
936                                        nx_distance     = 12.5
937                                        size    = 7.62
938                                        status  = "out"
939                                        xPos    = 66.4
940                                        yPos    = 64.4
941                                        x_motor_position        = 0.15
942                                        y_motor_position        = 0.55
943                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
944                                        data    = trunc(abs(gnoise(p+q)))
945                                        data_error      = 0.01*abs(gnoise(p+q))
946                                        nx_distance     = 13.1
947                                        description     = "Ordela 2660N"
948                                        settings        = "just right"
949                                        dead_time       = 5e-6
950                                        x_pixel_size    = 5.08
951                                        y_pixel_size    = 5.08
952                                        beam_center_x   = 65.55
953                                        beam_center_y   = 62.33
954                                        type    = "Ordela"
955                                        flatfield_applied       = 0
956                                        countrate_correction_applied    = 0
957                                        pixel_mask      = 0
958                                        integrated_count        = 100111222
959                                        lateral_offset  = 20
960                                        PixelNumX       = 128
961                                        PixelNumY       = 128
962                                        PixelFWHM       = 0.5
963                                        //calibration_method   
964                                        CALX    = {0.5,0.5,10000}
965                                        CALY    = {0.5,0.5,10000}
966                                        size    = 65
967                                        event_file_name ="something.hst"
968                SetDataFolder  root:SANS_file:entry1:data               
969                                data    = trunc(abs(gnoise(p+q)))
970                                error   = 0.01*abs(gnoise(p+q))
971                                variables       = {128,128}
972                                data_image      = p
973                SetDataFolder  root:SANS_file:entry1:reduction         
974                                intent  = "SCATTER"
975                                transmission_file_name  = "SANSFile_TRN.h5"
976                                empty_beam_file_name    = "SANSFile_EB.h5"
977                                background_file_name    = "SANSFile_BKG.h5"
978                                empty_file_name = "SANSFile_EMP.h5"
979                                sensitivity_file_name   = "SANSFile_DIV.h5"
980                                mask_file_name  = "SANSFile_MASK.h5"
981                                sans_log_file_name      = "SANSFile_log.txt"
982                                whole_trans     = 0.888
983                                whole_trans_error       = 0.008
984                                box_count       = 23232
985                                box_count_error = 22
986                                box_coordinates = {50,80,45,75}
987                                comments        = "extra data comments"
988                                absolute_scaling        = {1,1,1e5,1}
989                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
990                                        pol_sans_purpose        = "name from the list"
991                                        cell_name       = "Burgundy"
992                                        cell_parameters = {1,2,3,4,5}
993                                               
994        SetDataFolder  root:SANS_file:DAS_Logs         
995                        //...multiple entries and levels... to add     
996
997        SetDataFolder root:
998
999End
1000
1001
1002
Note: See TracBrowser for help on using the repository browser.